Profile picture

[Proxmox] local-lvm 디스크 통합하기

JaehyoJJAng2024년 01월 10일

▶︎ 개요

Proxmox 최초 설치 시 파티션이 분리되어 있는 것을 통합하는 과정을 기록해보려한다.

Proxmox를 최초 설치한 후 lsblk 커맨드로 디스크 목록을 살펴보면
image
현재 서버에 장착된 디스크는 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에 통합시켜보는 작업을 세세하게 기록해볼 것이다.


‣ 사전 준비

먼저 통합 전 기존에 사용하던 스토리즈를 아래와 같이 깔끔하게 비워주어야 한다.
image


‣ 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을 지워주도록 하자.
image image
Proxmox 웹에서 local-lvm을 삭제하고 기존 local 스토리지를 컨테이너 템플릿으로 변경해주었다.


Loading script...