[RHCSA] LVM 확장
1. Overview
특정 마운트 지점의 공간이 부족하다는 가정하에
확장 방법을 알아본다.
2. Descriptions
2.1 현재 상황
1
2
3
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/servera_01_vg-servera_01_lv 395M 24M 372M 6% /data
/data Total Size가 395MB 이다.
1
2
# mount | grep /data
/dev/mapper/servera_01_vg-servera_01_lv on /data type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/mapper/servera_01_vg-servera_01_lv 장치명도 확인을 하였다.
이 부분은 그냥 쳐본거지, 여기서 얻어야만 하는 정보는 없다.
/data 의 총 크기를 최소 700MB로 만들기 위해서는 대략 400MB를 추가 할당해주어야 한다.
2.2 볼륨 그룹 확장과 추가 파티셔닝
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# lvdisplay
--- Logical volume ---
LV Path /dev/servera_01_vg/servera_01_lv
LV Name servera_01_lv
VG Name servera_01_vg
LV UUID SKBNR5-5EJc-k2U1-B5tB-hC6y-Je6W-myzhUV
LV Write Access read/write
LV Creation host, time servera.lab.example.com, 2021-12-09 00:24:30 -0500
LV Status available
# open 1
LV Size 400.00 MiB
Current LE 100
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
/data 가 마운트된 장치의 논리볼륨(LV)은 servera_01_vg 볼륨 그룹에서 할당되었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# vgdisplay servera_01_vg
--- Volume group ---
VG Name servera_01_vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 504.00 MiB
PE Size 4.00 MiB
Total PE 126
Alloc PE / Size 100 / 400.00 MiB
Free PE / Size 26 / 104.00 MiB
VG UUID sNogVl-KWL2-F4UZ-C3s6-KJaj-LPrV-zVwGEr
해당 볼륨 그룹의 정보.
Free Size가 104MB이므로 300MB 정도를 더 확장해야 한다.
여기 Free Size가 충분했다면 볼륨 그룹 확장이 필요 없다.
1
2
3
4
5
6
7
8
9
10
# parted /dev/vdb print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 269MB 268MB primary lvm
2 271MB 539MB 268MB primary lvm
디스크 장치 크기는 5369MB로 여유가 있다.
1
2
3
# parted /dev/vdb mkpart primary 540MB 900MB
# parted /dev/vdb set 3 lvm on
# udevadm settle
추가로 파티션을 생성하엿다.
1
2
3
4
5
6
7
8
9
10
11
# parted /dev/vdb print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 269MB 268MB primary lvm
2 271MB 539MB 268MB primary lvm
3 540MB 900MB 360MB primary lvm
1
2
# pvcreate /dev/vdb3
# vgextend servera_01_vg /dev/vdb3
/dev/vdb3 장치를 볼륨으로 만들고, 기존 servera_01_vg 그룹에 할당하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# vgdisplay
--- Volume group ---
VG Name servera_01_vg
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 844.00 MiB
PE Size 4.00 MiB
Total PE 211
Alloc PE / Size 100 / 400.00 MiB
Free PE / Size 111 / 444.00 MiB
VG UUID sNogVl-KWL2-F4UZ-C3s6-KJaj-LPrV-zVwGEr
Free Size가 444 MB로 크게 늘어났다.
2.3 논리 볼륨 확장
1
# lvextend -L 700MB -n /dev/servera_01_vg/servera_01_lv
_700MB_는 추가할 사이즈가 아니라, 최종 사이즈다.
명령어로 가상 디스크 장치(LV)를 확장한다.
1
# xfs_growfs /data
해당 명령어로 새롭게 늘어난 비어있는 공간을 xfs로 채워넣는다.
ext4 의 경우에는 resize2fs 를 사용한다.
1
2
3
# df -h /data
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/servera_01_vg-servera_01_lv 695M 26M 670M 4% /data
695MB로 많이 늘어났다~~