본문 바로가기

리눅스

VMware ESXi 환경에서 리눅스 가상 머신(VM)의 하드 디스크 용량을 증설하는 방법 - Ubuntu

728x90

VMware ESXi 환경에서 리눅스 가상 머신(VM)의 하드 디스크 용량을 증설하는 방법 - Ubuntu

ESXi 관리자에서 VM 설정 열기

VMware ESXi 관리자에서 VM을 선택하고 "편집 가상 머신 설정" 또는 유사한 옵션을 선택하여 VM 설정을 엽니다.

하드 디스크 추가

VM 설정에서 "하드웨어" 탭을 선택하고 하드 디스크를 추가합니다. 새로운 하드 디스크를 추가할 때 증설할 용량을 지정합니다. 증설할 용량은 원하는 크기로 설정합니다.

물리 디스크 증설

** 데이터스토어 용량 부족 이슈로 별도의 하드 디스크 추가

  • VM 하드 디스크 1(120 GB)

  • VM 하드 디스크 2 생성(200 GB)

VM 부팅 및 파티션 조정

VM을 부팅하고, 추가한 하드 디스크를 확인합니다. 새로운 하드 디스크에는 파티션 또는 파일 시스템이 없을 것입니다. 따라서 이 공간을 현재 파일 시스템에 추가해야 합니다. 사용하는 파일 시스템에 따라 다음 명령을 사용하여 파티션 또는 파일 시스템 크기를 조정합니다.

논리 볼륨 관리자(LVM) 구성하기

df -Th | egrep -v tmpfs
$ df -Th | egrep -v tmpfs
Filesystem            Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv--0 ext4    44G   37G  5.5G  87% /
/dev/sda2             ext4   974M  252M  655M  28% /boot

파티션 구성

  • 디스크 및 파티션 정보 확인
fdisk -l /dev/sdb
$ fdisk -l /dev/sdb
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  • /dev/sdb 파티션 생성
fdisk /dev/sdb

n > Enter > Enter > Enter > Enter > w

$ fdisk /dev/sdb

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x4086ea68.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-209715199, default 209715199): 

Created a new partition 1 of type 'Linux' and of size 100 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
  • 생성된 파티션 정보 확인
fdisk -l /dev/sdb
$ fdisk -l /dev/sdb
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x4086ea68

Device     Boot Start       End   Sectors  Size Id Type
/dev/sdb1        2048 209715199 209713152  100G 83 Linux

물리 볼륨(Physical Volume)

  • PV(물리 볼륨) 정보 확인
pvs
$ pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/sda4  vg0 lvm2 a--  <45.00g    0

 

pvdisplay
$ pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda4
  VG Name               vg0
  PV Size               <45.00 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              11519
  Free PE               0
  Allocated PE          11519
  PV UUID               e5wkk2-pBRN-ABZg-1NGJ-qLDn-ijkb-l4d4Vg
  • PV(물리 볼륨) 생성
pvcreate /dev/sdb1
$ pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
  • 생성된 PV(물리 볼륨) 정보 확인
pvs
$ pvs
  PV         VG  Fmt  Attr PSize    PFree   
  /dev/sda4  vg0 lvm2 a--   <45.00g       0 
  /dev/sdb1      lvm2 ---  <100.00g <100.00g

 

pvdisplay
$ pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda4
  VG Name               vg0
  PV Size               <45.00 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              11519
  Free PE               0
  Allocated PE          11519
  PV UUID               e5wkk2-pBRN-ABZg-1NGJ-qLDn-ijkb-l4d4Vg
   
  "/dev/sdb1" is a new physical volume of "<100.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <100.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               pY0S9R-aSef-Brhn-FQd1-2XSK-HJwy-PaRiRL
728x90

볼륨 그룹(Volume Group)

  • VG(볼륨 그룹) 정보 확인
vgs
$ vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  vg0   1   1   0 wz--n- <45.00g    0

 

vgdisplay
$ vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               <45.00 GiB
  PE Size               4.00 MiB
  Total PE              11519
  Alloc PE / Size       11519 / <45.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               NcPXMs-Nplq-1UAg-ZVa2-bc8x-St7N-tLn0Xm
  • VG(볼륨 그룹) 확장
vgextend vg0 /dev/sdb1
$ vgextend vg0 /dev/sdb1
  Volume group "vg0" successfully extended
  • 확장된 VG(볼륨 그룹) 정보 확인
