리눅스 시스템 RAID

Jake Lee·2022년 11월 23일

리눅스시스템

목록 보기
9/9

1. RAID(Redundant Array of Independent Disks)란?

  • 개념

    • Linear RAID

      • 2개 이상의 디스크를 직렬로 연결하여 하나의 볼륨으로 사용, 앞 디스크부터 차례대로 저장한다.
    • RAID 0(스트라이핑)

      • 여러 개의 디스크를 병렬로 연결하여 데이터를 동시에 입출력

      • 신뢰성이 낮지만 속도가 매우 빠르고 공간 효율성이 좋다.

    • RAID 1(미러링)

      • 예를 들어 8개의 같은 용량의 디스크가 있는 경우, 4개만 입출력에 사용하고 4개는 백업용으로 사용한다.
      • 신뢰성이 높지만 속도가 느리고 공간 효율성이 낮다.
    • RAID 4

      • RAID 0와 RAID 1의 장점을 결합한 방식

      • 기본적으로 블록 단위로 스트라이핑을 하되, 하나의 디스크를 오류 복구용 디스크로 쓴다. 복구용 디스크에는 패리티 비트가 저장된다.

      • 예를들어 디스크 4개에 스트라이핑을 했는데 디스크 하나가 오류가 난 경우, 복구용 디스크로 가서, 해당하는 패리티 비트에 저장된 패리티 정보(해당 블록의 1의 갯수가 짝수인지 홀수인지)를 이용하여 오류난 디스크에 저장됐었던 비트가 0인지 1인지 판별하여 복구를 진행하게 된다.

    • RAID 5

      • RAID 4의 오류 복구용 디스크에 가해지는 병목현상을 개선한 방식

      • 오류 복구용 디스크를 따로 두지 않고 페리티 비트를 분산하여 저장한다.


  • RAID 구축 과정

    1) fdisk 명령으로 각 하드디스크의 file system type이 fd(Linux raid auto)가 되도록 partitioning을 진행한다.

    2) mdadm 명령으로 RAID를 구성한다.

    3) mkfs 명령으로 생성한 RAID를 Formatting한다.

    4) mount 명령으로 mount를 진행한다.


2. 실습

  • ex1) sdc, sdd를 Linear RAID로 구축하고 해제하기
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
sdd           8:48   0   16G  0 disk 
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# fdisk /dev/sdc

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x85b5ff6c.

Command (m for help): p
Disk /dev/sdc: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x85b5ff6c

Command (m for help): nn^H
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-33554431, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-33554431, default 33554431): 

Created a new partition 1 of type 'Linux' and of size 16 GiB.

Command (m for help): p
Disk /dev/sdc: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x85b5ff6c

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        2048 33554431 33552384  16G 83 Linux

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden or  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi ea  Rufus alignment
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs        
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ee  GPT            
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f1  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f4  SpeedStor      
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      f2  DOS secondary  
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS    
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE 
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fd  Linux raid auto
1c  Hidden W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep        
1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot    ff  BBT            
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'.

Command (m for help): p
Disk /dev/sdc: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x85b5ff6c

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        2048 33554431 33552384  16G fd Linux raid autodetect

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.


[root@localhost ~]# fdisk /dev/sdd

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x396aa9af.

Command (m for help): p
Disk /dev/sdd: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x396aa9af

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-33554431, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-33554431, default 33554431): 

Created a new partition 1 of type 'Linux' and of size 16 GiB.

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'.

Command (m for help): p
Disk /dev/sdd: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x396aa9af

