Apenas use
mdadm --grow --size max /dev/md2
Então você poderá usar
resize2fs
Para permitir que o sistema de arquivos corresponda ao tamanho da raid. Tudo isso é feito online sem mesmo desmontar o md2.
Estou executando o Ubuntu 11.04 (kernel 2.6.38-11). Eu substitui 2x160GB com drives de 2x500GB. Eles são configurados como RAID1.
As tabelas de partições mostram os tamanhos certos. Aqui está o sfdisk:
# sfdisk -d /dev/sdb
# partition table of /dev/sdb
unit: sectors
/dev/sdb1 : start= 63, size= 192717, Id=fd, bootable
/dev/sdb2 : start= 192780, size= 7807590, Id=fd
/dev/sdb3 : start= 8000370, size=968767695, Id=fd
/dev/sdb4 : start= 0, size= 0, Id= 0
e fdisk:
# fdisk -l /dev/sdb
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006c78f
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 12 96358+ fd Linux raid autodetect
/dev/sdb2 13 498 3903795 fd Linux raid autodetect
/dev/sdb3 499 60801 484383847+ fd Linux raid autodetect
Mas não estou vendo o novo espaço:
root@green:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md2 143G 134G 8.3G 95% /
root@green:~# mdadm --examine /dev/sdb3
/dev/sdb3:
Magic : a92b4efc
Version : 0.90.00
UUID : b8f83980:f60d820c:74c46fbf:0baa68bc
Creation Time : Sun Mar 29 18:48:46 2009
Raid Level : raid1
Used Dev Size : 152247936 (145.19 GiB 155.90 GB)
Array Size : 152247936 (145.19 GiB 155.90 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Update Time : Mon Oct 10 19:22:36 2011
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 7b5debb7 - correct
Events : 10729526
Number Major Minor RaidDevice State
this 0 8 19 0 active sync /dev/sdb3
0 0 8 19 0 active sync /dev/sdb3
1 1 8 3 1 active sync /dev/sda3
Eu tentei mdadm e resize2fs:
# mdadm --grow /dev/md2 --size=max
mdadm: component size of /dev/md2 has been set to 152247936K
# resize2fs /dev/md2
resize2fs 1.41.14 (22-Dec-2010)
The filesystem is already 38061984 blocks long. Nothing to do!
Alguma idéia?
Adicionado por solicitação
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2 : active raid1 sdb3[0] sda3[1]
152247936 blocks [2/2] [UU]
md0 : active raid1 sdb1[0] sda1[1]
96256 blocks [2/2] [UU]
md1 : active raid1 sdb2[0] sda2[1]
3903680 blocks [2/2] [UU]
unused devices: <none>
partições
# cat /proc/partitions
major minor #blocks name
8 0 488386584 sda
8 1 96358 sda1
8 2 3903795 sda2
8 3 152248005 sda3
8 16 488386584 sdb
8 17 96358 sdb1
8 18 3903795 sdb2
8 19 152248005 sdb3
9 1 3903680 md1
9 0 96256 md0
9 2 152247936 md2
dividido:
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all
Model: ATA WDC WD5000AAKX-0 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 98.7MB 98.7MB primary ext3 boot, raid
2 98.7MB 4096MB 3997MB primary linux-swap(v1) raid
3 4096MB 500GB 496GB primary ext3 raid
Model: ATA WDC WD5000AAKS-4 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 98.7MB 98.7MB primary ext3 boot, raid
2 98.7MB 4096MB 3997MB primary linux-swap(v1) raid
3 4096MB 500GB 496GB primary ext3 raid
Model: Linux Software RAID Array (md)
Disk /dev/md1: 3997MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 3997MB 3997MB linux-swap(v1)
Model: Linux Software RAID Array (md)
Disk /dev/md0: 98.6MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 98.6MB 98.6MB ext3
Model: Linux Software RAID Array (md)
Disk /dev/md2: 156GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 156GB 156GB ext3
Comente por email:
the problem is in metadata, you just need to assemble raid array with parameter --update devicesize
and after that -G /dev/md? -z max will done job :)
Apenas use
mdadm --grow --size max /dev/md2
Então você poderá usar
resize2fs
Para permitir que o sistema de arquivos corresponda ao tamanho da raid. Tudo isso é feito online sem mesmo desmontar o md2.
Eu uso regularmente o mdadm e o considero um dos utilitários mais perigosos do Linux. No entanto, se você usar as precauções de segurança corretas, poderá evitar a maioria dos casos de possível perda de dados Backup de todos os seus dados !!! Eu fui mordido duas vezes por mdadm no passado, perdi mais de 700GB de dados e muito pouco foi recuperado, você foi avisado.
Existe uma boa chance de você precisar criar a matriz RAID novamente, já que o mdadm não espera ou compensa as unidades aumentando de tamanho de repente. Ele usará o tamanho indicado no superbloco de ataque e não na unidade em si. Desde que as unidades já estejam sincronizadas, você não deve ter muitos problemas.
Lembre-se de que você quer inicializar usando o superbloco versão 0.9.
Editar
É assim que eu faria, não testado !
Crie um RAID1 com um mergulho perdido apenas para que possamos testar rapidamente se os dados permanecem enquanto ainda temos outra unidade com uma cópia dos dados, seus metadados antigos eram 0,90, então manteremos a mesma versão aqui.
mdadm --create /dev/md2 --level=mirror --metadata=0.90 --raid-devices=2 missing /dev/sdb3
Monte-o para testar se tudo funciona
mkdir /mnt/test
mount /dev/md2 /mnt/test
verifique seus dados
ls -l /mnt/test
Se tudo estiver correto, desmonte a unidade e redimensione.
unmount /mnt/md2
resize2fs /dev/md2
Quando tudo estiver ok, você poderá adicionar a outra unidade à matriz.
mdadm --add /dev/md2 /dev/sdb3
e aguarde a reativação das unidades
cat / proc / mdstat
Ao olhar para / proc / partitions , é evidente que o linux pensa que sda3 e sdb3 são menores do que eles.
Soma os tamanhos das partições
8 17 96358 sdb1
8 18 3903795 sdb2
8 19 152248005 sdb3
e você terá um número muito menor que o tamanho do disco.
8 16 488386584 sdb
152248005 blocos de 1024 bytes são consistentes com o tamanho mdadm --grow
e resize2fs
estão relatando md2 .
Você criou inicialmente essas partições com um tamanho menor e depois recriou-as para utilizar o restante dos discos? Nesse caso, a reinicialização deve permitir que o kernel releia a tabela de partições. Depois disso, o crescimento do dispositivo RAID e o redimensionamento do sistema de arquivos devem funcionar.
Tags raid mdadm raid1 diskmanagement