[클라우드] 재부팅 시에도 유지되는 블록 스토리지 마운트 설정
클라우드 환경에서 블록 스토리지를 연결하고, 재부팅 이후에도 마운트가 유지되도록 fstab 설정 및 자동화 스크립트를 사용하는 방법을 정리합니다.
[클라우드] 재부팅 시에도 유지되는 블록 스토리지 마운트 설정
문제 상황
클라우드 인스턴스 기본 스토리지가 부족해 추가 블록 스토리지를 연결했습니다.
하지만 mount 명령어로 마운트하면 재부팅 시 해제되므로, 이를 영구적으로 유지할 필요가 있습니다.
1
2
3
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 194G 172G 23G 89% /
블록 스토리지 연결 및 파티션 생성
스토리지 추가 후 확인하면 vdb 장치가 나타납니다.
1
2
3
4
5
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 252:0 0 200G 0 disk
└─vda1 252:1 0 199.9G 0 part /
vdb 252:16 0 1000G 0 disk
파티션 생성
1
2
fdisk /dev/vdb
# → n (새 파티션), p (primary), w (저장)
포맷
1
mkfs -t xfs /dev/vdb1
fstab 등록 (재부팅 후에도 유지)
blkid 로 UUID 확인:
1
2
$ blkid /dev/vdb1
/dev/vdb1: UUID="30b39801-xxxx-xxxx-xxxx-33f40c21a64a" TYPE="xfs"
/etc/fstab 에 등록:
1
UUID=30b39801-xxxx-xxxx-xxxx-33f40c21a64a /mnt/vdb xfs defaults,nodev,noatime,nofail 1 2
반영:
1
2
mkdir -p /mnt/vdb
mount -a
확인:
1
2
df -h | grep vdb
/dev/vdb1 1000G 7.1G 993G 1% /mnt/vdb
fstab 옵션 설명
nofail: 마운트 실패 시에도 부팅이 계속됨nodev: 장치 파일 생성 방지noatime: 파일 접근 시간 기록 생략 (성능 개선)
자동화 스크립트
여러 블록 디스크를 자동으로 초기화 및 마운트하려면 스크립트를 사용할 수 있습니다.
CentOS 7 (XFS)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
DEVICES=$(lsblk -d -o name,type | grep disk | grep -v vda | awk '{print $1}')
for DEVICE_NAME in ${DEVICES[@]}; do
MOUNT_DIR="/mnt/$DEVICE_NAME"
FS_TYPE=xfs
mkdir -p "$MOUNT_DIR"
echo -e "n
p
1
w" | fdisk "/dev/$DEVICE_NAME"
PART_NAME="/dev/${DEVICE_NAME}1"
mkfs -t $FS_TYPE "$PART_NAME" > /dev/null
UUID=$(blkid "$PART_NAME" -o export | grep "^UUID=" | cut -d'=' -f 2)
echo "UUID=$UUID $MOUNT_DIR $FS_TYPE defaults,nodev,noatime,nofail 1 2" >> /etc/fstab
done
mount -a
Ubuntu / CentOS 6 (ext4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
DEVICES=$(lsblk -d -o name,type | grep disk | grep -v vda | awk '{print $1}')
for DEVICE_NAME in ${DEVICES[@]}; do
MOUNT_DIR="/mnt/$DEVICE_NAME"
FS_TYPE=ext4
mkdir -p "$MOUNT_DIR"
echo -e "n
p
1
w" | fdisk "/dev/$DEVICE_NAME"
PART_NAME="/dev/${DEVICE_NAME}1"
mkfs -t $FS_TYPE "$PART_NAME" > /dev/null
UUID=$(blkid "$PART_NAME" -o export | grep "^UUID=" | cut -d'=' -f 2)
echo "UUID=$UUID $MOUNT_DIR $FS_TYPE defaults,nodev,noatime,nofail 1 2" >> /etc/fstab
done
mount -a
정리
mount만으로는 재부팅 시 마운트가 유지되지 않음fstab에 UUID 기반으로 등록하면 안전하게 유지 가능nofail,noatime같은 옵션을 통해 안정성과 성능도 고려 가능- 스크립트로 여러 디스크를 한 번에 초기화/마운트하면 편리함
This post is licensed under CC BY 4.0 by the author.