Недостаток копирования таблицы разделов с использованием dd для использования в массиве RAID

467
pim

Я использовал ddдля копирования таблицы разделов (GPT) с одного диска на другой, затем добавил этот диск в mdadmмассив RAID, и система, кажется, работает нормально.

Стоит ли ожидать каких-либо проблем, и есть ли в этом недостаток?

PS: я использовал, ddтак как я застрял в оболочке initramfs.

0
@KamilMaciorowski, спасибо за комментарий, исправленный в вопросе, я говорил о таблице разделов! pim 6 лет назад 0

2 ответа на вопрос

2
davidgo

Нет, это довольно распространенный способ сделать это - я склонен использовать SFDISK для дампа и восстановления разделов, но в прошлом я использовал DD.

1
Attie

В этом нет проблем - исходное устройство будет представлено как единое блочное устройство, как и массив RAID.

Единственное, на что нужно обратить внимание - это дубликат, который GPT хранит в конце диска ... если размер нового хранилища больше, то это будет слишком рано появляться на устройстве и может помешать вам использовать полную емкость, в зависимости от на инструменты, которые вы используете.

Такие инструменты, как gdiskпредложит переместить его для вас, когда вы пишете таблицу разделов. Увидеть ниже:

$ gdisk $ GPT fdisk (gdisk) version 1.0.1  Partition table scan: MBR: protective BSD: not present APM: not present GPT: present  Found valid GPT with protective MBR; using GPT.  Command (? for help): w Warning! Secondary header is placed too early on the disk! Do you want to correct this problem? (Y/N): 

Я бы посоветовал вам скопировать GPT и запустить gdiskпросто перезаписать (и, возможно, переместить) таблицу разделов. После этого вы можете вызвать gdiskснова для обработки изменения вашего хранилища - если вам нужно.


fdisk также позаботится об этом для вас:

$ fdisk $  Welcome to fdisk (util-linux 2.27.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.  GPT PMBR size mismatch (204799 != 409599) will be corrected by w(rite). GPT PMBR size mismatch (204799 != 409599) will be corrected by w(rite).  Command (m for help): 

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