• [^] # Re: En théorie ....

    Posté par . En réponse au message Agrandir un raid sans LVM. Évalué à 3. Dernière modification le 10 août 2018 à 16:21.

    Voici le test :

    On commence par créer les images disque et initialiser les peripheriques loop:

    for i in 1 2 3 4 5 ; do dd if=/dev/zero of=test${i}.img bs=1M count=1024; sudo losetup /dev/loop${i} ./test${i}.img ; done
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 0.828014 s, 1.3 GB/s
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 2.93688 s, 366 MB/s
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 3.44726 s, 311 MB/s
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 3.44369 s, 312 MB/s
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 5.11845 s, 210 MB/s
    

    Ensuite on crée le device

    $ sudo mdadm --create /dev/md0 -n 3 -l 5 /dev/loop1 /dev/loop2 /dev/loop3
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    

    On crée le filesystem:

    $ sudo mkfs -T ext4 /dev/md0
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=128 blocks, Stripe width=256 blocks
    131072 inodes, 523776 blocks
    26188 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=536870912
    16 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
     32768, 98304, 163840, 229376, 294912
    Allocating group tables: done
    Writing inode tables: done
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done
    

    On monte le filesystem:

    $ sudo mount /dev/md0 /mnt && df /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/md0 2029392 6144 1902112 1% /mnt
    

    On ajoute les devices :

    $ sudo mdadm --manage /dev/md0 --add /dev/loop5
    mdadm: added /dev/loop5
    $ sudo mdadm --manage /dev/md0 --add /dev/loop4
    mdadm: added /dev/loop4
    

    extension de l'array sur les deux disques :

    $ sudo mdadm --grow /dev/md0 --raid-devices=5
    mdadm: Need to backup 2048K of critical section..
    

    On vérifie l'état de la reconstruction :

    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
     [======>..............] reshape = 34.1% (358400/1047552) finish=0.3min speed=29866K/sec
    unused devices: <none>
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
     [=============>.......] reshape = 69.3% (727040/1047552) finish=0.1min speed=33047K/sec
    unused devices: <none>
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
     [===================>.] reshape = 95.2% (998400/1047552) finish=0.0min speed=34427K/sec
    unused devices: <none>
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
     [===================>.] reshape = 95.2% (998400/1047552) finish=0.0min speed=28525K/sec
    unused devices: <none>
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     2095104 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
     [===================>.] reshape = 95.3% (998912/1047552) finish=0.0min speed=25613K/sec
    unused devices: <none>
    $ cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 loop4[5] loop5[4] loop3[3] loop2[1] loop1[0]
     4190208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
    unused devices: <none>
    

    Une fois que c'est terminé, on redimensionne le fs (j'ai fait un df avant et après le resize2fs pous s'assurer que le fs est bien étendu):

    $ df /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/md0 2029392 6144 1902112 1% /mnt
    $ resize2fs /dev/md0
    resize2fs 1.42.9 (28-Dec-2013)
    open: Permission denied while opening /dev/md0
    $ df /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/md0 2029392 6144 1902112 1% /mnt
    $ sudo resize2fs /dev/md0
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/md0 is mounted on /mnt; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/md0 is now 1047552 blocks long.
    $ df /mnt
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/md0 4091584 8184 3878544 1% /mnt