vgs
$ vgs
  VG  #PV #LV #SN Attr   VSize   VFree   
  vg0   2   1   0 wz--n- 144.99g <100.00g

 

vgdisplay
$ vgdisplay
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               144.99 GiB
  PE Size               4.00 MiB
  Total PE              37118
  Alloc PE / Size       11519 / <45.00 GiB
  Free  PE / Size       25599 / <100.00 GiB
  VG UUID               NcPXMs-Nplq-1UAg-ZVa2-bc8x-St7N-tLn0Xm

논리 볼륨(Logical Volume)

  • LV(논리 볼륨) 정보 확인
lvs
$ lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv-0 vg0 -wi-ao---- <45.00g

 

lvdisplay
$ lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg0/lv-0
  LV Name                lv-0
  VG Name                vg0
  LV UUID                5UJ9Zc-gmKl-UD0R-kWfy-0wez-cRCE-fc6Tpg
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2023-01-09 15:38:19 +0900
  LV Status              available
  # open                 1
  LV Size                <45.00 GiB
  Current LE             11519
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
  • 기존 LV(논리 볼륨) 확장
lvextend -l +100%FREE /dev/vg0/lv-0
$ lvextend -l +100%FREE /dev/vg0/lv-0
  Size of logical volume vg0/lv-0 changed from <45.00 GiB (11519 extents) to 144.99 GiB (37118 extents).
  Logical volume vg0/lv-0 successfully resized.
  • 확장된 LV(논리 볼륨) 정보 확인
$ lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv-0 vg0 -wi-ao---- 144.99g
$ lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lv-0
  LV Name                lv-0
  VG Name                vg0
  LV UUID                5UJ9Zc-gmKl-UD0R-kWfy-0wez-cRCE-fc6Tpg
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2023-01-09 15:38:19 +0900
  LV Status              available
  # open                 1
  LV Size                144.99 GiB
  Current LE             37118
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

파일시스템(Filesystem)

  • 스토리지 디바이스 정보 확인
lsblk
$ lsblk | egrep -v loop      
NAME          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda             8:0    0   100G  0 disk 
├─sda1          8:1    0     1M  0 part 
├─sda2          8:2    0     1G  0 part /boot
├─sda3          8:3    0     4G  0 part [SWAP]
└─sda4          8:4    0  94.6G  0 part 
  └─vg0-lv--0 253:0    0   145G  0 lvm  /
sdb             8:16   0   100G  0 disk 
└─sdb1          8:17   0   100G  0 part 
  └─vg0-lv--0 253:0    0   145G  0 lvm  /
sr0            11:0    1   1.4G  0 rom

-f 옵션으로 파일시스템 정보 확인

lsblk -f
$ lsblk -f
NAME            FSTYPE      LABEL UUID                                   MOUNTPOINT
sda
├─sda1          xfs               efca6237-2489-42a9-b4d2-f09d324e3512   /boot
└─sda2          LVM2_member       WzmLIi-Ry2j-k73d-pvrA-Q9ke-5g1E-0HjHvd
  ├─centos-root xfs               6ed0780f-08ef-40b7-9025-b0506926e0ce   /
  └─centos-swap swap              09510e97-1235-4d5d-a908-5d7a68729438   [SWAP]
sdb
└─sdb1          LVM2_member       0GxagH-TpRu-Qd3s-7t3S-KNTD-iZXD-cAFHAS
  └─centos-root xfs               6ed0780f-08ef-40b7-9025-b0506926e0ce   /
sr0
  • 파일시스템 용량 확인
df -Th | egrep -v tmpfs
$ df -Th | egrep -v tmpfs
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs       111G   65G   47G  59% /
/dev/sda1               xfs      1014M  171M  844M  17% /boot
  • 파일시스템 확장
sudo resize2fs /dev/vg0/lv-0
$ sudo resize2fs /dev/vg0/lv-0
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/vg0/lv-0 is mounted on /; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 19
The filesystem on /dev/vg0/lv-0 is now 38008832 (4k) blocks long.
  • 확장된 파일시스템 용량 확인
df -Th | egrep -v tmpfs
$ df -Th | egrep -v tmpfs
Filesystem            Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv--0 ext4   143G   37G  100G  27% /
/dev/sda2             ext4   974M  252M  655M  28% /boot

 

728x90