26 вересня, Вівторок, 2023
A- A A+

Розглянемо відновлення Zfs RAID1, якщо нам потрібна заміна диска. Нагадаю, що у нас Proxmox встановлений у efi bios і там використовується завантажувач systemd-boot.

Перевірка статусу пулу
Припустимо, у нас полетів диск і ми його замінили. Бачимо, наш пул у статусі DEGRADED і не бачить наш старий диск.

Переглянути статус пулу можна в GUI Proxmox.

pve zfs 1

Або за допомогою команди, де rpool - назва пула:

zpool status rpool

pve zfs 2

Рядок після was (/dev/disk/by-id/ata-VBOX_HARDDISK_VB06e95e61-403d7e2b-part3) копіюємо, вона потрібна нам буде для видалення не робочого диска.

Видаляємо мертвий диск

Видаляємо мертвий диск:

zpool detach rpool /dev/disk/by-id/ata-VBOX_HARDDISK_VB06e95e61-403d7e2b-part3

Готуємо новий диск до відновлення завантажувача та raid1 Копіюємо таблицю розділів із робочого диска sda (робочий) на новий диск sdb (новий):

sgdisk -R /dev/sdb /dev/sda

Генеруємо унікальні UUID для /dev/sdb:

sgdisk -G /dev/sdb

Відновлюємо завантажувач systemd-boot Потрібно відновити завантажувач, для цього відформатуємо розділ /dev/sdb2 як ESP:

pve-efiboot-tool format /dev/sdb2

Налаштуємо розділ /dev/sdb2 для включення в Proxmox VE kernel update synchronization mechanism, щоб завантажувальні розділи синхронізувалися:

pve-efiboot-tool init /dev/sdb2

Обновимо конфігурацію всіх ESP, щоб скопіювати ядра та засинхронити всі ESP на наших дисках:

pve-efiboot-tool refresh

Відновлюємо raid1

Запукаєм команду smartctl -i /dev/sda smartctl -i /dev/sdb

Для перевірки серійного номеру та ІД пристроїв, потім підставляєм в zpool attach

Створимо raid1 з нашим новим диском (створювати пул краще за id дисками, щоб при зміні порту диска zfs могла знайти диски):

zpool attach rpool /dev/disk/by-id/ata-VBOX_HARDDISK_VBfb65757e-ea936e4d-part3 /dev/disk/by-id/ata-VBOX_HARDDISK_VB9b8d476a-b387a510-part3

І почекаємо, коли він відновить дані на новому диску.

Переглянути проценти відновлення можна за допомогою команди:

zpool status rpool

pve zfs 3

На цьому все. Zfs RAID1 відновлено, завантажувальна область відновлено.