Как восстановить пул ZFS с новыми дисками различных размеров сектора?

У меня есть Ubuntu 12.04 с установленным ZFS. Существует два пула: rpool (корневая файловая система) и rdata (все данные). rdata был создан с WD 2 x 1 ТБ диски ИДЗА (с 512-байтовыми физическими секторами) в зеркале ZFS. rdata имеет много наборов данных на нем в иерархии.

rdata исчерпывает пространство, таким образом, я купил 2 x диска Seagate 3 ТБ. К сожалению, когда я пытался добавить один новые диски к зеркалу, так, чтобы это повторно посеребрило, присоединение шпульки привело высказывание к сбою

cannot attach /dev/disk/by-id/scsi-SATA_ST3000DM001-1CH_W1F1EE1G-part1 to /dev/disk/by-id/scsi-SATA_WDC_WD10EADS-00_WD-WCAU47275172-part1: devices have different sector alignment

Я теперь знаю, что это вызвано тем, что новая авеню дисков 4k физические секторы и единственный путь восстановления должна восстановить пул. Я предлагаю сделать следующее:

  1. Удостоверьтесь, что существует снимок всех наборов данных на rdata.
  2. Удалите 1 элемент зеркала rdata (таким образом, у меня есть известное хорошее резервное копирование и освободить порт SATA),
  3. Подключите один из новых дисков к машине
  4. создайте новый пул, названный rdata1 с 4k секторами и каждым физическим устройством
  5. используйте шпульку recv для восстановления снимков наборов данных rdata к rdata1
    • На данном этапе rdata1 должен быть идентичен rdata
  6. экспортируйте устройство, на котором расположен rdata1
  7. уничтожьте rdata
  8. импортируйте устройство, которое содержало rdata1 как rdata
  9. удалите старый физический диск и замените его другим новым диском
  10. присоедините другой новый диск к недавно созданному rdata для воссоздавания зеркала

Это звучит разумным? У меня все еще будет второй старый диск, если он пойдет не так, как надо и как заключительный курорт, у меня есть другой сервер FreeNAS, который имеет полное резервное копирование всех снимков; на всякий случай.

Gareth

2
задан 3 June 2013 в 16:49

1 ответ

В конце концов, дело было вызвано ошибкой с моей стороны. Процедура, которую я использовал в конце, была:

  1. Завершение работы системы и отключение одного элемента исходного пула; заменив его одним на новых дисках.
  2. Включите и создайте новый пул с одного нового диска.
  3. используйте rsync для перемещения данных, а не zpool recv
  4. экспортируйте оба пула
  5. импортируйте новый выключите пул со старым именем
  6. и замените другой старый диск новым
  7. включите питание и подключите новый диск к новому пулу.

К сожалению, система отказалась забыть о старом пуле. Я перенес это на новый вопрос: Как удалить пул из ZFS?

0
ответ дан 3 June 2013 в 16:49

Другие вопросы по тегам:

Похожие вопросы: