1. 하드 7개 추가
# RAID 패키지 sudo apt update sudo apt -y install mdadm
2. RAID 0 구축
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1 # mdadm: 리눅스에서 소프트웨어 RAID를 관리하기 위한 유틸리티 # --create: 새로운 RAID 배열을 생성하기 위한 옵션 # /dev/md0: 생성할 RAID 배열의 장치 이름 # --level=0: RAID 레벨을 지정, 여기서는 RAID 0(스트라이핑) 레벨을 사용 # --raid-devices=2: RAID 배열에 사용할 디스크 장치의 수를 지정, 여기서는 2개의 디스크를 사용 # /dev/sdb1 /dev/sdc1: RAID 배열에 포함될 디스크 파티션, 여기서는 /dev/sdb1과 /dev/sdc1 두 개의 파티션을 사용
# 모든 RAID 배열에 대한 상세 정보를 출력 sudo mdadm --detail --scan
# /dev/md0 장치에 ext4 파일 시스템을 생성 # RAID 배열을 생성한 후, 파일 시스템을 초기화하여 사용할 수 있게 하는 중요한 단계 mkfs.ext4 /dev/md0
/dev/md0 /raid0 ext4 defaults 0 0
# mdadm.conf 등록 sudo mdadm --detail --scan /dev/md0 >> /etc/mdadm/mdadm.conf # 업데이트 sudo update-initramfs -u
systemctl daemon-reload
2. RAID 1 구축
# RAID Disk 정보 확인 fdisk -l /dev/sdd fdisk -l /dev/sde
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1 # mdadm: 리눅스에서 소프트웨어 RAID를 관리하기 위한 유틸리티 # --create: 새로운 RAID 배열을 생성하기 위한 옵션 # /dev/md1: 생성할 RAID 배열의 장치 이름 # --level=1: RAID 레벨을 지정, 여기서는 RAID 1 레벨을 사용 # --raid-devices=2: RAID 배열에 사용할 디스크 장치의 수를 지정, 여기서는 2개의 디스크를 사용 # /dev/sdd1 /dev/sde1: RAID 배열에 포함될 디스크 파티션, 여기서는 /dev/sdd1과 /dev/sde1 두 개의 파티션을 사용
# Raid 정보 확인 mdadm --detail /dev/md1
# 마운트할 폴더 생성 sudo mkdir /raid1 # mdadm.conf 등록 sudo mdadm --detail --scan /dev/md1 >> /etc/mdadm/mdadm.conf # 업데이트 sudo update-initramfs -u #등록 확인 cat /etc/mdadm/mdadm.conf
# /dev/md1 장치에 ext4 파일 시스템을 생성 # RAID 배열을 생성한 후, 파일 시스템을 초기화하여 사용할 수 있게 하는 중요한 단계 mkfs.ext4 /dev/md1
# raid1 으로 mount mount /dev/md1 /raid1 #마운트 확인 df
# /etc/fstab 에 등록 (부팅 시 마운트) echo '/dev/md1 /raid1 ext4 defaults 0 0' | sudo tee -a /etc/fstab # 등록 확인 cat /etc/fstab #데몬 재시작 systemctl daemon-reload
3. RAID 5 구축 (3개)
# RAID Disk 정보 확인 fdisk -l /dev/sdf fdisk -l /dev/sdg fdisk -l /dev/sdh
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sdf1 /dev/sdg1 /dev/sdh1
mdadm --detail /dev/md5
mkfs.ext4 /dev/md5
sudo mkdir /raid5 sudo mdadm --detail --scan /dev/md5 >> /etc/mdadm/mdadm.conf sudo update-initramfs -u cat /etc/mdadm/mdadm.conf
mount /dev/md5 /raid5
df
echo '/dev/md5 /raid5 ext4 defaults 0 0' | sudo tee -a /etc/fstab cat /etc/fstab systemctl daemon-reload
4. RAID 0 1 5 장치 고장 내기
# 각 폴더에 더미파일 생성 fallocate -l 100M /raid0/dummy_file.img fallocate -l 100M /raid1/dummy_file.img fallocate -l 100M /raid5/dummy_file.img
각 RAID의 장치 하나씩을 제거하여 고장과 같은 상황을 만듬
# 확인 mdadm --detail /dev/md0 mdadm --detail /dev/md1 mdadm --detail /dev/md5
#장치 확인 ls -l /dev/sd* df
RAID 확 mdadm --detail --scan
#시작 mdadm --run /dev/md0 mdadm --run /dev/md1 mdadm --run /dev/md5 mdadm --detail --scan
# 변경 후 gedit /etc/fstab # 데몬 재시작 systemctl daeon-reload
# 수정 sudo gedit /etc/mdadm/mdadm.conf sudo update-initramfs -u
mdadm --detail /dev/md1 mdadm --detail /dev/md5
5. RAID 0 1 5 복구
제거한 하드 3개 추가
# 추가된 목록 확인 ls -l /dev/sd*
# 새로운 파티션 생성 (리눅스 오토 fd) fdisk /dev/sdc fdisk /dev/sde fdisk /dev/sdg
# ext4 파일 시스템 생성 mkfs.ext4 /dev/sdc1 mkfs.ext4 /dev/sde1 mkfs.ext4 /dev/sdg1
- RAID 0 재생성 - # 확인 mdadm --detail --scan # 상세확인 (Raid 0이 md127로 변경됨) mdadm --detail /dev/md127 # RAID 중지 mdadm --stop /dev/md127 # RAID 재생성 mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1
# UUID 수정 sudo gedit /etc/mdadm/mdadm.conf sudo update-initramfs -u sudo mount /dev/md0 /raid0 gedit /etc/fstab systemctl daeon-reload
- RAID 1 은 재생성이 아닌 추가 - # 상세 확인 mdadm --detail /dev/md1
# Raid에 추가 mdadm /dev/md1 --add /dev/sde1 # Raid 확인 mdadm --detail /dev/md1 # 파일 확인 ls -l /raid1
- RAID 5 는 재생성이 아닌 추가 - # 상세 확인 mdadm --detail /dev/md5
# Raid에 추가 mdadm /dev/md5 --add /dev/sdg1 # Raid 확인 mdadm --detail /dev/md5 # 파일 확인 ls -l /raid5
# Raid 전부 확인 mdadm --detail --scan