ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINUX DISK Linear RAID 구성하는 방법(1편)
    System of Infra/Linux System 2022. 3. 30. 00:20
    반응형

    LINUX로고이미지

     

    LINUX DISK Linear RAID 구성하는 방법(1편)

    [root@localhost dev]# ls -al sd*
    brw-rw---- 1 root disk 8,   0  3월 20 17:41 sda
    brw-rw---- 1 root disk 8,   1  3월 20 17:41 sda1
    brw-rw---- 1 root disk 8,   2  3월 20 17:41 sda2
    brw-rw---- 1 root disk 8,  16  3월 20 17:41 sdb
    brw-rw---- 1 root disk 8,  32  3월 20 17:41 sdc
    brw-rw---- 1 root disk 8,  48  3월 20 17:41 sdd
    brw-rw---- 1 root disk 8,  64  3월 20 17:41 sde
    brw-rw---- 1 root disk 8,  80  3월 20 17:41 sdf
    brw-rw---- 1 root disk 8,  96  3월 20 17:41 sdg
    brw-rw---- 1 root disk 8, 112  3월 20 17:41 sdh
    brw-rw---- 1 root disk 8, 128  3월 20 17:41 sdi
    brw-rw---- 1 root disk 8, 144  3월 20 17:41 sdj
    ▶ LINUX DISK 추가하는 방법을 통해서 디스크를 추가하는 법을 배우셨다면 이번 시간에 추가된 디스크를 통해서 디스크의 RAID 구성을 진행해보도록 하겠습니다. 테스트를 진행하기에 앞서 1GB 디스크 10개를 추가해주도록 합니다.
    [root@localhost dev]# fdisk /dev/sdb
    
    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 0x4b5f86fb.
    
    Command (m for help): n
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-4194303, default 2048): 
    Last sector, +sectors or +size{K,M,G,T,P} (2048-4194303, default 4194303): 
    
    Created a new partition 1 of type 'Linux' and of size 2 GiB.
    
    Command (m for help): p
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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: 0x4b5f86fb
    
    Device     Boot Start     End Sectors Size Id Type
    /dev/sdb1        2048 4194303 4192256   2G 83 Linux
    ▶ 추가된 디스크 /dev/sdb를 기준으로 보면 논리적으로 파티셔닝을 진행하기 위해 fdisk 명령어를 통해서 단계별 절차를 진행하도록 합니다. 마지막에 p(print)를 통해서 확인하게 되면 Type Linux라는 것을 확인할 수 있습니다.
    Command (m for help): 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
    ▶ Command line의 man 페이지 처럼 타입에 대한 소개가 나열된 모습을 확인할 수 있습니다. 이번 시간에는 RAID를 구성하기 위함으로 fd(Linux raid auto)를 설정하도록 하겠습니다.
    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/sdb: 2 GiB, 2147483648 bytes, 4194304 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: 0x4b5f86fb
    
    Device     Boot Start     End Sectors Size Id Type
    /dev/sdb1        2048 4194303 4192256   2G fd Linux raid autodetect
    
    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    ▶ t(type) 옵션을 통해서 fd를 선택하고 p(print)를 통해서 Linux raid autodetect Type이 설정된것을 확인할 수 있습니다.
    [root@localhost dev]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0   80G  0 disk 
    ├─sda1   8:1    0    4G  0 part [SWAP]
    └─sda2   8:2    0   76G  0 part /
    sdb      8:16   0    2G  0 disk 
    └─sdb1   8:17   0    2G  0 part 
    sdc      8:32   0    1G  0 disk 
    └─sdc1   8:33   0 1023M  0 part 
    sdd      8:48   0    1G  0 disk 
    └─sdd1   8:49   0 1023M  0 part 
    sde      8:64   0    1G  0 disk 
    └─sde1   8:65   0 1023M  0 part 
    sdf      8:80   0    1G  0 disk 
    └─sdf1   8:81   0 1023M  0 part 
    sdg      8:96   0    1G  0 disk 
    └─sdg1   8:97   0 1023M  0 part 
    sdh      8:112  0    1G  0 disk 
    └─sdh1   8:113  0 1023M  0 part 
    sdi      8:128  0    1G  0 disk 
    └─sdi1   8:129  0 1023M  0 part 
    sdj      8:144  0    1G  0 disk 
    └─sdj1   8:145  0 1023M  0 part
    ▶ 실습을 토대로 나머지 9개의 DISK도 해당 Type으로 설정을 해주시면 될 것 같습니다.
    [root@localhost ~]# fdisk -l | grep -i sdb1; fdisk -l | grep -i sdc1
    /dev/sdb1        2048 4194303 4192256   2G fd Linux raid autodetect
    /dev/sdc1        2048 2097151 2095104 1023M fd Linux raid autodetect
    ▶ 생성된 디스크 중에서 /dev/sdb1 2GB 디스크와 /dev/sdc1 1GB의 용량을 합하여 3GB의 용량의 디스크를 생성해 보도록 하겠습니다.

    *Linear Raid
     - 선형 RAID는 여러개의 디스크를 연결해 하나의 큰 가상 디스크를 만든다.
     - 첫 번째 디스크가 완전히 채워지면 순차적으로 다음 디스크에 데이터를 저장한다.
     - 성능 면에서는 큰 장점이 없으며, 하나의 디스크가 고장이 나면 묶여 있던 볼륨 자체를 사용할 수 없게 된다.
    [root@localhost ~]# fdisk -l /dev/sdb
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 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: 0x4b5f86fb
    
    Device     Boot Start     End Sectors Size Id Type
    /dev/sdb1        2048 4194303 4192256   2G fd Linux raid autodetect
    
    
    [root@localhost ~]# fdisk -l /dev/sdc
    Disk /dev/sdc: 1 GiB, 1073741824 bytes, 2097152 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: 0x32e3b054
    
    Device     Boot Start     End Sectors  Size Id Type
    /dev/sdc1        2048 2097151 2095104 1023M fd Linux raid autodetect
    ▶ /dev/sdb의 논리적 디스크 /dev/sdb1과 /deb/sdc의 논리적 디스크 /dev/sdc1의 Type이 Linux raid autodetect라는 것을 확인할 수 있고 두 개의 디스크를 합하여 Linear Raid 디스크를 구성하도록 하겠습니다.
    [root@localhost /]# mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md9 started.
    ▶ mdadm 명령어를 통해서 /dev/md9라는 이름으로 Linear Raid를 구성합니다. devices를 2개로 성하고 타깃은 /dev/sdb1 /dev/sdc1로 지정합니다.
    [root@localhost /]# mdadm --detail --scan
    ARRAY /dev/md9 metadata=1.2 name=localhost.localdomain:9 UUID=167afdbc:194dd070:7dd17997:7fbc8323
    ▶ 생성된 디스크를 mdadm --detail --scan을 통해서 스캔해주도록 합니다. 스캔을 하게 되면 디스크의 고유 아이디인 UUID가 생성이 됩니다.
    [root@localhost /]# mkfs.ext4 /dev/md9
    mke2fs 1.44.3 (10-July-2018)
    Creating filesystem with 784896 4k blocks and 196224 inodes
    Filesystem UUID: fa504d8c-f670-4544-abd7-63af1c68a3b7
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (16384 blocks): done
    Writing superblocks and filesystem accounting information: done
    ▶ 생성된 Linear Raid의 디스크 파일 시스템 타입을 ext4로 변경을 해주도록 합니다.
    [root@localhost /]# mkdir /raidLinear
    
    [root@localhost /]# mount /dev/md9 /raidLinear
    
    [root@localhost /]# df -Th | grep -i raidLinear
    /dev/md9       ext4      2.9G  9.0M  2.8G   1% /raidLinear
    ▶ 마운트 할 디렉터리 파일을 Linear Raid라고 한 개 생성해 주도록 하고 마운트를 하면 해당 파일 시스템이 2.9GB의 용량으로 마운트 된 것을 확인할 수 있습니다.
    [root@localhost /]# vi /etc/fstab
    #
    # /etc/fstab
    # Created by anaconda on Mon Feb 28 20:48:23 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
    #
    # After editing this file, run 'systemctl daemon-reload' to update systemd
    # units generated from this file.
    #
    UUID=6d75a782-7d9b-4e9e-a338-fa882a919ada /                       xfs     defaults        0 0
    UUID=ae9aeae5-2577-49e3-86d9-63db631bc9d8 swap                    swap    defaults        0 0
    /dev/md9			          /raidLinear	          ext4    defaults	  0 0
    ▶ 서버 재부팅 시 자동으로 마운트 될 수 있도록 /etc/fstab에 DISK 이름과 파일 시스템 이름을 넣어주도록 합니다.
    [root@localhost /]# mdadm --detail /dev/md9
    /dev/md9:
               Version : 1.2
         Creation Time : Sun Mar 20 18:10:21 2022
            Raid Level : linear
            Array Size : 3139584 (2.99 GiB 3.21 GB)
          Raid Devices : 2
         Total Devices : 2
           Persistence : Superblock is persistent
    
           Update Time : Sun Mar 20 18:10:21 2022
                 State : clean 
        Active Devices : 2
       Working Devices : 2
        Failed Devices : 0
         Spare Devices : 0
    
              Rounding : 0K
    
    Consistency Policy : none
    
                  Name : localhost.localdomain:9  (local to host localhost.localdomain)
                  UUID : 167afdbc:194dd070:7dd17997:7fbc8323
                Events : 0
    
        Number   Major   Minor   RaidDevice State
           0       8       17        0      active sync   /dev/sdb1
           1       8       33        1      active sync   /dev/sdc1
    ▶ Linear RAID로 구성된 디스크에 대해서 Detail 하게 정보를 보기 위해서 확인을 하게 되면 Active DISK가 2개로 활성화되어 있는 것을 확인할 수 있습니다. 

    2022.03.21 - [System of Infra/LINUX] - LINUX DISK 추가를 통한 파티션 생성하는 방법(1편)

     

    LINUX DISK 추가를 통한 파티션 생성하는 방법(1편)

     LINUX  DISK 추가를 통한 파티션 생성하는 방법 [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 80G 0 disk ├─sda1 8:1 0 4G 0 part [SWAP] └─sda2 8:2 0 76G 0 par..

    pinetreeday.tistory.com

    2022.03.23 - [System of Infra/LINUX] - LINUX DISK 추가를 통한 파티션 생성하는 방법(2편)

     

    LINUX DISK 추가를 통한 파티션 생성하는 방법(2편)

    LINUX DISK 추가를 통한 파티션 생성하는 방법(1편) [root@localhost dev]# ls -ltr | grep -i sd brw-rw---- 1 root disk 8, 16 3월 20 16:44 sdb brw-rw---- 1 root disk 8, 0 3월 20 16:44 sda brw-rw---- 1 r..

    pinetreeday.tistory.com

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.