하모니카 서버 레이드 1
참고 : www.digitalocean.com/community/tutorials/how-to-create-raid-arrays-with-mdadm-on-ubuntu-18-04
※ 해당 문서는 하모니카 미러 서버를 구축하기 전 레이드 1 구성을 진행하며 작성한 문서 입니다.
※ 빈 디스크에서 해당 설정을 진행하였습니다. 진행 전 레이드 구성 설정이 있는 경우 초기화 한 후 진행해 주시기 바랍니다.
※ 해당 서버는 하모니카 라이브 부팅 USb 로 부팅 후 sda sdb 서버에 레이드 구성을 진행 하였습니다
개요
RAID 1 어레이 유형은 사용 가능한 모든 디스크에서 데이터를 미러링 하여 구현 됩니다. RAID 1 어레이의 각 디스크는 전체 데이터 사본을 가져와 장치 장애시 중복성을 제공합니다.
RAID 1 을 구성하기 위해선 두 개 이상의 디스크가 필요합니다.(OS 디스크, 마스터 디스크, 서브 디스크)
장치 확인
sda sdb 두 장치를 이용하여 레이드 구성 진행합니다
# sda = hdd disk1
# sdb = hdd disk2
# sdc = 하모니카 live usb
hamonikr@hamonikr:~$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
loop0 2.9G squashfs loop /rofs
sda 7.3T disk
sdb 7.3T disk
sdc 14.7G disk
└─sdc1 14.7G vfat part /cdrom
sr0 1024M rom
mdadm 설치
hamonikr@hamonikr:~$ sudo apt-get update
hamonikr@hamonikr:~$ sudo apt-get install -y mdadm
RAID1어레이 생성
배열 생성
hamonikr@hamonikr:~$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
mdadm: partition table exists on /dev/sda
mdadm: partition table exists on /dev/sda but will be lost or
meaningless after creating array
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
mdadm: partition table exists on /dev/sdb
mdadm: partition table exists on /dev/sdb but will be lost or
meaningless after creating array
mdadm: size set to 7813894464K
mdadm: automatically enabling write-intent bitmap on large array
Continue creating array? y <<-- y 입력
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
입력을 완료하면 mdadm 이 드라이브를 미러링 하기 시작합니다.
이 작업을 완료하는 데 시간이 걸릴 수 있지만 이 시간 동안 어레이를 사용할 수 있습니다.
다음을 확인하여 미러링의 진행률을 모니터링 할 수 있습니다.
hamonikr@hamonikr:~$ cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb[1] sda[0]
7813894464 blocks super 1.2 [2/2] [UU]
[>....................] resync = 3.2% (256990464/7813894464) finish=618.6min speed=203590K/sec
bitmap: 58/59 pages [232KB], 65536KB chunk
unused devices: <none>
md0 : active raid1 sdb[1] sda[0] 라인에서 볼 수 있듯이 /dev/md0 디바이스가 RAID 1 구성에서 생성 되었으며 아래에서 미러링의 진행률을 확인할 수 있습니다.
파일 시스템 생성 및 마운트
# 파일 시스템 생성
sudo mkfs.ext4 -F /dev/md0
# 새 파일 시스템을 연결할 마운트 지점 생성 및 마운트
sudo mkdir -p /mnt/md0
sudo mount /dev/md0 /mnt/md0
# 공간 사용 가능 여부 확인
df -h -x devtmpfs -x tmpfs
# Output
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 15G 3.2G 12G 22% /cdrom
/dev/loop0 2.9G 2.9G 0 100% /rofs
/cow 16G 1.3G 15G 8% /
/dev/md0 7.3T 93M 6.9T 1% /mnt/md0
배열 레이아웃 저장
부팅시 어레이가 자동으로 재 조립 되도록 하려면 /etc/mdadm/mdadm.conf 파일을 설정해야 합니다.
# /etc/mdadm/mdadm.conf 파일 설정
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
# initramfs 또는 초기 RAM 파일 시스템 업데이트
sudo update-initramfs -u
# 부팅시 자동 마운트를 위해 새 파일 시스템 마운트 옵션 추가
echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab