LVM 실습 1 - 논리볼륨의 생성 및 삭제
- 생성 명령어
- 물리볼륨 생성 : pvcreate 장치명1....(/dev/sdxn(x:abc,n:123)
- 볼륨그룹 생성 : vgcreate vg명 pv명... -s pe 사이즈
- 논리볼륨 생성 : lvcreate vg명 -n lv명 -L 실제 크기 or -l le 갯수
- 삭제 명령어
- 물리볼륨 삭제 : pvremove pv명...
- 볼륨그룹 삭제 : vgremove vg명
- 논리볼륨 삭제 : lvremove lv경로 (/dev/볼륨그룹명/논리볼륨명, /dev/mapper/볼륨그룹명-논리볼륨명)
1. 파티션 구성
4G 2개, 6G 2개 되도록 생성 및 설정
- /dev/sdb1 : 4G
- /dev/sdb2 : 4G
- /dev/sdb3 : 6G
- /dev/sdb4 : 6G
2. /dev/sdb1~4 모두 물리 볼륨으로 생성
3. /dev/sdb2,4 볼륨 그룹 생성 (pe 단위를 8M로)
4. lv01 2G (-L 옵션을 사용해서)
5. lv02 4G (-l 옵션을 사용해서)
6. lv01 은 /mnt/disk1로 마운트 (파일시스템 xfs)
7. lv02 는 /mnt/disk2로 마운트 (파일시스템 ext4)
8. lv03 생성 - 나머지 용량 모두 사용해서 생성 (파일시스템 xfs) /mnt/disk3 영구마운트
9. mount -a 마운트 시키고 확인
10. 생성한 lv,vg,pv 모두 삭제
< 해답 >
더보기
더보기
# 파티션
# 4G 2개, 6G 2개 되도록 설정하시오.
# - /dev/sdb1 : 4G
# - /dev/sdb2 : 4G
# - /dev/sdb3 : 6G
# - /dev/sdb4 : 6G
# /dev/sdb1~4 모두 물리 볼륨으로 생성
pvcreate /dev/sdb[1-4]
# /dev/sdb2,4 볼륨 그룹 생성 (pe 단위를 8M로)
vgcreate vg0 /dev/sdb[24] -s 8M
# lv01 2G (-L 옵션을 사용해서)
lvcreate vg0 -n lv01 -L 2G
# lv02 4G (-l 옵션을 사용해서)
lvcreate vg0 -n lv02 -l 512
# lv01 은 /mnt/disk1로 마운트 (파일시스템 xfs)
mkdir /mnt/disk{1..3}
mkfs.xfs /dev/vg0/lv01
mount /dev/vg0/lv01 /mnt/disk1
# lv02 는 /mnt/disk2로 마운트 (파일시스템 ext4)
mkfs.ext4 /dev/vg0/lv02
mount /dev/vg0/lv02 /mnt/disk2
# lv03 생성 - 나머지 용량 모두 사용해서 생성 (파일시스템 xfs) 영구마운트
lvcreate vg0 -n lv03 -l 100%FREE
mkfs.xfs /dev/vg0/lv03
vim /etc/fstab
G
o
/dev/vg0/lv03 /mnt/disk3 xfs defaults 0 1
:wq
# mount -a 마운트 시키고 확인
mount -a
lsblk
df -Th
# 생성한 lv,vg,pv 모두 삭제
umount -a
vim /etc/fstab
G
dd
:wq
lvremove /dev/vg0/lv0[1-3]
vgremove vg0
pvremvoe /dev/sdb[1-4]
LVM 실습 2 - 논리볼륨의 확장 및 축소
- 볼륨그룹 확장 : vgextend vg명 pv명...
- 볼륨그룹 축소 : vgreduce vg명 pv명...
- 물리볼륨 내용 이동 : pvmove pv명...
- 논리볼륨 확장 : lvextend -L (+추가크기 or 최종크기) lv경로 -r(파일시스템 확장)
- xfs 파일시스템 확장 : xfs_growfs 마운트 포인트
- ext4 파일시스템 확장 : resize2fs lv경로
1. 파티션 용량 4,6,4,6 으로 생성
2. /dev/sdb1~4 모두 물리 볼륨으로 생성
3. /dev/sdb1,4 으로 볼륨 그룹 생성 (pe 단위를 16M로)
4. lv01 4G (-L 옵션을 사용해서)
5. lv02 4G (-l 옵션을 사용해서)
6. lv03 남은 용량 모두 사용
7. lv01 은 xfs 파일시스템으로 format 해서 /mnt/disk1로 마운트
8. lv02 는 ext4 파일시스템으로 format 해서 /mnt/disk2로 마운트
9. lv03 은 xfs 파일시스템으로 format 해서/mnt/disk3로 마운트
10. 볼륨그룹에 /dev/sdb3 추가할 것
11. lv01를 5G로 확장할 것(+ 옵션을 사용해서) -r 옵션 사용하지 말 것
12. 명령어로 파일시스템 확장 (xfs)
13. lv02를 6G로 확장할 것(+ 옵션을 사용하지 말고) -r 옵션 사용하지 말 것
14. 명령어로 파일시스템 확장 (ext4)
15. /dev/sdb4가 문제가 생겼습니다. /dev/sdb4를 제거하시오.
< 해답 >
더보기
더보기
# 스냅샷 초기화
# 파티션 용량 4,6,4,6
# /dev/sdb1~4 모두 물리 볼륨으로 생성
pvcreate /dev/sdb[1-4]
# /dev/sdb1,4 으로 볼륨 그룹 생성 (pe 단위를 16M로)
vgcreate vg0 /dev/sdb[14] -s 16M
# lv01 4G (-L 옵션을 사용해서)
lvcreate vg0 -n lv01 -L 4G
# lv02 4G (-l 옵션을 사용해서)
lvcreate vg0 -n lv02 -l 256
# lv03 남은 용량 모두 사용
lvcreate vg0 -n lv03 -l 100%FREE
# lv01 은 xfs 파일시스템으로 format 해서 /mnt/disk1로 마운트
mkdir /mnt/disk{1..3}
mkfs.xfs /dev/vg0/lv01
mount /dev/vg0/lv01 /mnt/disk1
# lv02 는 ext4 파일시스템으로 format 해서 /mnt/disk2로 마운트
mkfs.ext4 /dev/vg0/lv02
mount /dev/vg0/lv02/mnt/disk2
# lv03 은 xfs 파일시스템으로 format 해서/mnt/disk3로 마운트
mkfs.xfs /dev/vg0/lv03
mount /dev/vg0/lv03 /mnt/disk3
# 볼륨그룹에 /dev/sdb3 추가할 것
vgextend vg0 /dev/sdb3
# lv01를 5G로 확장할 것(+ 옵션을 사용해서) -r 옵션 사용하지 말 것
lvextend -L +1G /dev/vg0/lv01
lsblk
df -Th
# 명령어로 파일시스템 확장
xfs_growfs /mnt/disk1
# lv02를 6G로 확장할 것(+ 옵션을 사용하지 말고) -r 옵션 사용하지 말 것
lvextend -L 6G /dev/vg0/lv02
lsblk
df -Th
# 명령어로 파일시스템 확장
resize2fs /dev/vg0/lv02
# 용량 확장 확인
lsblk
df -Th
# /dev/sdb4가 문제가 생겼습니다. /dev/sdb4를 제거하시오.
vgreduce vg0 /dev/sdb4
# 에러발생 : 사용중
pvmove /dev/sdb4
# 에러발생 : 용량부족
vgextend vg0 /dev/sdb2
pvmove /dev/sdb4
vgreduce vg0 /dev/sdb4
FAQ 핵심 요약
- 왜 lsblk에는 4G인데 조각이 나나요?
- LVM의 메타데이터(장부) 영역 때문에 미세한 용량 부족이 발생하여 다른 디스크 공간을 사용하게 됩니다.
- 논리 볼륨만 늘리면 어떻게 되나요?
- lsblk에는 용량이 늘어난 것으로 보이지만, df -h에는 반영되지 않아 실제 파일 저장은 불가능합니다.
- 실수로 엉뚱한 폴더에 xfs_growfs를 했다면?
- 파일 시스템이 이미 최대 크기라면 아무 일도 일어나지 않으므로 시스템에 해가 되지 않습니다.
- 축소 시 왜 LV와 FS를 새로 만드는 게 낫나요?
- 축소 과정은 데이터 파손 위험이 크기 때문에, 백업 후 재생성하는 것이 가장 안전한 정석입니다.
'SeSac) DevOps > RHCSA 대비 - 실습문제' 카테고리의 다른 글
| 1-10. 소프트웨어 패키지 실습 (0) | 2026.01.13 |
|---|