Ubuntu 서버에서 SnapRAID를 설정하는 방법

SnapRAID는 사용자가 데이터 저장을 위한 드라이브 풀을 간편하게 구성할 수 있도록 설계된 소프트웨어 RAID 시스템입니다. Windows 및 Linux 운영 체제 모두에서 사용 가능하며, 특히 Linux 환경에서는 무료 오픈 소스 소프트웨어로서 쉽게 실행할 수 있습니다. 이 가이드에서는 Ubuntu 서버를 중심으로 SnapRAID를 설정하는 방법을 자세히 안내합니다.

참고: 본 튜토리얼은 Ubuntu 서버 환경에 초점을 맞추고 있지만, 제시된 지침은 다른 Linux 운영 체제에도 거의 동일하게 적용할 수 있습니다.

시작하기 전에 준비해야 할 사항

SnapRAID를 원활하게 작동시키려면 최소 4개의 하드 드라이브가 필요합니다. 최적의 성능을 위해서는 모든 하드 드라이브의 크기가 동일하고, 동일한 파일 시스템(예: Ext4)으로 포맷하는 것이 좋습니다. Ubuntu Server에서 가장 빠른 포맷 방법은 Cfdisk 유틸리티를 사용하는 것입니다. 포맷을 시작하려면 Ubuntu 서버 콘솔에 접속하거나 SSH를 통해 원격으로 연결한 다음 아래 명령어를 사용하십시오. 각 하드 드라이브에 대해 이 과정을 반복하여 파일 시스템 설정을 통일해야 합니다.

참고: ‘X’는 실제 포맷하려는 드라이브의 문자로 대체해야 합니다.

sudo cfdisk /dev/sdX

콘솔에서 CFdisk 파티션 편집기가 실행되면 기존 파일 시스템을 삭제하고, 드라이브 전체 용량을 사용하는 새 Ext4 파티션을 생성하십시오. 편집 및 포맷 작업이 완료되면 ‘쓰기’를 선택하여 변경 사항을 저장하고, ‘종료’를 선택하여 편집기를 닫습니다.

SnapRAID 설치 과정

Ubuntu에서는 개발자들이 유지 관리하는 PPA (Personal Package Archive)를 통해 SnapRAID 소프트웨어를 빠르게 설치할 수 있습니다. Ubuntu Server에 PPA를 추가하기 전에 먼저 PPA 지원 기능을 활성화해야 합니다.

sudo apt install software-properties-common

PPA 지원이 활성화되면, SnapRAID 소프트웨어 저장소를 시스템에 추가합니다.

sudo add-apt-repository ppa:tikhonov/snapraid

Ubuntu 시스템을 업데이트하여 SnapRAID PPA를 통합합니다.

sudo apt update

마지막으로 SnapRAID 소프트웨어를 설치합니다.

sudo apt install snapraid

SnapRAID 디렉토리 설정

SnapRAID를 효과적으로 사용하려면 몇 가지 폴더를 설정해야 합니다. 이 디렉토리들은 드라이브 마운트 및 데이터 풀을 위해 사용됩니다. 먼저 /var/에 새로운 폴더를 생성합니다.

sudo mkdir -p /var/snapraid/

다음으로, /mnt/ 디렉토리 내에 5개의 폴더를 생성해야 합니다. 다음 명령을 사용하여 한 번에 모든 폴더를 생성할 수 있습니다.

sudo mkdir -p /mnt/{disk1,disk2,disk3,disk4,data}

SnapRAID 구성 파일 수정

디렉토리 설정이 완료되었으므로 SnapRAID 구성 파일을 수정할 차례입니다. 아래 명령어를 사용하여 Nano 편집기에서 snapraid.conf 파일을 엽니다.

sudo nano -w /etc/snapraid.conf

먼저 구성 파일에서 “# Format: “parity FILE_PATH””라는 행을 찾습니다. 해당 행 바로 아래에 있는 코드를 삭제하고 다음 내용으로 교체합니다.

parity /mnt/disk4/snapraid.parity

