Домашняя виртуализация. Citrix XenServer vs VMware vSphere ESXi. Часть 2 – 1. Citrix XenServer. Настройка software raid.

xenserver-logo

Не у каждого домашнего пользователя есть карта расширения hardware raid, а сохранность важных данных обеспечить все же хочется. XenServer позволяет создавать software raid массивы при помощи утилиты mdadm из коробки.. ну или почти из коробки =)

В этой статье я расскажу как можно создать зеркальный(raid1) массив, сохранив имеющиеся на жестком диске данные. Получившийся массив будет расшарен в качестве NFS для всех виртуальных машин и других устройств в подсети в следующей статье.

Если же вам не нужно сохранять старые данные на диске и вы хотите использовать массив как storage repository, для вас всё будет гораздо проще – массив будет создаваться сразу с 2мя дисками без необходимости синхронизации.

В моём случае у меня уже имелся software raid с файловой системой NTFS. Но в XenServer NTFS подключается только в режиме read-only, поэтому пришлось собирать раздел заново, отформатировав его в ext3.

В XenServer уже присутствует модуль для содания raid, но он не запускается вместе с системой. Исправим это недоразумение, не забыв выдать соответствующие права на файл .modules:

echo "modprobe md-mod" > /etc/sysconfig/modules/raid.modules
chmod 755 /etc/sysconfig/modules/raid.modules

Пока не будем перезагружаться, а выполним команду из .modules вручную:

modprobe md-mod

Далее неоходимо выяснить, какие диски будут объеденины в массив. Для этого можно вопользоваться, например, командой:

fdisk –l

и определить какие диски из /dev/ нужно объеденить в массив. В моём случае это диски sdc1 и sdd1.
Определив диски, мы можем создать с одним из них массив, отметив один из дисков как missing. Мы подключим второй диск позже, когда данные на нем окажутся на отформатированном в ext3 первом диске:

mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdc1 missing

Отформатируем в ext3 новый массив из одного диска.

mkfs.ext3 /dev/md1

Далее нам необходимо перекинуть все данные с оригинального диска в NTFS на новый массив в ext3 из одного диска. Для этого монтируем массив и диск и перекидываем данные при помощи rsync:

mkdir /mnt/original
mkdir /mnt/raid
mount /dev/md1 /mnt/raid
mount /dev/sdd1 /mnt/original
rsync -auxv --progress --exclude=\$RECYCLE.BIN --exclude="System Volume Information" /mnt/original/ /mnt/raid

В зависимости от объема данных на оригинльном диске и скорости ввода-вывода процесс перекидывания данных может затянуться надолго. В моём случае пришлось на ночь оставлять.
Далее необходимо добавить оригинальный диск в качестве второго к массиву. Но перед этим перезагрузимся, проверив что модуль автомматически подгружается, а raid доступен для работы.

reboot

“Вспоминаем” raid:

mdadm --assemble /dev/md1 /dev/sdc1

И подключаем к нему второй(оригинальный) диск:

mdadm /dev/md1 --add /dev/sdd1

Этой командой запустится и синхронизация дисков. Данные с sdc1 начнут перекидываться на sdd1.
Для того чтобы массив автоматически подцеплялся при старте системы добавим его в fstab:

echo "/dev/md1 /mnt/raid ext3 noatime,rw 0 0" >> /etc/fstab

А для того чтобы система не забывала о наличии у неё raid-массива сформируем конфиг:

mdadm --detail --scan > /etc/mdadm.conf

Готово. После ребута массив должен автоматически подцепляться в /mnt/raid
Начиная с этого момента вы можете спокойно перезагружаться. Массив продолжит синхронизацию и после перезагрузки. Посмотреть прогресс синхронизации можно командой:

mdadm --detail /dev/md1

Теперь можно использовать папки нашего массива, как хранилище iso-образов, которые можно будет использовать при установке вирутальных машин. Сделать это можно командой:

xe sr-create name-label="ISOWindows" type=iso device-config:location=/mnt/raid/Setups/Windows device-config:legacy_mode=true content-type=iso

В следующей статье мы поднимем NFS сервер и расшарим получившееся хранилище.

Leave a Reply

Your email address will not be published. Required fields are marked *