Device     Boot Start      End  Sectors Size Id Type
/dev/sdd1        2048 33554431 33552384  16G fd Linux raid autodetect

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# mdadm -C /dev/md0 -l linear -n 2 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Nov 18 15:25:26 2022
        Raid Level : linear
        Array Size : 33533952 (31.98 GiB 34.34 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:25:26 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

          Rounding : 0K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : c54cc9ca:b9bcab23:892c4285:1e2a5829
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT
sda           8:0    0   16G  0 disk   
├─sda1        8:1    0    1G  0 part   /boot
└─sda2        8:2    0   15G  0 part   
  ├─cs-root 253:0    0 13.4G  0 lvm    /
  └─cs-swap 253:1    0  1.6G  0 lvm    [SWAP]
sdb           8:16   0   16G  0 disk    
sdc           8:32   0   16G  0 disk   
└─sdc1        8:33   0   16G  0 part   
  └─md0       9:0    0   32G  0 linear 
sdd           8:48   0   16G  0 disk   
└─sdd1        8:49   0   16G  0 part   
  └─md0       9:0    0   32G  0 linear 
sr0          11:0    1 1024M  0 rom    

[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 8383488 4k blocks and 2097152 inodes
Filesystem UUID: 5659bf30-9ef7-4bad-b146-d3b662a5668a
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624

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

[root@localhost ~]# mkdir /lin

[root@localhost ~]# mount /dev/md0 /lin

[root@localhost ~]# df
Filesystem          1K-blocks    Used Available Use% Mounted on
devtmpfs               463696       0    463696   0% /dev
tmpfs                  493944       0    493944   0% /dev/shm
tmpfs                  493944    7112    486832   2% /run
tmpfs                  493944       0    493944   0% /sys/fs/cgroup
/dev/mapper/cs-root  14034944 5523008   8511936  40% /
/dev/sda1             1038336  237208    801128  23% /boot
tmpfs                   98788       0     98788   0% /run/user/0
/dev/md0             32827152      24  31134048   1% /lin

[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT
sda           8:0    0   16G  0 disk   
├─sda1        8:1    0    1G  0 part   /boot
└─sda2        8:2    0   15G  0 part   
  ├─cs-root 253:0    0 13.4G  0 lvm    /
  └─cs-swap 253:1    0  1.6G  0 lvm    [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk   
└─sdc1        8:33   0   16G  0 part   
  └─md0       9:0    0   32G  0 linear /lin
sdd           8:48   0   16G  0 disk   
└─sdd1        8:49   0   16G  0 part   
  └─md0       9:0    0   32G  0 linear /lin
sr0          11:0    1 1024M  0 rom    

[root@localhost ~]# cd /lin

[root@localhost lin]# touch aaa

[root@localhost lin]# ls
aaa  lost+found

[root@localhost lin]# cat /proc/mdstat
Personalities : [linear] 
md0 : active linear sdd1[1] sdc1[0]
      33533952 blocks super 1.2 0k rounding
      
unused devices: <none>


[root@localhost lin]# cd


[root@localhost ~]# umount /dev/md0


[root@localhost ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0


[root@localhost ~]# mdadm --zero-superblock /dev/sd[cd]1


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# cat /proc/mdstat
Personalities : [linear] 
unused devices: <none>

  • ex2) sdc, sdd를 RAID 0으로 구축하고 해제하기
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sde           8:64   0   16G  0 disk 
└─sde1        8:65   0   16G  0 part 
sdf           8:80   0   16G  0 disk  
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# fdisk /dev/sdc

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p
Disk /dev/sdc: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x85b5ff6c

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        2048 33554431 33552384  16G fd Linux raid autodetect

Command (m for help): q


[root@localhost ~]# mdadm -C /dev/md0 -l raid0 -n 2 /dev/sd[cd]1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   16G  0 disk  
├─sda1        8:1    0    1G  0 part  /boot
└─sda2        8:2    0   15G  0 part  
  ├─cs-root 253:0    0 13.4G  0 lvm   /
  └─cs-swap 253:1    0  1.6G  0 lvm   [SWAP]
sdb           8:16   0   16G  0 disk  
sdc           8:32   0   16G  0 disk  
└─sdc1        8:33   0   16G  0 part  
  └─md0       9:0    0   32G  0 raid0 
sdd           8:48   0   16G  0 disk  
└─sdd1        8:49   0   16G  0 part  
  └─md0       9:0    0   32G  0 raid0 
sde           8:64   0   16G  0 disk  
└─sde1        8:65   0   16G  0 part  
sdf           8:80   0   16G  0 disk  
sr0          11:0    1 1024M  0 rom   


[root@localhost ~]# cat /proc/mdstat
Personalities : [linear] [raid0] 
md0 : active raid0 sdd1[1] sdc1[0]
      33533952 blocks super 1.2 512k chunks
      
unused devices: <none>


[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Fri Nov 18 15:40:38 2022
        Raid Level : raid0
        Array Size : 33533952 (31.98 GiB 34.34 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:40:38 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

            Layout : -unknown-
        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : d835ddd7:1c2a6bd1:dacd576e:5e7c3f6f
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1


[root@localhost ~]# mkfs.ext3 /dev/md0
mke2fs 1.45.6 (20-Mar-2020)
/dev/md0 contains a ext4 file system
	last mounted on /lin on Fri Nov 18 15:30:29 2022
Proceed anyway? (y,N) y
Creating filesystem with 8383488 4k blocks and 2097152 inodes
Filesystem UUID: ebe990f6-f41d-4842-9ee3-b51ad397158f
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): 

done
Writing superblocks and filesystem accounting information: done   


[root@localhost ~]# mkdir r0


[root@localhost ~]# ls
077        Music      TestCD.iso       b1  b6                  hello                 tarTest.tar
Desktop    Pictures   Videos           b2  b7                  initial-setup-ks.cfg
Documents  Public     aaa              b3  b8                  iso-test
Downloads  Templates  anaconda-ks.cfg  b5  gzipTarTest.tar.gz  r0


[root@localhost ~]# mount /dev/md0 r0


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   16G  0 disk  
├─sda1        8:1    0    1G  0 part  /boot
└─sda2        8:2    0   15G  0 part  
  ├─cs-root 253:0    0 13.4G  0 lvm   /
  └─cs-swap 253:1    0  1.6G  0 lvm   [SWAP]
sdb           8:16   0   16G  0 disk  
sdc           8:32   0   16G  0 disk  
└─sdc1        8:33   0   16G  0 part  
  └─md0       9:0    0   32G  0 raid0 /root/r0
sdd           8:48   0   16G  0 disk  
└─sdd1        8:49   0   16G  0 part  
  └─md0       9:0    0   32G  0 raid0 /root/r0
sde           8:64   0   16G  0 disk  
└─sde1        8:65   0   16G  0 part  
sdf           8:80   0   16G  0 disk  
sr0          11:0    1 1024M  0 rom   


[root@localhost ~]# df
Filesystem          1K-blocks    Used Available Use% Mounted on
devtmpfs               463696       0    463696   0% /dev
tmpfs                  493944       0    493944   0% /dev/shm
tmpfs                  493944    7116    486828   2% /run
tmpfs                  493944       0    493944   0% /sys/fs/cgroup
/dev/mapper/cs-root  14034944 5522872   8512072  40% /
/dev/sda1             1038336  237208    801128  23% /boot
tmpfs                   98788       0     98788   0% /run/user/0
/dev/md0             32827344     156  31150492   1% /root/r0


[root@localhost ~]# umount r0


[root@localhost ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sde           8:64   0   16G  0 disk 
└─sde1        8:65   0   16G  0 part 
sdf           8:80   0   16G  0 disk 
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# mdadm --zero-superblock /dev/sdc1


[root@localhost ~]# mdadm --zero-superblock /dev/sdd1

  • ex3) sdc, sdd를 RAID 1으로 구축하고, 백업디스크를 sde로 교체해보기




[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sde           8:64   0   16G  0 disk 
└─sde1        8:65   0   16G  0 part 
sdf           8:80   0   16G  0 disk 
sr0          11:0    1 1024M  0 rom  


[root@localhost ~]# fdisk /dev/sdc

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdc: 16 GiB, 17179869184 bytes, 33554432 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
Disklabel type: dos
Disk identifier: 0x85b5ff6c

Device     Boot Start      End  Sectors Size Id Type
/dev/sdc1        2048 33554431 33552384  16G fd Linux raid autodetect

Command (m for help): q


[root@localhost ~]# mdadm -C /dev/md1 -l raid1 -n2 /dev/sd[cd]1
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
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:49:18 2022
             State : clean, resyncing 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 30% complete

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 4

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1


[root@localhost ~]# mkfs.ext4 /dev/md1
mke2fs 1.45.6 (20-Mar-2020)
/dev/md1 contains a ext3 file system
	last mounted on Fri Nov 18 15:44:09 2022
Proceed anyway? (y,N) y
Creating filesystem with 4191744 4k blocks and 1048576 inodes
Filesystem UUID: 8a1d6edd-5b65-4173-9b44-0f70bbd770dd
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

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


[root@localhost ~]# mkdir /r1


[root@localhost ~]# ls
077        Music      TestCD.iso       b1  b6                  hello                 tarTest.tar
Desktop    Pictures   Videos           b2  b7                  initial-setup-ks.cfg
Documents  Public     aaa              b3  b8                  iso-test
Downloads  Templates  anaconda-ks.cfg  b5  gzipTarTest.tar.gz  r0


[root@localhost ~]# mount /dev/md1 /r1


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   16G  0 disk  
├─sda1        8:1    0    1G  0 part  /boot
└─sda2        8:2    0   15G  0 part  
  ├─cs-root 253:0    0 13.4G  0 lvm   /
  └─cs-swap 253:1    0  1.6G  0 lvm   [SWAP]
sdb           8:16   0   16G  0 disk  
sdc           8:32   0   16G  0 disk  
└─sdc1        8:33   0   16G  0 part  
  └─md1       9:1    0   16G  0 raid1 /r1
sdd           8:48   0   16G  0 disk  
└─sdd1        8:49   0   16G  0 part  
  └─md1       9:1    0   16G  0 raid1 /r1
sde           8:64   0   16G  0 disk  
└─sde1        8:65   0   16G  0 part  
sdf           8:80   0   16G  0 disk  
sr0          11:0    1 1024M  0 rom   


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:53:39 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 21

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1


[root@localhost ~]# mdadm -E /dev/sde1
mdadm: No md superblock detected on /dev/sde1.


[root@localhost ~]# mdadm /dev/md1 --add /dev/sde1
mdadm: added /dev/sde1


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 2
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:55:47 2022
             State : clean 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 22

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1

       2       8       65        -      spare   /dev/sde1


[root@localhost ~]# mdadm --grow -n 3 /dev/md1
raid_disks for /dev/md1 set to 3


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:57:31 2022
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : resync

    Rebuild Status : 14% complete

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 28

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      spare rebuilding   /dev/sde1


[root@localhost ~]# mdadm --fail /dev/md1 /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md1


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:58:45 2022
             State : clean, degraded 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 47

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      active sync   /dev/sde1

       0       8       33        -      faulty   /dev/sdc1


[root@localhost ~]# mdadm --remove /dev/md1 /dev/sdc1
mdadm: hot removed /dev/sdc1 from /dev/md1


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 3
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 15:59:57 2022
             State : clean, degraded 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 48

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       49        1      active sync   /dev/sdd1
       2       8       65        2      active sync   /dev/sde1


[root@localhost ~]# mdadm --grow -n 2 /dev/md1
raid_disks for /dev/md1 set to 2


[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Fri Nov 18 15:48:57 2022
        Raid Level : raid1
        Array Size : 16766976 (15.99 GiB 17.17 GB)
     Used Dev Size : 16766976 (15.99 GiB 17.17 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Nov 18 16:00:46 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : e47960ec:db6cf4b6:a0480e94:f017eb6f
            Events : 51

    Number   Major   Minor   RaidDevice State
       1       8       49        0      active sync   /dev/sdd1
       2       8       65        1      active sync   /dev/sde1


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   16G  0 disk  
├─sda1        8:1    0    1G  0 part  /boot
└─sda2        8:2    0   15G  0 part  
  ├─cs-root 253:0    0 13.4G  0 lvm   /
  └─cs-swap 253:1    0  1.6G  0 lvm   [SWAP]
sdb           8:16   0   16G  0 disk  
├─sdb1        8:17   0    1G  0 part  
├─sdb2        8:18   0    1G  0 part  
├─sdb3        8:19   0    2G  0 part  
├─sdb4        8:20   0    1K  0 part  
├─sdb5        8:21   0    2G  0 part  
├─sdb6        8:22   0    1G  0 part  
├─sdb7        8:23   0    1G  0 part  
└─sdb8        8:24   0    8G  0 part  
sdc           8:32   0   16G  0 disk  
└─sdc1        8:33   0   16G  0 part  
sdd           8:48   0   16G  0 disk  
└─sdd1        8:49   0   16G  0 part  
  └─md1       9:1    0   16G  0 raid1 /r1
sde           8:64   0   16G  0 disk  
└─sde1        8:65   0   16G  0 part  
  └─md1       9:1    0   16G  0 raid1 /r1
sdf           8:80   0   16G  0 disk  
sr0          11:0    1 1024M  0 rom   


[root@localhost ~]# umount /r1


[root@localhost ~]# mdadm --stop /dev/md1
mdadm: stopped /dev/md1


[root@localhost ~]# mdadm --zero-superblock /dev/sdc1


[root@localhost ~]# mdadm --zero-superblock /dev/sdd1


[root@localhost ~]# mdadm --zero-superblock /dev/sde1


[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0   16G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   15G  0 part 
  ├─cs-root 253:0    0 13.4G  0 lvm  /
  └─cs-swap 253:1    0  1.6G  0 lvm  [SWAP]
sdb           8:16   0   16G  0 disk 
sdc           8:32   0   16G  0 disk 
└─sdc1        8:33   0   16G  0 part 
sdd           8:48   0   16G  0 disk 
└─sdd1        8:49   0   16G  0 part 
sde           8:64   0   16G  0 disk 
└─sde1        8:65   0   16G  0 part 
sdf           8:80   0   16G  0 disk 
sr0          11:0    1 1024M  0 rom  

0개의 댓글