안녕하세요
이번 시간에는 네이버 클라우드에서 LVM을 이용하여 디스크를 추가하는 방법을 알아보도록 하겠습니다.
1. LVM(Logical Volume Management)란?
논리 볼륨 관리(LVM, Logical Volume Management)은 리눅스 및 UNIX 기반 운영 체제에서 스토리지 관리를 위한 유연하고 고급 도구입니다. LVM은 물리적 스토리지 디바이스를 논리적인 볼륨으로 추상화하고 다룰 수 있도록 하는 기술입니다.
LVM 구성
(1) 물리적 스토리지 디바이스 (Physical Volumes, PV)
하드 드라이브, 파티션 또는 LUN과 같은 물리적 스토리지 디바이스를 나타냅니다. 이러한 디바이스를 LVM에서 PV로 지정하고 논리적 볼륨 그룹에 추가할 수 있습니다.
(2) 논리적 볼륨 그룹 (Volume Group, VG)
하나 이상의 PV를 그룹화하는 역할을 합니다. 이것은 LVM에서 가상 스토리지 풀을 형성하며 논리적 볼륨을 관리하는 데 사용됩니다.
(3) 논리적 볼륨 (Logical Volume, LV)
LV는 VG 내에서 생성되며, 실제 데이터를 저장하는 LVM 논리 볼륨입니다. LV는 파티션과 유사하게 작동하지만 더욱 유연하며 크기 조정이 가능합니다. LV는 파일 시스템을 마운트하고 데이터를 저장하는 용도로 사용됩니다. LV는 물리적 디스크 위치와는 독립적으로 크기를 조절하거나 이동할 수 있습니다.
(4) 파티션 (Partition)
LVM에서 파티션은 기존의 전통적인 디스크와는 약간 다릅니다. 파티션은 LVM에서 물리적 디스크 공간의 논리적 표현입니다.
2. 테스트 환경
1. 서버
LVM 테스트를 위해 네이버 클라우드 플랫폼에 ubuntu-20.04를 띄운 후 테스트를 진행하였습니다.
2. 추가 스토리지
다음과 같이 부팅 스토리지를 제외한 추가 스토리지(test-01, test-02)를 최소 용량으로 2개를 생성해줍니다.
3. LVM을 이용하여 스토리지 추가하기
[요구사항] 추가 스토리지를 다음 요구 조건으로 LVM으로 생성하겠습니다.
/app_data 5GB
/app 10GB
VG = ons, LV = app_data, app, 마운트 포인트 /app_data, /app
1. 디스크 확인
fdisk -l
fdisk -l 명령어를 이용하여 현재 서버에서 사용 가능한 물리 디스크를 확인합니다.
2. 파티션 생성
# <fdisk /dev/xvdb, fdisk /dev/xvdc>에 대해 설정
fdisk /dev/xvdb
fdisk /dev/xvdc
# 파티션 생성
n
# 파티션 종류(주 파티션)
p
# 파티션 넘버
Enter(default)
# 첫번째 섹터 지정
Enter(default)
# 마지막 섹터 지정
Enter(default)
# 파티션 타입 변경
t
# 타입 헥사 코드 목록
L
# Linux LVM 지정
8e
# 저장하고 나가기
w
다음과 같이 설정합니다. 같은 방법으로 /dev/xvdc에 대해서도 LVM으로 설정해주세요.
다시 디스크를 확인하면 Type이 Linux LVM으로 변경된 것을 확인할 수 있습니다.
3. PV(Physical Volume) 생성하기
#/dev/xvdb1 PV 생성
pvcreate /dev/xvdb1
#/dev/xvdc1 PV 생성
pvcreate /dev/xvdc1
# PV 상태 확인
pvdisplay
다음 명령어로 PV 상태를 확인할 수 있으며 아직 할당되지 않은 것을 확인할 수 있습니다.
4. VG(Volume Group) 생성하기
# VG 생성 (PV /dev/xvdb1, /dev/xvdc1)
vgcreate ons /dev/xvdb1 /dev/xvdc1
# VG 상태 확인
vgdisplay
VG 이름은 ons로 설정되고 xvdb1, xvdc1 PV를 VG로 만들어서 VG Size가 20GB인 것을 확인할 수 있습니다.
5. LV(Logical Volume) 생성하기
# lvcreate -L (L:사이즈 지정) -n (n:lv 이름 지정) <lv name> <vg name>
# lvcreate -l (l:PE 단위 지정) -n (n:lv 이름 지정) <lv name> <vg name>
lvcreate -L 5G -n app_data ons
lvcreate -L 10G -n app ons
# 남은 용량 모두 사용
lvcreate -l 100%FREE -n <lv name> <vg name>
# LV 상태 확인
lvdisplay
6. 파일 시스템 포맷하기
네이버 클라우드 플랫폼 가이드에는 다음과 같이 권장하는 파일 시스템을 안내하고 있습니다. 해당 운영체제에 맞는 파일시스템을 구축하기 위해 파일 시스템 포맷을 해야 합니다.
# 파일 시스템 타입을 ext4로 포맷
mkfs.ext4 /dev/ons/app_data
mkfs.ext4 /dev/ons/app
테스트 환경이 우분투이기 때문에 ext4 타입으로 파일 시스템을 포맷합니다.
7. 마운트(mount)하기
# 마운트할 디렉토리 생성(마운트 포인트)
mkdir /app_data
mkdir /app
# 마운트 (lvdisplay로 LV Path 확인 후)
mount /dev/ons/app_data /app_data
mount /dev/ons/app /app
# 파일 시스템 타입 및 마운트 포인트 확인
df -TH
파일 시스템은 ext4, 마운트 포인트는 지정한 /app_data, /app으로 마운트된 것을 확인할 수 있습니다. 재부팅 시 Mount가 풀릴 수 있기 때문에 재부팅 후에도 부팅 시 마운트하기 위해서는 fstab 설정을 해야 합니다.
4. fstab 설정
1. fstab 설정하기
https://guide.ncloud-docs.com/docs/server-ts-fstab-vpc
fstab 설정은 네이버 클라우드 플랫폼에서 자세하게 가이드가 되어 있으니 참고 부탁드립니다.
# blkid 확인
blkid
# blkid 해당 내용 복사하여 /etc/fstab 수정
vi /etc/fstab
# /etc/fstab 저장 후
reboot
#% 정상적으로 입력되면 색상이 바뀌기 때문에 확인해주시고 defaults를 default로 오기입 하는 경우가 빈번합니다.
blkid 명령어를 사용하여 UUID와 타입을 복사합니다. nofail 옵션은 오탈자로 인해 오류가 발생해도 해당 스토리지를 skip하여 정상적으로 부팅됩니다.
2. fstab 설정 후 서버 Reboot
# 재부팅 후
df -TH
서버 재부팅 후 정상적으로 마운트가 된 모습을 확인할 수 있습니다.
5. 설정 중 발생할 수 있는 문제
1. 부팅 실패
fstab의 설정이 잘못되었다면 부팅에 실패하고 Emergency Mode에 진입하게 됩니다. 다음 서버 접속 콘솔을 통해 fstab을 다시 설정한 후 재부팅하면 해결할 수 있습니다.
2. 마운트 옵션이 잘못된 경우
오라클 Linux 6.10 및 RHEL 6.10 에서는 fstab 내 추가 스토리지에 대한 정보가 잘못되었더라도 Emergency Mode에 진입하지 않고 정상 부팅되며, /var/log/messages에서 관련 로그를 확인할 수 있습니다.
3. 파일 시스템 포맷이 잘못 등록된 경우
# fstab 편집
vi /etc/fstab
해당하는 운영체제에 맞게 파일 시스템을 등록해주어야 됩니다. reboot 명령어를 입력하거나 [강제 정지] 버튼을 클릭한 다음 [시작] 버튼을 클릭하여 재시작 해주시면 됩니다.
이번 시간에는 추가 스토리지를 생성하여 LVM을 이용하여 스토리지 구성을 해봤습니다.
애플리케이션을 운영하다보면 디스크를 증설하는 일이 생각보다 빈번하기 때문에 LVM으로 구성하시면 유연성 있는 스토리지를 구성하실 수 있습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[NCP] NCP에서 LoadBalancer와 Auto Scaling Group 손 쉽게 연동하기 (0) | 2023.10.30 |
---|---|
[NCP] NCP에서 LoadBalancer 구성 후 웹 서버 로드밸런싱 테스트하기 (1) | 2023.10.26 |
[NCP] NCP에서 기존 LVM에 LV 용량 증설 및 축소, VG에서 PV 추가 및 제거하기 -Linux (1) | 2023.10.19 |
[NCP] NCP에서 LVM fstab, mount, LV, VG, PV 제거(삭제)하기 -Linux (1) | 2023.10.19 |
[NCP] Virtual Private Gateway(VPG)와 Virtual Private Gateway Group(VPGG) 알아보기 (1) | 2023.07.01 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!