Прошлый апгрейд сервера прошел по схеме:
- Подключаю к серверу новый диск;
- Создаю таблицу разделов - два primary раздела (один для корня или /boot и второй для LVM2 PV);
- Мигрирую LVM на новый диск: pvcreate, vgextend, pvmove, vgreduce, pvremove;
- Переношу данные, которые были вне LVM (/ или /boot);
- Устанавливаю загрузчик на новый диск (grub-install).
Перед покупкой нового диска я определился с критериями, которые мне важны:
Форм-фактор: 3.5"
Интерфейса: SATA III
Объем: 2TB+
Скорость вращения шпинделя: 7200 об/с
Потом посмотрел варианты, которые сейчас можно купить в Минске. По результату получилось, что минимальную стоимость одного гигабайта сейчас имеют модели объемом 3TB. На рынке уже есть предложения на 4TB, но их стоимость для меня пока неоправданно завышена. Из списка претендентов сразу был выброшен Seagate (по религиозным соображениям) и в итоге выбор пал на Toshiba DT01ACA300 (он же Hitachi Deskstar 7K3000 HDS723030BLE640).
В процессе изучения отзывов на эту модель наткнулся на форумы, где жаловались на невозможность загрузить систему с этого диска. Начал копать причину этого поведения и выяснил, что некоторые BIOS не могут загрузить систему с дисков более 2.2TB. Если у вас используется UEFI, то проблем быть не должно, но мне не хочется связываться сейчас с новой технологией.
Соответственно первая часть проблемы - поддержка "больших дисков" в BIOS. После проверки описания материнской платы сервера проблема была снята с повестки дня (производитель заявляет полную поддержку жестких дисков 3TB).
Следующая проблема - MBR не поддерживает диски более 2.2TB. Решение - использовать GPT (GUID Partition Table). Для этого в debian мне потребовался parted вместо привычного fdisk. Устанавливаю его и разбиваю диск на 3 раздела: один для bios_boot (используется загрузчиком grub), второй для раздела /boot (вроде должен располагаться в первых 2TB) и остаток пространства под LVM2_PV.
$ sudo aptitude install parted $ sudo parted /dev/sdb (parted) mklabel gpt (parted) unit s (parted) print Model: ATA TOSHIBA DT01ACA3 (scsi) Disk /dev/sdb: 5860533168s Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags (parted) mkpart biosboot 8192 16383 (parted) set 1 bios_grub on (parted) mkpart boot 16384 630783 (parted) mkpart lvm2_pv 630784 5860533134 (parted) unit MiB print Model: ATA TOSHIBA DT01ACA3 (scsi) Disk /dev/sdb: 2861588MiB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 4,00MiB 8,00MiB 4,00MiB biosboot bios_grub 2 8,00MiB 308MiB 300MiB boot 3 308MiB 2861588MiB 2861280MiB lvm2_pv (parted) quit
Создаю файловую систему для /boot, расширяю группу томов LVM на новый диск, а затем вывожу старый диск из использования в LVM.
$ sudo mkfs -t ext2 -L BOOT /dev/sdb2 $ sudo pvcreate /dev/sdb3 $ sudo vgextend VolGroup0 /dev/sdb3 $ sudo pvmove /dev/sda2 $ sudo vgreduce VolGroup0 /dev/sda2 $ sudo pvremove /dev/sda2
На старом диске корень системы был в виде обычного раздела, а на новом было решено перейти на отдельный раздел для /boot
$ sudo lvcreate -n rootfs -L 5G VolGroup0 $ sudo mkfs -t ext3 /dev/VolGroup0/rootfs $ sudo mkdir /mnt/{old,new}root $ sudo mount /dev/sda2 /mnt/oldroot $ sudo mount /dev/VolGroup0/rootfs /mnt/newroot $ sudo mkdir /mnt/newroot/boot $ sudo mount /dev/sdb2 /mnt/newroot/boot $ sudo rsync -aH /mnt/oldroot/ /mnt/newroot/ $ sudo umount /mnt/oldroot
Осталось отредактировать /mnt/newroot/etc/fstab и добавить туда записи для новых / и /boot. Последним на новый диск ставится загрузчик.
$ sudo mount -o rbind /dev /mnt/newroot/dev $ sudo mount -t proc proc /mnt/newroot/proc $ sudo mount -t sysfs sys /mnt/newroot/sys $ sudo chroot /mnt/newroot /bin/bash (chroot) # mount /var /usr (chroot) # grub-install --boot-directory=/boot --recheck /dev/sdb (chroot) # update-initramfs -u (chroot) # update-grub (chroot) # exit $ grep /mnt/newroot /proc/mounts | awk '{print $2}' | sort -r | xargs -n1 sudo umount
Теперь все готово, выключаю систему, извлекаю старый жесткий диск, включаю и радуюсь загрузке системы уже с нового диска.
Комментариев нет:
Отправить комментарий