BEOM_IT

[Linux] LVM 본문

OS/Linux

[Linux] LVM

beomzh 2024. 11. 6. 14:54
728x90
반응형

LVM 기본 개념 이해

Physical Volume (PV): 물리적 디스크나 파티션을 LVM에서 사용할 수 있게 변환한 것.

Volume Group (VG): 여러 개의 PV를 묶어 하나의 큰 논리적 스토리지 풀로 만든 것.

Logical Volume (LV): VG에서 논리적으로 생성한 저장 공간, 즉 실제 데이터를 저장할 수 있는 공간.

 

# 패키지 설치 (필요 시)
sudo apt-get install lvm2      # Ubuntu/Debian 계열
sudo yum install lvm2          # CentOS/RHEL 계열

 

LVM 생성 방법

1. disk 목록확인
sudo fdisk -l

2. pv 생성
sudo pvcreate /dev/sdb

## 검증
pvscan pvdisplay

3. vg 생성
sudo vgcreate myvg /dev/sdb

## 검증
vgscan vgdisplay

4. lv 생성
sudo lvcreate -L 10G -n mylv myvg

## 검증
lvscan lvdisplay

5. file system생성
sudo mkfs.ext4 /dev/myvg/mylv

6. 마운트 포인트 생성 및 마운트
sudo mkdir /mnt/mylv
sudo mount /dev/myvg/mylv /mnt/mylv

검증방법

root@bastion ~# df -h
Filesystem             Size  Used Avail Use% Mounted on
devtmpfs               4.0M     0  4.0M   0% /dev
tmpfs                  7.7G     0  7.7G   0% /dev/shm
tmpfs                  3.1G  8.8M  3.1G   1% /run
/dev/mapper/rhel-root   99G   61G   38G  62% /
/dev/sda2              960M  257M  704M  27% /boot
/dev/sda1              599M  7.1M  592M   2% /boot/efi
tmpfs                  1.6G  4.0K  1.6G   1% /run/user/0

 

부팅시 자동 마운트 설정

echo "{파일시스템} {마운트포인트} {ext4/xfs/....} defaults 0 0" |sudo tee -a /etc/fstab
cat /etc/fstab
root@bastion ~# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Oct  7 07:20:11 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0

LV의 용량 변경

증설시

vg의 용량 확인

##ext4의 경우
vgdisplay myvg # vg 용량 확인
lvscan # lv마운트 포인트 확인
lvextend -L +5G /dev/myvg/mylv # 5G 증설
resize2fs /dev/myvg/mylv # 파일 시스템 크기 조정

## xfs의 경우
lvresize -l +100%FREE -n /dev/myvg/mylv # 전체 용량 증설
xfs_growfs {마운트 포인트}

감설시 => 마운트 해제

umount /mnt/mylv e2fsck -f /dev/myvg/mylv # 파일 시스템 오류 검사
resize2fs /dev/myvg/mylv 10G # 축소 용량
lvreduce -L 10G /dev/myvg/mylv # 감설
mount /dev/myvg/mylv /mnt/mylv # 다시 마운트

## LV 삭제
umount /mnt/mylv lvremove /dev/myvg/mylv

 

 

VG 및 PV 삭제 (필요 시) = 모든 LV 삭제 후 진행

vgremove myvg pvremove /dev/sdb

 

RHEL 기본 LVM 세가지

- rhel/root

- rhel/home

- rhel/swap

rhel/swap 삭제시 정상적으로 reboot이 수행되지 않으면, grubby를 사용해서 부팅 옵션 확인 및 제거

 reboot  중 dracut-initqueue failed to find logical volume : rhel/swap 에러 발생 

root@bastion ~# grubby --info DEFAULT
index=0
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rhel-swap rd.lvm.lv=rhel/root rd.lvm.lv=rhel/swap rhgb quiet"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (5.14.0-427.13.1.el9_4.x86_64) 9.4 (Plow)"
id="24eb30a7c46d4856a12ad53beb956ce8-5.14.0-427.13.1.el9_4.x86_64"
root@bastion ~# grubby --update-kernel=ALL --remove-args="rd.lvm.lv=rhel/swap"
root@bastion ~# grubby --update-kernel=ALL --remove-args="resume=/dev/mapper/rhel-swap"
root@bastion ~# grubby --info DEFAULT
index=0
kernel="/boot/vmlinuz-5.14.0-427.13.1.el9_4.x86_64"
args="ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M rd.lvm.lv=rhel/root rhgb quiet"
root="/dev/mapper/rhel-root"
initrd="/boot/initramfs-5.14.0-427.13.1.el9_4.x86_64.img $tuned_initrd"
title="Red Hat Enterprise Linux (5.14.0-427.13.1.el9_4.x86_64) 9.4 (Plow)"
id="24eb30a7c46d4856a12ad53beb956ce8-5.14.0-427.13.1.el9_4.x86_64"
728x90
반응형

'OS > Linux' 카테고리의 다른 글

[RHEL] 스왑 메모리 (Swap Memory)  (1) 2024.12.03
[Linux] 7일 전 로그 삭제  (0) 2024.11.29
[linux] rhel8 버전 간소화 보안취약점 스크립트  (0) 2024.10.31
[Linux] if 문 문법  (0) 2024.10.31
journalctl 명령어 사용  (0) 2024.03.13