-
LINUX DISK Linear RAID 구성하는 방법(1편)System of Infra/Linux System 2022. 3. 30. 00:20반응형
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편)
2022.03.23 - [System of Infra/LINUX] - LINUX DISK 추가를 통한 파티션 생성하는 방법(2편)
PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.
포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.
반응형'System of Infra > Linux System' 카테고리의 다른 글
LINUX DISK RAID0 RAID1 RAID5 장애 긴급 복구 하는 방법 (4) 2022.04.07 LINUX DISK RAID0 RAID1 RAID5 구성하는 방법(2편) (4) 2022.04.05 LINUX DISK 추가를 통한 파티션 생성하는 방법(2편) (2) 2022.03.23 LINUX DISK 추가를 통한 파티션 생성하는 방법(1편) (2) 2022.03.21 LINUX 응급복구모드를 통해 ROOT 패스워드 변경 하는 방법 (4) 2022.03.13