네이버클라우드

[Ncloud] MinIO 단일 노드 다중 저장소(SNMD) (2)

graph-dev 2024. 9. 23. 18:30
728x90

 

MinIO 로고

 

 

MinIO의 두번째 배포방법으로 단일 노드 다중 저장소 방식이 있습니다. Single-Node Multi-Drive 이렇게 부르고, 줄여서 SNMD라고도 합니다.

 

서버는 한대로 해서, 단일 노드가 되는 것입니다. 다중 저장소라면 스토리지를 4개를 생성할 수도 있지만, 하나의 스토리지를 파티션으로 나눠서 마운트해줘도 됩니다. 저는 이 파티션으로 나누는 방식을 사용할 것입니다. 저장소(Drive)의 개수는 4의 배수로 하는 것을 권장하네요.

 

처음에는 노드라는 개념이 잘 이해가 가질 않았습니다. 그래서 그냥 '노드 = 서버'라고 생각하고 진행했습니다. 즉, SNMD는 서버 1대에 저장소 여러개로 생각하고 진행해보겠습니다.

 

 

1. 서버 생성 및 스토리지 추가

이 작업은 이전 글과 동일하므로 생략합니다.

추가 스토리지 생성 후 서버에 연결한 상태

 

 

2. 스토리지 마운트할 때 파티션 나누기(4개)

파티션을 나눌 때, 동일한 용량으로 마운트합니다. 가령 100GB라고 하면 추가 스토리지를 각각 25GB씩 나누어 마운트해줄 것입니다.

파티션 분할 설정

 

첫번째부터 세번째 파티션 분할할 때에는 왼쪽 화면처럼 +25G로 Last sector의 크기를 지정해줍니다. 마지막 파티션은 Last sector를 명시하지 않고, w를 입력하여 설정을 완료합니다.

 

아래와 같이, vdb1~4까지 총 네가지 파티션이 잘 생성된 것을 확인합니다.

파티션 확인

 

마운트 경로를 만들어줍니다.

sudo mkdir -p /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4

 

 

파티션을 rocky linux의 경우 xfs 타입으로 포맷합니다.

sudo mkfs.xfs /dev/vdb1
sudo mkfs.xfs /dev/vdb2
sudo mkfs.xfs /dev/vdb3
sudo mkfs.xfs /dev/vdb4

 

파티션 포맷

 

각 파티션을 위에서 생성한 디렉토리에 마운트합니다.

sudo mount /dev/vdb1 /mnt/disk1
sudo mount /dev/vdb2 /mnt/disk2
sudo mount /dev/vdb3 /mnt/disk3
sudo mount /dev/vdb4 /mnt/disk4

 

 

이제 실제로 잘 마운트되었는지, 확인해봅니다.

 

마운트 확인

 

 

재부팅해도 마운트 상태를 유지하기 위해 /etc/fstab에 UUID를 입력해줍니다.

 

sudo vi /etc/fstab

 

 

UUID는 blkid 명령어로 아래와 같이 확인합니다.

blkid로 UUID 확인

 

 

확인하고, 해당 UUID를 복사해서 아래와 같이 입력해줍니다.

 

 

이제 /etc/default/minio 파일을 아래와 같이 수정합니다. disk{1..4}는 각각 disk1, disk2, disk3, disk4를 의미합니다.

 

minio volumes 수정

 

여기서 중요한 점은, 각 디렉토리에 minio-user 사용자가 접근할 수 있도록 권한을 부여해야합니다.

sudo chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4

 

minio 서비스를 시작하고 상태를 확인합니다.

시작 화면

 

 

이제 콘솔에 접속해서, Metrics > Monitoring으로 확인해보고, minio client로도 확인해보겠습니다.

 

minio 클라이언트 확인

 

웹 주소에 http://<공인아이피>:9000 으로 들어가서 로그인 해주시면, 위와 같이 Drives 4개가 online으로 잘 작동하는 것을 확인할 수 있습니다.

 

 

minio 클라이언트 확인

 

mc 명령어로 드라이브가 4개이고, Network 1개(노드 1개)로 정상 작동(online)하는 것을 확인할 수 있습니다. 이렇게 1개 노드 서버와 1개의 추가 스토리지를 분할해서 4개 드라이브를 운영하는 방법을 살펴봤습니다.