AWS 콘솔에서 볼륨을 만들고 인스턴스에 연결한 뒤 서버에서 하는 작업이다. 예시는 300GB 볼륨을 MongoDB 데이터 폴더로 쓰는 경우다.
1. 추가된 디스크 확인
|
1 2 3 4 5 6 |
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 300G 0 disk nvme0n1 259:1 0 8G 0 disk ├─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part |
Nitro 기반 인스턴스는 콘솔에서 /dev/sdf 로 붙여도 서버에서는 nvme1n1 처럼 보인다.
2. 파티션 만들기
fdisk 로 n → p → 기본값 엔터 → w 순서로 디스크 전체를 하나의 파티션으로 만든다. 2TB 가 넘는 디스크는 MBR(DOS) 파티션 표로 다 쓸 수 없으니 gdisk 나 parted 로 GPT 를 만든다.
|
1 2 3 4 5 |
sudo fdisk /dev/nvme1n1 # Command (m for help): n # Select (default p): p # (나머지는 엔터) # Command (m for help): w |
|
1 2 3 |
$ lsblk /dev/nvme1n1 nvme1n1 259:0 0 300G 0 disk └─nvme1n1p1 259:4 0 300G 0 part |
3. xfs 로 포맷하고 마운트
xfs 는 큰 파일과 DB 에 많이 쓰고, MongoDB 도 xfs 를 권장한다.
|
1 2 3 4 |
sudo mkfs.xfs /dev/nvme1n1p1 sudo mkdir -p /var/lib/mongodb sudo mount /dev/nvme1n1p1 /var/lib/mongodb df -h /var/lib/mongodb |
마운트한 폴더의 소유자를 서비스 계정에 맞춘다. (예: sudo chown -R mongodb:mongodb /var/lib/mongodb)
4. 재부팅 후에도 마운트되게 fstab 등록
장치 이름은 재부팅 때 바뀔 수 있으니 UUID 로 등록한다.
|
1 2 |
sudo blkid /dev/nvme1n1p1 # /dev/nvme1n1p1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="xfs" |
|
1 |
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var/lib/mongodb xfs defaults,nofail 0 2 |
|
1 |
sudo mount -a # 오류 없이 지나가면 fstab 이 맞는 것 |
※ 참고 nofail 을 넣어 두면 볼륨이 빠져 있어도 서버가 부팅 중에 멈추지 않는다. 나중에 콘솔에서 볼륨 크기를 늘렸다면 sudo growpart /dev/nvme1n1 1 후 sudo xfs_growfs /var/lib/mongodb 로 늘린다.
관련 글: Ubuntu 에 새 disk 추가, Azure OS Disk Size 부족할때 가장 쉽게 SizeUp 하는 방법

Leave a Reply