В предыдущей статье («QUADStor — виртуальная система хранения«) мы познакомились с виртуальной системой хранения данных от компании QUADStor. Настало время испытать ее в работе. QUADStor — виртуальная система хранения данных, которая использует в своей работе основу из операционной системы Linyx либо FreeBSD. В нашем исследовании мы будем использовать CentOS.
1. Установка QUADStor
Предварительно на моем демо-стенде был развернут CentOS с минимальными системными требованиями:
- Multicore/MultiCPU Intel/AMD Processor system
- 4 Гб оперативной памяти (8 ГБ для NAS)
- FreeBSD 8.2 / 9.0 релиз для x86_64 / архитектура AMD64 или
- RHEL/Centos 5.x/ 6.x, SLES 11 SP1/SP2 или Debian 6.0x для x86_64 / архитектуры AMD64
- QLogic 24xx / 25xx HBA для подключения Fiber Channel
- 1/10 порты Gb Ethernet для подключения ISCSI
- Apache HTTPD
Так же необходимо иметь на порту следующие пакеты:
- gcc
- kernel-devel
- make
- sg3_utils
Скачаем последний дистрибутив QUADStor с официального сайта: http://www.quadstor.com/storage-virtualization-enterprise-edition-downloads.html и положим его на сервер CentOS.
Установим его командой rpm -ivh quadstor-virt-3.1.76-rhel.x86_64.rpm
При установке QUADStor создает свою директорию в корне системы /quadstor, где хранит все свои файлы и базу данных метаданных. В папке /var/www/html так же создана папка quadstor, где находятся необходимые файлы для работы консоли управления.
На этом процесс установки QUADStor завершен. Перейдем к его настройке.
2. Настройка Apache
Перейдем к настройке нашего веб сервера. Изначально веб доступ к консоли управления не имеет никакой защиты, что не есть правило ввиду того что наш виртуальный массив будет хранить данные большого количества серверов. Для того чтобы ограничить доступ к интерфейсу вы можете создать .htaccess файл в каталоге cgi-bin (/var/www/cgi-bin) и добавим в него следующие строки:
AuthName «QUADStor Authentication»
AuthType Basic
AuthUserFile /etc/httpd/conf/htpasswd
Require valid-user
Далее создадим файл авторизации куда запишем имя пользователя и пароль. Файл мы расположим в директории /etc/httpd/conf с именем htpasswd. Для генерации пароля воспользуемся утилитой htpasswd:
htpasswd -s -b -c /etc/httpd/conf/htpasswd admin admin
В директории /etc/httpd/conf будет создан файл htpasswd, куда будет записано имя пользователя и пароль для доступа к QUADStor.
Внесем изменения в httpd.conf, секцию отвечающею за cgi директорию:
- Оригинальная секция
ScriptAlias /cgi-bin/ «/var/www/cgi-bin/»
#
# «/var/www/cgi-bin» should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory «/var/www/cgi-bin»>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
- Измененная секция
ScriptAlias /cgi-bin/ «/var/www/cgi-bin/»
#
# «/var/www/cgi-bin» should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory «/var/www/cgi-bin»>
AllowOverride AuthConfig Limit
Options None
Order allow,deny
Allow from all
</Directory>
Не исключено что вы захотите иметь защищенное соединение для подключения к устройству используя открытые каналы передачи данных, например интернет. По умолчанию QUADStor доступен по протоколу HTTP, что не гарантирует надежное шифрование данных между компьютером администратора и самим сервером. Для запуска консоли управления с использованием шифрования нам понадобиться SSl сертификат.
3. Настройка SSL Apache сервера
Для настройки защищенного соединения нам понадобиться SSL сертификат. Как получить бесплатный сертификат я описывал в предыдущей публикации: «Получаем бесплатный сертификат от instantssl.su«.
Настроим VirtuslHost («Настройка поддержки VirtualHost в CentOS«) и добавим в конфигурационный файл виртуального хоста (quadstor.conf) следующие строки:
<Directory /var/www/quadstor/>
AllowOverride All
Options All
Order allow,deny
allow from all
</Directory><VirtualHost *:80>
RewriteEngine on
ReWriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost><VirtualHost *:443>
NameVirtualHost *:443
SSLEngine on
#Строками ниже прописываем пути к полученным файлам от instantssl.su
# Сертификат
SSLCertificateFile /etc/httpd/ssl/quadstor.crt
#Приватный ключ, который мы получили при генерации основного сертификата на 4 этапе, описанном в статье «Получаем бесплатный сертификат от instantssl.su«
SSLCertificateKeyFile /etc/httpd/ssl/private.key
#Промежуточный сертификат
SSLCertificateChainFile /etc/httpd/ssl/SSL_CA_Bundle.crt
#
ServerAdmin foo@foofarm.com
DocumentRoot /var/www/quadstor
ServerName quadstor.eaglenn.ru
ErrorLog logs/quadstor.eaglenn.ru.foo.info-error_log
CustomLog logs/quadstor.eaglenn.ru.foo.info-access_log common
</VirtualHost>
private.key — это файл приватного ключа для расшифровки SSL сертификата (quadstor.crt).
Его необходимо содержать в тайне и никому не передавать.
Также рекомендуется сохранить резервную копию приватного ключа,
иначе в случае утери данных сервера не удастся восстановить файл приватного ключа.
Перезапустим apache командой «/etc/init.d/httpd restart»
4. Настройка QUADStor
Попробуем войти на консоль управления используя веб интерфейс. Мы увидим окно ввода логина и пароля.
Введем наши учетные данные.
Вот таким простым образом мы смогли ограничить доступ к консоли управления нашей виртуальной системы хранения данных.
Physical Storage
Добавим в нашу систему чистый диск. Он понадобиться нам для размещения на нем Storage Pools. Перейдем в раздел меню Physical Storage и нажмем кнопку Rescan
Storage Pools
Создадим Storage Pools, для этого перейдем в меню Storage Pools и нажмем кнопку Add Pool
Введем название для нашего пула. В моем случае я буду использовать Pool1. Включим поддержку дедупликации, ведение логов и нажмем Submint.
Вернемся в меню Physical Storage и сделаем привязку нашего пула (Pool1) к физическому диску с серийным номером: GEN00000000002003579818. Для этого нажмем Add в найденном физическом диске:
На странице Select Disk Properties выберем из выпадающего меню наш пул.
Включим режим компрессии и логирование.
Системе нужно будет немного времени для инициализации. На следущем скрине мы как раз видим этот процесс.
Статус диска:
- D: Dedupe Disk
- C: Compression Enabled
- L: Log Disk
- H: HA Disk
- U: Unmap Enabled
По окончании процесса инициализации диска мы можем приступить к созданию виртуальных дисков.
Virtual Disks
Перейдем к созданию Virtual Disks. Откроем меню Virtual Disks, нажмем кнопку Add VDisk
Из выпадающего меню выберем наш пул (Pool1), укажем имя VDisk и его размер.
Если вы планируете презентовать виртуальный диск системам виртуализации необходимо оставить галочку 512 byte Emulation.
И так мы создали новый VDisk размером 30 GB с именем VDisk1 в пуле Pool1
Статус виртуального диска:
- D: Deduplication Enabled
- E: 512 byte emulation
- C: Compression Enabled
- V: Verify Enabled
VDisk Statisics
Пока статистика нам не особо интересна ввиду того что диск новый и не содержит никаких данных.
5. Презентация виртуального диска
Виртуальный диск может быть презентован тремя разными способами:
- Fiber Channel
- ISCSI
- Как локальное устройство которое можно предоставить системам по средствам NFS либо CISF
Используем метод локального подключения.
Первым этапом нам необходимо создать файловую систему на виртуальном диске:
mkfs.ext4 /dev/quadstor/VDisk1
При монтируем наше новое устройство в систему. Для этого используем команду:
mount /dev/quadstor/VDisk1 /mnt/vdisk1/
Мы видим, что теперь нам доступно новое устройство /dev/sdc которое замонтировано в директорию /mnt/vdisk1.
Попробуем записать на QUADStor некоторое количество данных. Я создал несколько папок и залил в них совершенно одинаковые данные. Посмотрим статистику виртуального диска.
А неплохие результаты у нас получаются. При общем объеме 30 GB залитых данных, процент дудупликации на нашей тестовой системе получился около 100 процентов или 26.20 GB.
Обратим внимание на статистику Storage Pools, для этого в окне Storage Pools нажмем View
Это фантастика! Суммарный объем нашего пула составляет 50 Gb, мы создали виртуальный диск объемом 30 Gb и заняли все его пространство одинаковыми данными.
В итоге в результате того, что мы всегда копировали одни и те же данные мы использовали на Storage Pool только 3,82 Gb,
что соответствует размеру самой первой скопированной нами папке с данными:
Вы можете заметить, что коэффициент сжатия у нас не очень высокий и равен 0.2 %. Это связано с тем, что для синтетических тестов я использовал файлы jpeg, а как известно данный формат изображения плохо подвергается сжатию.
Конечно в тестовой среде мы использовали синтетические тесты, которые могут несколько искажать реальную картину в лучшую сторону. В ближайших статьях мы проведем сравнительное тестирование дедупликации на базе Windows Server 2012 R2 с реальными данными и QUADStor. До новых встреч.
Алексей, приветствую. Вы запустили эту штуку в работу или только игрались? Я тут попробовал на CentOS 7.2 это дело и не взлетает у меня служба quadstor при старте системы. Что-то не так с записью fstab, а что именно понять пока не могу. Пишу индусам письма, но никакого ответа нет. Информации по практическим внедрениям этой штуки почти нет.
Алексей, приветствую! Спасибо за интерес к блогу 🙂 Я запускал quadstor только для тестирования, да и потребности в таком устройстве не оказалось. Для enterprise оно слишком затратно в плане поддержки, надежности. Дедупликация на нем реализована слабо, на уровне файлов, а не блоков как в том же Data Domain. Этим сейчас никого не удивить, даже файловый сервер Microsoft умеет это делать. насколько я помню у меня с запуском проблем не было. CentOS 7 был сильно переработан в отличии от 6 версии. Между 6 и CentOS 7 пропасть.
Здравствуйте, Алексей.
С проблемой в общем-то уже разобрались: https://groups.google.com/forum/#!topic/quadstor-virt/NrwA43BupT0
В QuadStor 3.2.9, которую я использовал в момент написания здесь исходного комментария, действительно была проблема с авто-монтированием. Они честно её признали в переписке и оперативно выпустили новую версию 3.2.10, в которой ранее обозначенная проблема решена.
По поводу «Для enterprise оно слишком затратно в плане поддержки, надежности» не соглашусь, так как, на мой взгляд, это утверждение не имеет под собой никакой практической основы 🙂
«Дедупликация на нем реализована слабо, на уровне файлов, а не блоков» — это совсем неправда. Мало того что дедупликация блочная, так она ещё и работает налету. http://www.quadstor.com/data-deduplication-options.html
Но за ответы всё равно спасибо 🙂
Алексей, спорить не буду, так как возможно, отрицать и спорить не буду 🙂 многое с моих тестов изменилось. Все течет все меняется, как говориться. Будет интересно посмотреть на этот продукт еще раз и сравнить его как раз с возможностями Data Domain EMC. Касаемо затрат на поддержку я имел ввиду совокупность расходов. Вы писали: «Пишу индусам письма, но никакого ответа нет.» Представьте бизнес который сидит и пишет письма индусам… А ответа все нет и нет. Признаюсь я не ожидал в вашем случае решения проблемы )). Пока монстры типа HP и EMC выпускают патчи, «нормальные» индийские специалисты просто выпускают новую версию :-). В любом случае у меня опять появился интерес посмотреть это продукт. Пошел качать и ставить. Как раз впереди выходные.
Сомневаюсь конечно что с 2015 года эти ребята могли переделать продукт из файловой дедупликации в блочную, так как это привело бы к переписыванию всего продукта заново. Скорее всего они изначально были блочные и Вы просто что-то не так поняли.
По поводу индусов, да. Я тоже был удивлён. По началу они молчали, но потом сказали, что мои письма застревали в спам-фильтре, так как я писал с Яндекса, хотя может и свистят 🙂
Потом я нашёл их mail-группу на Google и написал ещё и туда. Они как то сразу откликнулись и помогли. И это хорошо.
«Дедупликация на нем реализована слабо, на уровне файлов, а не блоков» — это совсем неправда. Мало того что дедупликация блочная, так она ещё и работает налету. http://www.quadstor.com/data-deduplication-options.html
Вот и интересно сравнить именно с DD от EMC.