Миграция PROXMOX 3.2 в softRAID1 на GPT-разделах
Перевод proxmox на softRAID на GPT разделах
Идем стандартным путем и ставим все необходимое ПО. И тут нас ждет еще один сюрприз связанный с тем, что с версии 3.1 репозиторий у Proxmox стал платным. Поэтому перед установкой нужных пакетов его нужно отключить (возможно, правильнее указать вместо него бесплатный тестовый репозитарий, но у меня получилось и просто закомментировать платный). Откройте его в любом редакторе
# nano /etc/apt/sources.list.d/pve-enterprise.list
и закомментируйте единственную строку.Если вы все же хотите добавить бесплатный репозитарий, то выполните команду:
echo "deb http://download.proxmox.com/debian wheezy pve pve-no-subscription" >> /etc/apt/sources.list.d/proxmox.list
Теперь ставим необходимые пакеты:
# aptitude update && aptitude install mdadm initramfs-tools screen
последний нужен если вы проделываете это удаленно. Перенос LVM в RAID длится долго и желательно это делать через screen.Проверяем что создание массивов теперь доступно:
# modprobe raid1
Далее мы копируем разделы с sda на sdb. Вот тут то и начинаются отличия в MBR и GPT. Для GPT это делается так:# sgdisk -R /dev/sdb /dev/sda
The operation has completed successfully.
Присвоим новому жесткому диску случайный UUID.# sgdisk -G /dev/sdb
The operation has completed successfully.
# sgdisk --randomize-guids --move-second-header /dev/sdb
The operation has completed successfully.
Проверим что разделы созданы так как мы хотели:
| диск sda | диск sdb |
|---|---|
|
|
Меняем флаги разделов sdb2 и sdb3 на raid:
# parted -s /dev/sdb set 2 "raid" on
# parted -s /dev/sdb set 3 "raid" on
# parted -s /dev/sdb print
Model: ATA ST3500320NS (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB primary bios_grub
2 2097kB 537MB 535MB primary raid
3 537MB 500GB 500GB primary raid
Все получилось правильно.Идем дальше и на всякий случай очищаем суперблоки:
# mdadm --zero-superblock /dev/sdb2
mdadm: Unrecognised md component device - /dev/sdb2
# mdadm --zero-superblock /dev/sdb3
mdadm: Unrecognised md component device - /dev/sdb3
Вывод «mdadm: Unrecognised md component device — /dev/sdb3» означает, что диск не участвовал в RAID.Собственно, пора создавать массивы:
# mdadm --create /dev/md1 --level=1 --raid-disks=2 <b>missing</b> /dev/sdb2
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? <b>y</b>
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
# mdadm --create /dev/md2 --level=1 --raid-disks=2 <b>missing</b> /dev/sdb3
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? <b>y</b>
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
На вопрос «Продолжить создание массива?» отвечаем утвердительно.
Посмотрим, что у нас получилось:
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb3[1]
487731008 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sdb2[1]
521920 blocks super 1.2 [2/1] [_U]
В выводе видно состояние массивов — [_U]. Это обозначает, что в массиве есть лишь один диск. Так и должно быть, ведь второй (первый) мы в массив еще не включили. (missing).
Добавляем информацию о массивах в конфигурационный файл:
# cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf_orig
# mdadm --examine --scan >> /etc/mdadm/mdadm.conf
Скопируем раздел boot на соответствующий массив:
# mkfs.ext3 /dev/md1
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
130560 inodes, 521920 blocks
26096 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
64 block groups
8192 blocks per group, 8192 fragments per group
2040 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
# mkdir /mnt/md1
# mount /dev/md1 /mnt/md1
# cp -ax /boot/* /mnt/md1
Далее нам нужно закоментировать в /etc/fstab строку описывающую монтирование boot-раздела с UUID и пропишем монтирование соответствующего массива:# nano /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/pve/root / ext3 errors=remount-ro 0 1
/dev/pve/data /var/lib/vz ext3 defaults 0 1
# UUID=d097457f-cac5-4c7f-9caa-5939785c6f36 /boot ext3 defaults 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0
/dev/md1 /boot ext3 defaults 0 1
Должно получиться примерно так.
Перезагружаемся:
# reboot
Настраиваем GRUB (делаем это абсолютно так же как и в оригинальной статье):
# echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub
# echo 'GRUB_PRELOAD_MODULES="raid dmraid"' >> /etc/default/grub
# echo 'GRUB_TERMINAL=console' >> /etc/default/grub
# echo raid1 >> /etc/modules
# echo raid1 >> /etc/initramfs-tools/modules
Переустанавливаем GRUB:
# grub-install /dev/sda --recheck
Installation finished. No error reported.
# grub-install /dev/sdb --recheck
Installation finished. No error reported.
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-27-pve
Found initrd image: /boot/initrd.img-2.6.32-27-pve
Found memtest86+ image: /memtest86+.bin
Found memtest86+ multiboot image: /memtest86+_multiboot.bin
done
# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-2.6.32-27-pve
Теперь добавим раздел boot с первого (sda) диска в массив. Сначала пометим его флагом «raid»:
# parted -s /dev/sda set 2 "raid" on
А затем и добавим:
# mdadm --add /dev/md1 /dev/sda2
mdadm: added /dev/sda2
Если посмотреть теперь состояние массивов:
# cat /proc/mdstat
Personalities : [raid1]
md2 : active (auto-read-only) raid1 sdb3[1]
487731008 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sda2[2] sdb2[1]
521920 blocks super 1.2 [2/2] [UU]
unused devices: <none>
то мы увидим, что md1 стал «двухдисковым» — [UU]
Теперь нужно перенести основной раздел — LVM. Тут нет никаких отличий от «оригинала», за исключением другой нумерации разделов и:
# screen bash
# pvcreate /dev/md2
Writing physical volume data to disk "/dev/md2"
Physical volume "/dev/md2" successfully created
# vgextend pve /dev/md2
Volume group "pve" successfully extended
# pvmove /dev/sda3 /dev/md2
/dev/sda3: Moved: 2.0%
...
/dev/sda3: Moved: 100.0%
# vgreduce pve /dev/sda3
Removed "/dev/sda3" from volume group "pve"
Добавляем раздел sda3 в массив:
# parted -s /dev/sda set 3 "raid" on
# mdadm --add /dev/md2 /dev/sda3
mdadm: added /dev/sda3
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
487731008 blocks super 1.2 [2/1] [_U]
[>....................] recovery = 0.3% (1923072/487731008) finish=155.4min speed=52070K/sec
md1 : active raid1 sda2[2] sdb2[1]
521920 blocks super 1.2 [2/2] [UU]
unused devices: <none>
и видим, что он добавляется.
Так как я действую по оригинальной статье, то я пошел наливать кофе.
После того, как массив перестроиться (а тоже дело не быстрое), можно считать эту часть завершенной.
Комментариев нет:
Отправить комментарий