Come ridimensionare l'arrays RAID1 con mdadm?

Ho eseguito Ubuntu 11.04 (kernel 2.6.38-11). Ho sostituito 2x160GB con unità 2x500GB. Sono configurati come RAID1.

Le tabelle delle partizioni mostrano le size corrette. Ecco sfdisk:

  • Come recuperare un arrays mdadm su Synology NAS con l'unità in stato "E"?
  • Come spostare RAID 1 su RAID 1 + 0
  • settori mdadm e 4k (formato avanzato)
  • HP DL585 G1 con soluzione VMware ESXi 5 - SATA, necessita di più memory
  • File Server - Configurazione di archiviazione: RAID vs LVM vs ZFS altro ...?
  • Scambiare integer disco tra i server Dell poweredge
  • # 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 

    Ma non vedo il nuovo spazio:

     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 

    Ho provato 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! 

    Qualche idea?

    Aggiunta per richiesta

     # 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> 

    partizioni

     # 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 

    parted:

     # 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 

    Commento via email:

    il problema è nei metadati, devi solo montare l'arrays di raid con il parametro –update devicesize

    e dopo che -G / dev / md? -z max farà il lavoro 🙂

  • È il disco seriale leggibile dal canvasio supermicro?
  • Problema durante l'utilizzo di tune2fs
  • Nessuna opzione per creare nuove partizioni - perché?
  • Qual è il disco VMware migliore, Split o Monolithic in un ambiente di produzione?
  • LVM: Duplica nome VG VolGroup00
  • ZPOOL sostituisce il disco difettoso nella piscina esportta
  • 3 Solutions collect form web for “Come ridimensionare l'arrays RAID1 con mdadm?”

    Basta usare

     mdadm --grow --size max /dev/md2 

    Allora sarai in grado di utilizzare

     resize2fs 

    Per consentire al file system di corrispondere alla dimensione del raid. Tutto ciò è fatto online anche senza smontare il md2.

    Io uso regolarmente mdadm e lo considero una delle utilità Linux più pericolose. Tuttavia, se si utilizzano le precauzioni di sicurezza corrette è ansible evitare la maggior parte dei casi di perdita di dati potenziali Backup tutti i tuoi dati !!! sono stato mordicato due volte da mdadm in passato, ha perso oltre 700GB di dati e molto poco è stato in grado di essere recuperato, sei stato avvertito.

    C'è una buona probabilità che tu abbia bisogno di creare l'arrays RAID nuovamente perché mdadm non prevede o compensa gli azionamenti che improvvisamente aumentano le size. Utilizzerà la dimensione dichiarata nel superblock del raid e non l'unità stessa. A condizione che le unità siano già sincronizzate, non dovresti avere molti problemi.

    Ricorda che se si desidera eseguire l'avvio, utilizzare la versione 0.9 di superblock.

    Modifica

    Questo è come farlo, non testato !

    Creare un RAID1 con un'immersione mancante solo in modo da poter testare rapidamente che i dati rimangono mentre avevamo ancora un'altra unità con una copia dei dati, i tuoi vecchi metadati sono stati 0,90 in modo da mantenere la stessa versione qui.

     mdadm --create /dev/md2 --level=mirror --metadata=0.90 --raid-devices=2 missing /dev/sdb3 

    Montarlo per verificare che tutto funzioni

     mkdir /mnt/test mount /dev/md2 /mnt/test 

    controllare i tuoi dati

      ls -l /mnt/test 

    Se tutto sembra ok, smontare l'unità e ridimensionare.

     unmount /mnt/md2 resize2fs /dev/md2 

    Una volta che tutto è ok, puoi aggiungere l'altro disco all'arrays.

     mdadm --add /dev/md2 /dev/sdb3 

    e attendere che le unità si risinsino

    cat / proc / mdstat

    Dalla visualizzazione di / proc / partizioni , è evidente che linux pensa che sda3 e sdb3 siano più piccoli di quanto lo siano.

    Somma le size delle partizioni

     8 17 96358 sdb1 8 18 3903795 sdb2 8 19 152248005 sdb3 

    e otterrai un numero molto inferiore alla dimensione del disco.

     8 16 488386584 sdb 

    152248005 blocchi di 1024 byte è coerente con la dimensione mdadm --grow e resize2fs stanno segnalando per md2 .

    Hai inizialmente creato queste partizioni con una dimensione minore, quindi in seguito crearle per utilizzare il resto dei dischi? Se è così, il riavvio dovrebbe permettere al kernel di leggere nuovamente la tabella delle partizioni. Dopo di che, la crescita del dispositivo RAID e la ridimensionamento del filesystem dovrebbero funzionare.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.