다음으로 “# Format: “content FILE_PATH””라는 행을 찾고, 바로 아래의 줄을 삭제한 후 다음 네 줄로 교체합니다.

content /var/snapraid.content
content /mnt/disk1/snapraid.content
content /mnt/disk2/snapraid.content
content /mnt/disk3/snapraid.content

콘텐츠 섹션을 지나서 파일 아래로 이동하여 “# Format: “disk DISK_NAME DISK_MOUNT_POINT””라는 행을 찾고, 해당 행 아래의 모든 코드를 삭제한 후 다음 코드로 교체합니다.

data d1 /mnt/disk1/
data d2 /mnt/disk2/
data d3 /mnt/disk3/

마지막으로, 구성 파일의 아래쪽에서 “#pool /pool” 행을 찾고 그 아래에 /mnt/data 디렉토리를 지정합니다.

pool /mnt/data

데이터 풀의 위치를 지정한 후 Ctrl + O를 눌러 편집 내용을 저장하고, Ctrl + X를 눌러 편집기를 닫습니다.

SnapRAID 드라이브 마운트 설정

SnapRAID를 사용하려면 /etc/fstab 파일에 모든 하드 드라이브가 설정되어 있어야 합니다. 드라이브 마운트 설정을 추가하려면 터미널에서 다음 단계를 따릅니다.

1단계: 각 하드 드라이브에서 blkid 명령어를 실행하여 UUID를 확인합니다. ‘X’를 드라이브 문자로, ‘Y’를 파티션 번호로 대체합니다 (예: /dev/sdb1).

sudo blkid /dev/sdXY

2단계: 각 드라이브 파티션에 대한 blkid 명령어의 UUID 출력을 복사하여 텍스트 파일에 저장합니다.

3단계: 다음 echo 명령어를 사용하여 /etc/fstab 파일에 드라이브 마운트 설정을 추가합니다. “example-uuid”를 저장한 실제 UUID로 바꿔야 합니다.

sudo -s

echo ' ' >> /etc/fstab
echo '# Drives for SnapRAID configuration' >> /etc/fstab
echo 'UUID=example-uuid /mnt/disk1 ext4 noatime,defaults 0 0' >> /etc/fstab
echo 'UUID=example-uuid /mnt/disk2 ext4 noatime,defaults 0 0 ' >> /etc/fstab
echo 'UUID=example-uuid /mnt/disk3 ext4 noatime,defaults 0 0' >> /etc/fstab
echo 'UUID=example-uuid /mnt/disk4 ext4 noatime,defaults 0 0 ' >> /etc/fstab

4단계: 다음 echo 명령어를 사용하여 AUFS 드라이브 풀을 /etc/fstab 폴더에 추가합니다.

echo ' ' >> /etc/fstab
echo '#SnapRAID AuFS mount' >> /etc/fstab
echo 'none /mnt/data aufs br=/mnt/disk1=rw:/mnt/disk2=rw:/mnt/disk3=rw,create=mfs,auto 0 0' >> /etc/fstab

5단계: Ubuntu 서버를 재부팅합니다. 시스템이 다시 온라인 상태가 되면 모든 드라이브가 SnapRAID에서 사용할 수 있는 올바른 폴더에 마운트됩니다.

SnapRAID 사용 시작

모든 디렉토리가 마운트되고 소프트웨어가 설치되었다면, SnapRAID를 사용할 준비가 완료되었습니다. 이제 데이터 풀 디렉토리에 데이터를 배치하면 됩니다. 이를 위해 Ubuntu 서버의 명령줄에서 루트 쉘을 획득한 다음, 아래 예시에 따라 파일 및 폴더를 드라이브 풀에 배치합니다.

SnapRAID 풀에 단일 파일 저장

sudo -s

cp /path/to/single/file /mnt/data

SnapRAID 풀에 디렉토리 배치

sudo -s

cp -r /path/to/folder/ /mnt/data

데이터가 SnapRAID 풀에 추가되면, ‘snapraid sync’ 명령어를 실행하여 데이터를 동기화합니다.

snapraid sync