Tencent Cloud의 Cloud Block Storage를 구매한 후 인스턴스에서 정상적으로 접근하려면, 해당 인스턴스에 CBS 리소스를 마운트하는 과정이 필요합니다. 또한, 필요한 경우 파일 시스템을 포맷하고 파티션을 설정하는 작업도 진행해야 합니다. 이 글에서는 리눅스 시스템에서 이러한 과정을 진행하는 방법을 소개합니다.
CBS 구매 및 인스턴스에 연결하기
OS가 설치된 System disk (50GB) 이외에 어떤 볼륨도 마운트 되지 않은 CVM을 준비합니다.
CVM콘솔에서 'Cloud Block Storage' 메뉴를 클릭합니다. CVM과 같은 가용영역 내에서 적당한 크기의 CBS리소스를 구매한 후 해당 디스크의 옵션에서 Attach를 클릭하여 인스턴스와 디스크를 연결합니다. 여기서는 200GB 크기의 Premium cloud disk를 구입하였습니다.
구입한 CBS의 상태가 순차적으로 변화하는 것을 확인할 수 있습니다. (To be mounted → Attaching → In use)
새로 추가된 200GB짜리 데이터 디스크가 lsblk 명령어 결과에는 보이지만 df -h 명령어 결과에는 보이지 않는 이유는 디스크가 시스템에는 인식되었지만, 아직 파일 시스템이 생성되지 않았거나 마운트되지 않았기 때문입니다.
lsblk 커맨드의 결과를 보면, 현재 루트 리소스는 /dev/vda 이고, /dev/vda1 를 파티션으로 가지고 있습니다. 방금 연결한 /dev/vdb는 파티션이 없습니다. 스냅샷에서 가져온 볼륨이 아닌 이상 파일시스템이 설치되있을리 없지만 한 번 확인해봅니다.
/dev/vda1 파티션에는 EXT4 파일 시스템이 포맷되어 있습니다. 만약 추가하려는 디스크에 파일시스템이 설치되어 있다면 포맷 시 데이터가 모두 유실되니 반드시 백업을 해두도록 합니다. 일반적으로 리눅스에 사용되는 EXT4 , XFS 파일시스템에 대한 정보는 아래 링크를 참조합니다.
https://ko.wikipedia.org/wiki/Ext4
ext4 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. ext4개발사Mingming Cao, Andreas Dilger, Alex Zhuravlev (Tomas), Dave Kleikamp, Theodore Ts'o, Eric Sandeen, Sam Naghshineh 등정식 명칭4차 확장 파일 시스템Fourth extended file system도입안정
ko.wikipedia.org
https://ko.wikipedia.org/wiki/XFS
XFS - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. XFS는 1993년 실리콘 그래픽스(SGI)가 만든 고성능 64비트 저널링 파일 시스템이다.[1] 버전 5.3을 기점으로 SGI의 IRIX 운영 체제의 기본 파일 시스템이었고, 2001년에
ko.wikipedia.org
파티션 구성
디스크의 용량이 2TB 미만인 경우 일반적으로 MBR(Master Boot Record)을 사용하고, 2TB 이상인 경우에는 GPT(GUID Partition Table) 파티셔닝 메커니즘을 사용합니다. 파티셔닝이 필요하지 않은 경우, 곧바로 연결된 볼륨에 파일시스템을 설치합니다. 이 글에서는 디스크를 100GB, 50GB 두 개의 데이터 파티션과 남은 공간을 모두 스왑 파티션으로 하는 총 3개의 파티션 구성을 진행합니다. Tencent Cloud 공식문서에 EXT4를 예시로 유사한 과정을 소개하고 있으므로 XFS를 기준으로 소개합니다.
먼저 파티셔닝 타겟에 대해 아래 커맨드를 입력합니다.
fdisk /dev/vdb
연속적인 물음에 아래와 같이 입력합니다.
1) n : 새로운 파티셔닝 실행
2) p : 파티션 타입 (MBR의 경우 최대 4개까지의 물리 파티션을 지원합니다. 이를 초과하려는 경우 논리 파티션 생성이 필요합니다.)
3) 파티션 넘버 : 3개의 파티션으로 분리할 예정이므로 1부터 시작합니다.
4) 시작섹터 설정 : enter 입력 (첫 번째 섹터를 기본값으로 설정)
5) 마지막 섹터 설정 : 크기 기준으로 설정합니다. 첫 번째 파티션이므로 +100G를 입력합니다.
파티션 생성 후 p 옵션으로 현재 세션에 적용이 잘 되었는지 확인합니다.
fdisk /dev/vdb
$ p
같은 작업을 2,3 번째 파티션에도 반복합니다. 3번 파티션의 경우 마지막 섹터를 기본값으로 설정하여 잔여 용량을 모두 소진하도록 합니다.
마지막 파티션의 타입을 스왑 파티션으로 설정하기 위해 Hex code를 82로 변경합니다.
이제 메모리에 있는 변경사항을 디스크에 기록하기 위해 아래의 커맨드를 입력합니다.
fdisk /dev/vdb
$ w
위와 같이 작업이 완료됩니다.
파일 시스템 포맷 (XFS)
각 파티션 별로 파일시스템을 설치하고 마운트포인트를 생성한 뒤 마운팅 합니다.
mkfs.xfs /dev/vdb1
mkdir /mnt/num1
mount /dev/vdb1 /mnt/num1
mkfs.xfs /dev/vdb2
mkdir /mnt/num2
mount /dev/vdb2 /mnt/num2
mkfs.xfs /dev/vdb3
mkdir /mnt/num3
mount /dev/vdb3 /mnt/num3
마운트 정보 기록 (/etc/fstab)
서버가 재부팅될 때에도 자동으로 마운트 정보를 불러오려면 /etc/fstab 파일에 변경사항을 기록해야합니다. 리눅스는 부팅 시 해당파일을 참조하여 가상머신의 마운트된 디스크 정보를 읽습니다.
이에 앞서 먼저 blkid 커맨드를 통해 파티션의 고유 식별자(UUID)를 조회합니다.
편집기로 해당 파일을 편집합니다. 편집 전 반드시 백업본을 생성하여야 합니다.
nano /etc/fstab
해당 파일 하단에 아래 정보를 추가합니다. UUID, 마운트포인트, 파일시스템종류, 마운트옵션 순서로 입력하고 0은 덤프사용 off, 마지막의 숫자는 부팅 시 파일시스템 체크 순서를 의미합니다. 루트 파일 시스템이 아닌 경우 2를 입력합니다.
UUID=<파티션1의 UUID값> /mnt/num1 xfs defaults 0 2
UUID=<파티션1의 UUID값> /mnt/num2 xfs defaults 0 2
UUID=<파티션1의 UUID값> /mnt/num3 xfs defaults 0 2
파일 수정 후 각각의 볼륨을 모두 언마운트 했다가
umount /mnt/*
아래 커맨드를 통해 모두 정상적으로 마운트되는 것을 확인하면 작업이 성공적으로 끝난 것입니다.
mount -a
끝.