Я успешно заменил диски 2 x 320 ГБ 2 x 1 ТБ и повторно синхронизировал /dev/md0
& /dev/md1
.
"sudo mdadm --grow /dev/md0 --size=max
"результаты по ошибке"mdadm: component size of /dev/md0 unchanged at 304686016K
"
Как я могу вырасти /dev/md0
к полному 1 ТБ?
Вывод от fdisk -l
& cat /proc/mdstat
следует
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000bccd9
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 609374207 304686080 fd Linux RAID autodetect
/dev/sda2 609374208 624998399 7812096 fd Linux RAID autodetect
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000baab1
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 609374207 304686080 fd Linux RAID autodetect
/dev/sdb2 609374208 624998399 7812096 fd Linux RAID autodetect
Disk /dev/md1: 7999 MB, 7999520768 bytes
2 heads, 4 sectors/track, 1953008 cylinders, total 15624064 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/md1 doesn't contain a valid partition table
Disk /dev/md0: 312.0 GB, 311998480384 bytes
2 heads, 4 sectors/track, 76171504 cylinders, total 609372032 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
mick@mick-desktop:~/Desktop$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb1[1] sda1[0]
304686016 blocks [2/2] [UU]
md1 : active raid1 sdb2[1] sda2[0]
7812032 blocks [2/2] [UU]
unused devices: <none>
mdadm
не может увеличить границы RAID за пределами раздела. Вы должны были увеличить разделы перед повторной синхронизацией каждого диска, тогда увеличение должно было работать. Можете ли вы сказать нам, какой формат метаданных вы используете? В новой установке это должно быть 1.2
, но если оно достаточно старое, это может быть 0.90
. Расти в твоей ситуации было бы легче, если бы это было 1.2
.
mdadm --detail /dev/md1
/dev/md1:
Version : 1.2
Если это 1.2
, все, что вам нужно сделать, это сделать разделы (sdb2 sda2) больше. Убедитесь, что перемещается только конец раздела, начало должно оставаться прежним, иначе ваш RAID будет поврежден. Если вы не уверены, делайте это только для одного диска, чтобы другой мог сохранить ваши данные на случай, если что-то пойдет не так. Вы можете сделать это с помощью fdisk
, но лучшей альтернативой является parted
или даже gparted
, если вы предпочитаете графический интерфейс.
Для parted
должна работать следующая команда (опасно, записывает таблицу разделов без запроса):
parted /dev/sdb unit s rm 2 mkpart primary 609374208 100%
Еще раз проверьте вывод fdisk, если он выглядит правильно; перезагрузитесь, чтобы увидеть, все ли еще работает (/proc/mdstat
должен показать синхронизацию RAID UU
); сделайте то же самое для /dev/sda
, а затем после очередной перезагрузки попробуйте снова расти.
Если бы это все еще были метаданные 0.90
, я бы воспользовался этой возможностью для создания нового RAID 1 с метаданными 1.2
. На работающем компакт-диске отключите один диск, создайте на нем новый RAID-массив с отсутствующим одним диском, dd
или rsync -aAHSX
перезапустите данные, добавьте другой диск и т. Д.
Для роста, я думаю, вам все равно придется выйти из строя диска, увеличить раздел, а затем снова добавить его. 0.90
сохраняет метаданные в конце устройства, и они не будут найдены, если вы переместите конец, увеличив раздел.