▶︎ 개요
Proxmox 최초 설치 시 파티션이 분리되어 있는 것을 통합하는 과정을 기록해보려한다.
Proxmox를 최초 설치한 후 lsblk
커맨드로 디스크 목록을 살펴보면
현재 서버에 장착된 디스크는 1TB짜리 인데
위처럼 pve-root 252:1 0 96G 0 lvm /
루트 디렉토리에서 사용 가능한 용량은 100G채 되지 않는다.
- Local - 100G (PVE/ISO/템플릿 등 용도)
- Data - 나머지 816.xx GB (VM Disk/CT 볼륨 용도)
이렇게 나뉘어져 있는데
제일 불편한건 로컬 용량 자체가 100G로 잡혀있기 때문에 작업 시 용량에 제한이 있다는 점이다.
그래서 이번 포스팅에서는 이 local-lvm을 기존 local에 통합시켜보는 작업을 세세하게 기록해볼 것이다.
‣ 사전 준비
먼저 통합 전 기존에 사용하던 스토리즈를 아래와 같이 깔끔하게 비워주어야 한다.
‣ lvm 통합
먼저 lsblk
커맨드로 디스크 목록을 다시 한 번 확인해보자.
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
....
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 1007K 0 part
├─nvme0n1p2 259:2 0 1G 0 part /boot/efi
└─nvme0n1p3 259:3 0 952.9G 0 part
├─pve-swap 252:0 0 8G 0 lvm [SWAP]
├─pve-root 252:1 0 96G 0 lvm /
├─pve-data_tmeta 252:2 0 8.3G 0 lvm
│ └─pve-data 252:4 0 816.2G 0 lvm
└─pve-data_tdata 252:3 0 816.2G 0 lvm
└─pve-data 252:4 0 816.2G 0 lvm
nvme0n1p3
파티션에 952.9G가 할당되어있다. 아무래도 해당 파티션이 physical volume일 가능성이 높다.
한 번 pvdisplay
명령어로 확인해보자.
$ pvdisplay
--- Physical volume ---
PV Name /dev/nvme0n1p3
VG Name pve
PV Size <952.87 GiB / not usable <1.32 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 243934
Free PE 4097
Allocated PE 239837
PV UUID d8k2bE-jMjN-UJUV-YBa2-A1ym-YJCs-bMBWQV
예상대로 nvme0n1p3
파티션이 pv으로 지정되어있다.
다음으로 현재 어떤 Volume Group이 생성되어있는지 확인해보자.
$ vgs
VG #PV #LV #SN Attr VSize VFree
pve 1 3 0 wz--n- <952.87g 16.00g
$ vgdisplay
--- Volume group ---
VG Name pve
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <952.87 GiB
PE Size 4.00 MiB
Total PE 243934
Alloc PE / Size 239837 / 936.86 GiB
Free PE / Size 4097 / 16.00 GiB
VG UUID hdoLg2-aorE-Hij1-oWMy-neXG-ty0F-szN3Uo
pve라고 하는 볼륨 그룹이 생성 되어있다.
해당 vg에 논리 볼륨들이 어떻게 할당되어 있는지 확인해보도록 하자.
$ lvdisplay
--- Logical volume ---
LV Name data
VG Name pve
LV UUID VW2ayU-YCvO-pLqp-DPUw-mqm3-zRc2-QsFmbW
LV Write Access read/write
LV Creation host, time proxmox, 2024-02-09 23:42:28 +0900
LV Pool metadata data_tmeta
LV Pool data data_tdata
LV Status available
# open 0
LV Size <816.21 GiB
Allocated pool data 0.00%
Allocated metadata 0.23%
Current LE 208949
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:4
--- Logical volume ---
LV Path /dev/pve/swap
LV Name swap
VG Name pve
LV UUID 3jFbFv-3tpO-ythe-jEzM-qaiG-dAzQ-0IuHJd
LV Write Access read/write
LV Creation host, time proxmox, 2024-02-09 23:42:26 +0900
LV Status available
# open 2
LV Size 8.00 GiB
Current LE 2048
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/pve/root
LV Name root
VG Name pve
LV UUID 6b1AjQ-21HF-BHEW-64LK-tz0m-yr4W-RYWI8z
LV Write Access read/write
LV Creation host, time proxmox, 2024-02-09 23:42:27 +0900
LV Status available
# open 1
LV Size 96.00 GiB
Current LE 24576
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
총 3개의 논리 볼륨이 생성되었다.
/dev/pve/root
, /dev/prve/swap
, 그리고 아직 경로가 할당되지 않은 data
lv이 존재하는 것을 확인할 수 있다.
우리는 /dev/pve/data를 lv에서 삭제하고, 삭제됨과 동시에 /dev/pve/data
에 할당되어 있던 816.21GB 용량을 /dev/pve/root에 resize 해줄 것이다.
proxmox 서버의 셸로 들어가서 아래와 같은 명령어를 입력해주자.
$ lvremove /dev/pve/data
$ lvresize -l +100%FREE /dev/pve/root
위 명령어의 내용은 /dev/pve/data
Logical volume을 삭제하고 그 용량의 전체를 /dev/pve/root
로 resize 시켜준다는 의미이다.
위 resize 명령을 실행했다면 /dev/pve/root
lv에 용량이 정상적으로 리사이즈 됐는지 확인해보도록 하자.
$ lvdisplay
....
--- Logical volume ---
LV Path /dev/pve/root
LV Name root
VG Name pve
LV UUID 6b1AjQ-21HF-BHEW-64LK-tz0m-yr4W-RYWI8z
LV Write Access read/write
LV Creation host, time proxmox, 2024-02-09 23:42:27 +0900
LV Status available
# open 1
LV Size <944.87 GiB # 용량이 resize 됐음!
Current LE 241886
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
리사이즈가 완료되면 /dev/pve/root
의 파일시스템도 리사이징 해주어야 한다.
resize2fs -p /dev/pve/root
완료되면 local의 토탈 사이즈가 늘어난 것을 확인할 수 있다.
$ df -h | grep 'pve-root'
/dev/mapper/pve-root 930G 2.5G 889G 1% /
▶︎ local-lvm 삭제
위 과정을 통해 /dev/pve/data
용량을 /dev/pve/root
로 정상적으로 리사이징 했다면
proxmox gui에서 local-lvm
을 지워주도록 하자.
Proxmox 웹에서 local-lvm
을 삭제하고 기존 local
스토리지를 컨테이너 템플릿으로 변경해주었다.