세 번째 디스크를 추가하여 세 개의 디스크 소프트웨어 RAID를 만드는 방법은 무엇입니까?


3

서버가 CentOS를 실행 중이고 2 개의 디스크 소프트웨어 RAID를 성공적으로 실행했습니다. 중복성을 위해 여기에 세 번째 디스크를 추가하고 싶습니다. 따라서 하나의 디스크가 고장 나더라도 고장난 디스크를 교체 할 때까지 시스템에는 두 개의 디스크가 계속 작동합니다.

DVD-ROM에서 CentOS를 설치할 때, 과거에 두 개의 디스크 RAID 소프트웨어를 설정했습니다. 그러나 실행중인 시스템의 기존 두 디스크 소프트웨어 RAID에 세 번째 디스크를 어떻게 추가합니까?


더 많은 정보가 필요합니다-어떤 RAID 레벨을 실행하고 있습니까?
Mikey TK

답변:


3

디스크 2 개와 중복성은 RAID1이 이미 사용 중임을 나타냅니다. 중복성을 높이기 위해 RAID5가 더 많은 공간을 제공하기 때문에 옵션이 아니라고 생각합니다. 3 개의 디스크에서는 2의 RAID1과 동일하며 하나의 디스크를 잃을 수 있습니다.

따라서 RAID1을 가정 :

mdadm --add /dev/mdX /dev/sdY
mdadm --grow --raid-devices=3 /dev/mdX

lvm2 (거울 또는 dm-raid)를 사용하면 다음과 같습니다.

vgextend VG /dev/sdY
lvconvert -m2 VG/LV

0

RAID-1을 3 디스크 RAID-5 설정 으로 재구성 하려고합니다 . md, 아마 사용중인 소프트웨어 RAID는 다행스럽게도 형태 변경을 지원합니다.

WARNING : 재앙 적으로 잘못 될 가능성이있는 경우를 대비하여 데이터를 백업했는지 확인하십시오.


전체 예

설정에 대한 세부 정보를 제공하지 않았으므로 누구나 시도해 볼 수있는 완전한 예를 보여 드리겠습니다.

RAID-1 설정

root@node51 [/tmp]# truncate -s 1G 1.img
root@node51 [/tmp]# truncate -s 1G 2.img
root@node51 [/tmp]# losetup /dev/loop1 1.img
root@node51 [/tmp]# losetup /dev/loop2 2.img
root@node51 [/tmp]# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/loop{1,2}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 1048000K
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

어레이가 RAID-1처럼 보이는 방법 :

root@node51 [/tmp]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Mar  9 15:30:18 2016
     Raid Level : raid1
     Array Size : 1048000 (1023.61 MiB 1073.15 MB)
  Used Dev Size : 1048000 (1023.61 MiB 1073.15 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Wed Mar  9 15:30:24 2016
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : node51:0  (local to host node51)
           UUID : 9f03708b:dfe27926:16485757:02cbc146
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2

파일 시스템 및 / 또는 파티션 추가 (선택 사항)

여기에서는 간단한 파일 시스템 설정과 크기 조정에 대해 설명하지만 다른 곳에서 더 자세한 크기 조정 팁을 찾을 수 있습니다 (이 답변의 맨 아래에있는 "추가 리소스"참조).

root@node51 [/tmp]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262000 blocks
13100 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

root@node51 [/tmp]# mount /dev/md0 /mnt
root@node51 [/tmp]# df -hT /mnt
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       ext4  992M  1.3M  923M   1% /mnt

세번째 디스크 추가

root@node51 [/tmp]# truncate -s 1G 3.img
root@node51 [/tmp]# losetup /dev/loop3 3.img
root@node51 [/tmp]# mdadm --add /dev/md0 /dev/loop3
mdadm: added /dev/loop3

세 번째 디스크를 추가했으면 예비 디스크로 표시됩니다.

root@node51 [/tmp]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Mar  9 15:30:18 2016
     Raid Level : raid1
     Array Size : 1048000 (1023.61 MiB 1073.15 MB)
  Used Dev Size : 1048000 (1023.61 MiB 1073.15 MB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Wed Mar  9 15:31:10 2016
          State : clean
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           Name : node51:0  (local to host node51)
           UUID : 9f03708b:dfe27926:16485757:02cbc146
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2

       2       7        3        -      spare   /dev/loop3

RAID-1을 RAID-5로 재구성

root@node51 [/tmp]# mdadm --grow /dev/md0 --level=5 --raid-devices=3
mdadm: level of /dev/md0 changed to raid5
mdadm: Need to backup 128K of critical section..

시간이 오래 걸릴 수 있습니다. cat /proc/mdstat진행 상황을 확인할 수 있습니다 .

root@node51 [/tmp]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid5 loop3[2] loop2[1] loop1[0]
      1048000 blocks super 1.2 level 5, 64k chunk, algorithm 2 [3/3] [UUU]
      [=====>...............]  reshape = 25.0% (262208/1048000) finish=0.1min speed=87360K/sec

unused devices: <none>

이제 RAID-5가 있습니다!

root@node51 [/tmp]# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Mar  9 15:30:18 2016
     Raid Level : raid5
     Array Size : 2096000 (2047.22 MiB 2146.30 MB)
  Used Dev Size : 1048000 (1023.61 MiB 1073.15 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Wed Mar  9 15:31:49 2016
          State : clean
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 64K

           Name : node51:0  (local to host node51)
           UUID : 9f03708b:dfe27926:16485757:02cbc146
         Events : 41

    Number   Major   Minor   RaidDevice State
       0       7        1        0      active sync   /dev/loop1
       1       7        2        1      active sync   /dev/loop2
       2       7        3        2      active sync   /dev/loop3

파일 시스템 및 / 또는 파티션의 크기를 늘리십시오 (선택 사항)

여기에서 ext4의 온라인 확장 기능으로 내 파일 시스템 1GiB2GiB되는 것을 볼 수 있습니다 .

root@node51 [/tmp]# df -hT /mnt
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       ext4  992M  1.3M  923M   1% /mnt
root@node51 [/tmp]# resize2fs /dev/md0
resize2fs 1.42.9 (4-Feb-2014)
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 524000 blocks long.

root@node51 [/tmp]# df -hT /mnt
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       ext4  2.0G  1.5M  1.9G   1% /mnt

다른 파일 시스템 크기 조정 시나리오는이 답변의 끝에있는 "추가 리소스"를 참조하십시오.

정리 예 (선택 사항)

위의 예제를 해제하고 삭제하는 방법은 다음과 같습니다.

root@node51 [/tmp]# umount /mnt
root@node51 [/tmp]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0
root@node51 [/tmp]# losetup -d /dev/loop1
root@node51 [/tmp]# losetup -d /dev/loop2
root@node51 [/tmp]# losetup -d /dev/loop3
root@node51 [/tmp]# rm -fv /tmp/{1,2,3}.img
removed ‘/tmp/1.img’
removed ‘/tmp/2.img’
removed ‘/tmp/3.img’

추가 자료

파일 시스템 크기 조정에 대한 다른 답변을 썼습니다. 동일한 개념을 사용하여 RAID에서 파일 시스템을 확장 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.