진행한 OS
LVM이란?
- Logical Volume Manager의 줄임말로, 직역하면 논리 볼륨 관리자라는 뜻이 된다.
- 한 개 혹은 여러 개의 물리적인 디스크를 하나의 놀리적인 파일 시스템으로 구성하여 여러 개의 물리적인 디스크를 하나의 파일 시스템으로 사용하는 것 뿐만 아니라 합쳐진 것은 다시 원하는대로 여러 개의 파일 시스템으로 나눌 수도 있다.
LVM 용어
1. PV (Physical Volume)
블록 장치(ex.하드디스크) 전체 또는 블록 장치를 이루고 있는 파티션들을 LVM에서 사용할 수 있게 변환한 것이다.
PV는 일정한 크기의 PE(Physical Extent)들로 구성된다.
2. LV (Logical Volume)
사용자가 최종적으로 다루게 되는 논리적인 스토리지이다.
3. VG (Volume Group)
PV들의 집합으로 LV를 할당할 수 있는 공간이다.
PV들로 VG를 생성하는 과정은 LV로 할당할 수 있는 디스크 공간의 풀(Pool)을 생성하는 것으로 보면 된다.
사용자는 VG 안에서 원하는대로 공간을 쪼개서 LV로 만들 수 있다.
LVM 적용하기
# 파티션 설정 현황을 확인하기
fdisk -l
# 포스팅에서 사용할 것은 xvdb 이다.
# 파티션을 생성하자
fdisk /dev/xvdb
# 아래 빨간 네모는 입력해야 하는 옵션이고,
# enter는 말 그대로 enter로 넘기면 된다. (default 값)
# 추가가 된 것을 확인하기 위해 아래 명령어를 입력한다.
fdisk -l
# pvcreate를 이용하여 pv를 생성한다.
pvcreate /dev/xvdb1
# 생성한 pv를 pvscan 혹은 pvdisplay로 확인한다.
pvscan
pvdisplay
# vgcreate를 이용하여 pv들을 묶어 vg를 생성한다.
# 사용방법
vgcreate [vg이름] [pv 생성시 사용한 경로]
# ex
vgcreate vgData /dev/xvdb1
# 생성한 vg를 vgscan 혹은 vgdisplay로 확인한다.
vgscan
vgdisplay
# lvcreate를 이용하여 LV를 생성한다.
lvcreate -l 100%FREE -n lvData vgData
# 생성한 lv를 lvdisplay로 확인한다.
lvdisplay
# mkfs를 이용하여 생성한 LV를 파일시스템 ext4로 포맷한다.
mkfs.ext4 /dev/vgData/lvData
# xfs로 포맷할경우
mkfs.xfs /dev/vgData/lvData
# lvData가 clean인지 확인한다.
fsck -y /dev/vgData/lvData
# LV를 mount 한다.
mount [lv경로] [마운트 할 위치]
# ex
mount /dev/vgData/lvData /home
# mount 후 확인
df -h
# 확인이 되지 않으면 서버 재부팅 후 확인한다.
# 부팅 시에도 mount를 유지하기 위해 /etc/fstab 설정
vi /etc/fstab
[파일시스템장치] [마운트 포인트] [파일시스템종류] [옵션] [덤프] [파일점검옵션]
# ex - ext4 포맷일경우
/dev/vgData/lvData /home ext4 defaults 0 0
# ex - xfs 포맷일경우
/dev/vgData/lvData /home xfs defaults 0 0
# 작성 후 저장
:wq
LVM으로 구성된 디스크 확장
기존 파일 시스템 목록
자신의 파일 시스템 경로를 복사하여 마운트 포인트와 포맷 형식을 확인한다.
# 마운트 포인트가 해당하고 있는 LV가 어느 것인지 확인한다.
lvdisplay
# 마운트한 디스크가 어떤 형태인지 확인한다.
fdisk -l
# 미리 준비해 놓은 10GB 디스크로 확장을 준비한 상태 (파란색 박스: xvdc)
# fdisk에서 xvdc 디스크의 파티션을 설정해준 뒤
# 디스크 타입을 Linux에서 Linux LVM으로 변경 후 저장한다.
fdisk /dev/xvdc
# pvcreate를 이용하여 pv를 생성한다.
pvcreate /dev/xvdc1
# 생성한 pv를 pvscan 혹은 pvdisplay로 확인한다.
pvscan
pvdisplay
# 현재 vg가 어떤 구성으로 설정 되어 있는지 확인한다.
vgdisplay
# 위에서 확인한 디스크가 위치한 vg에 디스크를 증설하기 위해
# 디스크를 추가합니다(xvdc1)
vgxtend vgData /dev/xvdc1
# vg에 정상적으로 디스크가 추가 됐는지 확인한다.
vgdisplay
# lv에 해당 디스크의 남은 공간을 추가해준다.
# LVM 디스크 경로는 df -h 명령어로 확인할 수 있다.
# lvextend -l +100%FREE [LVM디스크경로]
# ex
lvextend -l +100%FREE /dev/vgData/lvData
resize 시키기
- 본인이 설정한 포맷 형식대로 맞춰서 진행한다.
# ext4 포맷인 경우
resize2fs /dev/vgData/lvData
# xfs 포맷인 경우
xfs_growfs /dev/vgData/lvData
xfs 포맷이 아닌데 xfs 형식으로 진행해서 되지 않는다.
ext4 포맷이라 resize2fs로 진행하니 잘 된다.
# 정상적으로 resizing이 됐다면 디스크 용량이 확장됐는지 확인한다.
df -h
'회사 > 과제' 카테고리의 다른 글
Munin (0) | 2022.01.07 |
---|---|
Nagios (0) | 2022.01.04 |
리눅스 기본 명령어 50개 (0) | 2021.12.30 |
MySQL Replication 이중화 (0) | 2021.12.29 |
Apache + Tomcat 연동 / 고양이 페이지 (0) | 2021.12.28 |