Создание правильно выровненных разделов на заменяемом диске

У меня типичный небольшой офисный сервер с двумя жесткими дисками, настроенными для RAID-1 (зеркалирование). Каждый диск имеет несколько разделов: один для swap, другие - в нескольких / dev / mdX массивах.

Каждые пару лет один из дисков умирает и заменяется. Обычно замена выглядит примерно так:

# copy partition table from the remaining good disk to the empty replacement disk
# (instead of /dev/good_disk and /dev/new_disk I use /dev/sda and /dev/sdb, as appropriate)
sfdisk -d /dev/good_disk | sfdisk /dev/new_disk

# install boot loader
grub-install /dev/new_disk

# create swap partition reusing the same UUID, so I don't need to edit /etc/fstab
mkswap /dev/new_disk1 -U xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

# hot-add the new partitions to my RAID arrays
mdadm /dev/md0 -a /dev/new_disk2
mdadm /dev/md1 -a /dev/new_disk5
mdadm /dev/md2 -a /dev/new_disk6
mdadm /dev/md3 -a /dev/new_disk7
mdadm /dev/md4 -a /dev/new_disk8

Диски изначально были разделены cfdisk еще в 2009 году, поэтому таблица разделов традиционно выровнялась по границам цилиндров (255 голов * 63 сектора). Это не оптимальная конфигурация для новых дисковых накопителей 4K.

Мой вопрос: как я могу создать набор разделов для нового диска и убедиться, что они правильно выровнены и имеют правильные размеры для моего RAID-массивы (округление приемлемо, я полагаю, но округление, безусловно, нет)?

2
задан 24 May 2012 в 18:56

21 ответ

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 25 July 2018 в 18:47

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 25 July 2018 в 18:47

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 25 July 2018 в 18:47

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 2 August 2018 в 00:55

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 2 August 2018 в 00:55

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 2 August 2018 в 00:55

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 4 August 2018 в 16:26

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 4 August 2018 в 16:26

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 4 August 2018 в 16:26

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 6 August 2018 в 01:06

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 6 August 2018 в 01:06

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 6 August 2018 в 01:06

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 7 August 2018 в 18:32

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 7 August 2018 в 18:32

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 7 August 2018 в 18:32

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 10 August 2018 в 07:13

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 10 August 2018 в 07:13

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 10 August 2018 в 07:13

Как вы сказали, вы можете присвоить его кратным 8, и вы можете сделать это с ошибкой с GNU parted. Предположим, что / dev / sda - старый хороший диск, и / dev / sdb будет новым с размером сектора 4k.

sudo parted /dev/sda unit s print

Запишите размеры разделов. И округлите их до 8. Здесь мы будем использовать округленные числа.

sudo parted --align minimal /dev/sdb
unit s
print
mktable msdos
mkpart primary 64s <64+sda1-1>s
align-check minimal 1
mkpart primary <64+sda1>s <64+sda1+sda2-1>s
align-check minimal 2
mkpart primary <64+sda1+sda2>s <64+sda1+sda2+sda3-1>s
align-check minimal 3

и т. Д.

Если у вас более 4 разделов, вам нужно будет установить четвертый раздел «расширенный», а остальные разделы определяются как «логические».

Отметьте вам рейдовые разделы с помощью рейса ярлыков

toggle 1 raid
toggle 2 raid

и т. д.

print
quit
0
ответ дан 15 August 2018 в 19:12

Я отправлю свое решение, с которым я глубоко недоволен:

  1. sfdisk -d /dev/good_disk > /root/part.txt
  2. vi /root/part.txt
  3. Увеличить раздел начинайте цифры до тех пор, пока они не будут кратно 8 (8 секторов по 512 байт = 4K).
  4. Увеличьте размер расширенного раздела, пока он не покрывает весь новый диск (который составляет 1 ТБ, а старый диск был 500 ГБ - когда другой диск умирает и заменяется, я смогу создать новый RAID-массив в оставшемся свободном пространстве.)
  5. sfdisk /dev/new_disk < /root/part.txt -L (это делает -L принимать разделы, не соответствующие границам цилиндров, в противном случае sfdisk прерывается, не меняя ничего).

Мне это не нравится, потому что оно подвержено ошибкам и утомительным.

1
ответ дан 15 August 2018 в 19:12

Мне просто пришлось заменить зеркало в одном из моих массивов сегодня, и я решил просто заменить fdisk вместо использования sfdisk. Так как я знаю размеры разделов (только один, в моем случае), и я пошел с большим приводом для замены.

Оригинал - RAID1 из пары ST31500341AS, а сменный диск - ST2000DL003.

Итак, я сделал это:

  1. mdadm /dev/md6 --fail /dev/sde1
  2. mdadm /dev/md6 --remove /dev/sde1
  3. заменить / dev / sde
  4. fdisk /dev/sde cunp 1 enter (для 2048) 3907028736 t fd w В результате получается новый раздел с началом 2048 и концом 3907029167 - для 1953513560 блоков (или 244189195 в блоках 4k) 3907028904 - для 1953513428 блоков (244189178 в 4k блоки). Старый раздел был начат 63 и закончил 2930272064 с блоками 1465136001. Я думаю, что lvm заботится о том, чтобы быть совмещенным с пространством, поэтому все должно быть хорошо. Забыл, что я не могу пройти весь путь до конца диска, , иначе mdadm переключится на использование всего диска, а не на раздел при перезагрузке. LVM, похоже, терпит этот сдвиг, но поставить файловую систему прямо на MD не удалось. Рекомендация заключалась в сокращении раздела по меньшей мере на 256 секторов, поэтому я сделал (3907029167-256) / 8 * 8 в bc, чтобы получить 3907028904. Результирующий раздел имеет mod 8 == 0 и short на 263 сектора. Эта проблема вызвала меня, когда я сделал это для другого массива: (
  5. mdadm /dev/md6 --add /dev/sde1
  6. наблюдайте за восстановлением массива. Кажется, что он восстанавливается с довольно хорошей скоростью, кажется быстрее, чем это было со старым приводом.
  7. , а затем удалить и прочитать другую сторону, чтобы суперблоки соответствовали.
3
ответ дан 15 August 2018 в 19:12
  • 1
    По-видимому, mdadm является умным и видит, что размер блока нового диска равен 4k, и для этого устанавливает суперблок. В результате проблема, когда я перезагрузился сегодня утром. Чтобы остановить то, что он пытался воспитывать, собрать его только с новым диском и переделать «хороший» старый диск для выравнивания 4k и добавить его. Теперь это кажется счастливым. Хотя у меня есть еще один ST2000DL003, который скоро появится. – TheDreamer 26 September 2012 в 06:51

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

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