Статья не претендует на образцово-показательную, но как рабочий HOWTO пойдет. Итак, имеем сбойный (сдохший) винт в зеркальном рейде на ZFS и этот рейд держит корень всей системы Proxmox. Глаза боятся – руки делают. Поехали!
Выключаемся и вынимаем сбойный винт, на его место ставим новый, точно такой же по размеру, винт. Было бы не плохо иметь винт не только такой же по размеру, но и такого же производителя и модели для большей производительности рейда. Включаемся. Если сбойный винт не был /dev/sda, то естественно загрузка произойдет без всяких проблем. Если это был как раз таки /dev/sda, то руками грузимся с /dev/sdb. Для этого указываем в bios или во время загрузки с какого устройства грузиться. Увы, в Proxmox установщик не привязывает диски по меткам, а привязывает к их реальному "местонахождению" в системе. Загрузились. Увидели сию картину: zpool status rpool
. Приступаем к подготовке новенького диска. Для начала его нужно разбить так же как и тот исправный, с которого загрузились. Смотрим какая картина на исправном диске. Допустим, что исправный /dev/sda: parted -s /dev/sda print
Копируем разметку с исправного винта (sda) на новый: sgdisk -R /dev/sdb /dev/sda
. Присваиваем новому диску случайный UUID: sgdisk -G /dev/sdb
Проверяем что у нас получилось. Вывод по разделам parted -s /dev/sda print
и parted -s /dev/sdb print
должны быть одинаковы.
Добавляем загрузчик на новенький винт и обновляем GRUB:
grub-install /dev/sdb –recheck
update-grub
update-initramfs -u
Указываем какой диск мы собираемся заменить:
zpool replace rpool /dev/sdb3
Добавляем диск в рейд:
zpool online rpool /dev/sdb3
Готово! Осталось пронаблюдать за процессом синхронизации: zpool status rpool
Радует что ZFS не будет синхронизировать нули, а только полезное пространство. Поэтому ZFS произведёт синхронизацию гораздо быстрее, чем mdadm.
Автор: Денис Кузаков.
Вопросы? Заметки? Пишем в комментариях и Денис или я ответим на них.
Что нового в Proxmox VE 3.4?
Связи времён:
ZFS в Ubuntu.
LXC 1.0: Хранилище контейнеров. Возможности ZFS для создания снимков.
Балансировка виртуальных машин в Proxmox.