RAID(redundant array of inexpensive/independent disks)
RAID 는 여러개의 하디드스크를 하나의 볼륨(묶음)으로 묶어서 하나의 하드디스크처럼 사용하는 방식으로, 크게 하드웨어 RAID와 소프트웨어 RAID로 나뉩니다. 서버 컴퓨터의 저장 장치 대부분은 하드웨어 RAID, 소프트웨어 RAID 방식을 사용합니다. 오늘 저희는 소프트웨어 RAID 방식으로 진행해보려고 합니다.
하드웨어 RAID : 장치에 하드디스크로 연결(nfs 연결 가능), 비싸다
소프트웨어 RAID : 리눅스서버 한개에 여러개의 디스크를 연결(가상서버)
RAID의 레벨
Standard RAID 레벨에는 대표적으로 Linear RAID, RAID 0, 1, 5, 6이 있습니다. 디스크의 개수는 N으로 표시합니다.
RAID 실습
0. clone server 만들기
필수적인 과정은 아니지만, 테스트로 하고 싶을 때는 클론서버를 이용하는 것도 좋습니다. 이때 혹시 모를 일을 대비해서 클론서버의 스냅샷을 떠놓으면 좋습니다.
# 하드디스크 추가 생성
해당 내용은 다른 포스팅에 자세히 다뤄놓았으니 참고해서 추가 생성해주시면 됩니다. 설정에서 add를 눌러서 총 10개의 하드디스크를 동일한 방법으로 생성해주시면 됩니다.(7번 제외)
# 하드디스크 추가 생성 확인1 (UI)
10개의 하드디스크 생성이 완료되면 위와 같이 확인이 가능합니다. 이때, Vmware Pro를 통해 스냅샷을 생성해놓으면 좋습니다.
# 하드디스크 추가 생성 확인2 (Code)
# 디스크 확인
ls /dev/sd*
# 파티션 생성
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
fdisk /dev/sdf
fdisk /dev/sdg
fdisk /dev/sdh
fdisk /dev/sdi
fdisk /dev/sdj
# 파티션 생성시 입력 내용
n # new 새로운 파티션 분할
p # primary 파티션 선택
1 # 파티션 번호
(enter) # 파티션 용량 시작점(보통 자동 설정되어 넘어가도 된다)
(enter) # 파티션 용량 끝점(용량을 나누고 싶을 땐 여기에 +2GB 이런식으로 설정 가능)
t # 파일시스템 유형 선택
fd # 'Linux raid autodetect' 유형 번호(L을 입력하면 전체 유형이 출력)
w # 저장
*mdadm 설치(commad line만 적용. xwindow는 안해도 됨)
rpm -qa | grep mdadm # mdadm 있는지 검색
dnf list mdadm* # mdadm 설치가능 파일 검색
dnf install mdadm # mdadm 설치
# Linear RAID 구축
mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1 #liner raid로 b와 c를 연결
ls /dev/md* # md9 생성 확인
mkdir /raidLinear #raidLinear 폴더 생성
mkfs.ext4 /dev/md9 #포맷
mount /dev/md9 /raidLinear/ # 마운트
df # 마운트 확인
vi /etc/fstab # 항시 연결
mdadm --detail /dev/md9 # 상세 정보 확인
# RAID 0 구축
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1 #raid 0으로 d와 e를 연결
mdadm --detail --scan # 생성 확인
ls /dev/md* # md0 생성 확인
mkfs.ext4 /dev/md0 #포맷
mkdir /raid0 # 폴더 생성
mount /dev/md0 /raid0 # 마운트
df # 마운트 확인
vi /etc/fstab # 항시 연결
# RAID 1 구축
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1 #raid 1로 f와 g를 연결
mdadm --detail --scan # 생성 확인
ls /dev/md* # md1 생성 확인
mkfs.ext4 /dev/md1 #포맷
mkdir /raid1 # 폴더 생성
mount /dev/md1 /raid1 # 마운트
df # 마운트 확인
vi /etc/fstab # 항시 연결
raid0 인 디렉터리의 용량이 2GB 인데, raid 1은 1GB 밖에 되지 않는것을 확인할 수 있습니다.동일한 데이터를 2회 저장하므로 실제 가용 용량은 2GB의 절반인 1GB인 것입니다.
# RAID 5 구축
mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdh1 /dev/sdi1 /dev/sdj1 #raid 5로 h, i, j를 연결
# mdadm --detail --scan # 생성 확인
# ls /dev/md* # md1 생성 확인
mkfs.ext4 /dev/md5 #포맷
mkdir /raid5 # 폴더 생성
mount /dev/md5 /raid5 # 마운트
df # 마운트 확인
vi /etc/fstab # 항시 연결
raid 5 는 '하드디스크 갯수-1'만큼의 용량을 사용할 수 있습니다. 지금은 3개를 설치했으므로 2개 용량인 2GB 만 사용할 수 있습니다. 10개 설치시에는 9GB의 용량을 사용할 수 있습니다.
★ fstab 활용해서 마운트 상태 유지(client server off 해도)
mount에 성공했지만, 사실 mount 는 일회성이라서 client server 를 껐다가 다시 키면 매번 다시 mount 를 시켜줘야합니다. 그 과정이 번거로우니 fstab 파일에 설정을 해주시면 client server가 켜질 때마다 자동으로 마운트가 됩니다. 설정 후에는 꼭 reboot 를 해주셔야합니다. 필요하신 분들껜 유용한 기능이 될 것 같습니다.
오늘은 여러개의 하드디스크를 하나처럼 사용하는 Raid에 대해 알아보았습니다. 이 밖에도 다양하게 조합해서 raid6, raid1+6, raid0+1 로 사용하기도 합니다. 심화과정은 다음에 또 다뤄보겠습니다. 감사합니다.
'리눅스(Linux) > 실습' 카테고리의 다른 글
[리눅스] 서버 원격접속 1 - 텔넷 서버 (2) | 2024.02.27 |
---|---|
[리눅스] LVM 구현 : 2G, 3G 하드디스크를 합쳐서 1G, 3G, 1G로 나눠서 사용하기 (2) | 2024.02.27 |
[리눅스] VM 가상 서버에 하드디스크 추가 장착하기 (1) | 2024.02.23 |
[리눅스] firewall 방화벽 설정 및 tomcat(8080) 및 http(80) 설치 (0) | 2024.02.23 |
[리눅스] /root 위치에서 Tomcat 바로 실행하기(Soft link 활용) (0) | 2024.02.22 |