리눅스 LVM 확장ㆍLVM 장치 삭제 방법(VMware)
이전에 VMware 프로그램을 사용해 하드 디스크를 추가한 후 LVM 장치를 새롭게 추가해 사용하는 방법에 대해 정리한 내용이 있습니다. - https://zzarungna.com/1548 이번엔 새롭게 하드 디스크를 추가해 기존 LVM 장치에 용량을 확장하는 방법에 대해서 정리해 보았으며 확장까지 모두 진행한 후 완료했다면 삭제하는 방법까지 정리해 보려고 합니다.
먼저 VMware 프로그램에서 새롭게 하드 디스크를 하나 추가하시면 됩니다. Edit virtual machine settings 메뉴를 눌러 주시면 됩니다.(VMware 버전에 따라 차이가 있을 수 있습니다. 단축키는 Ctrl+D 메뉴는 VM → Settings)
기존에 사용하고 있는 LVM 하드 디스크 장치를 확장할 목적으로 새롭게 하드 디스크 하나를 추가하시면 됩니다. Add → Hard Disk → Next
이미지를 참고하셔서 하드 디스크 장치를 하나 추가하시면 됩니다. SCSI → Create a new virtual disk → 10GB, Store virtual disk as a singlefile → Finish
하드 디스크 장치를 추가한 후 리눅스 부팅 후 fdisk -l 명령어로 새롭게 추가한 디스크 정보를 확인할 수 있습니다.
fdisk -l
Disk /dev/sdd: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xb260f7cc
Device Boot Start End Blocks Id System
기존 LVM 장치는 home과 마운트 되어 있으며 디스크 용량을 확장한 후 삭제까지 진행할 예정이기 때문에 데이터 복원을 위해 /home 폴더에 있는 데이터를 백업하고 진행하였습니다.
[root@localhost ~]# mkdir /home_backup #임시 백업 폴더 하나 생성
[root@localhost /]# cp -rp /home/* /home_backup #기존 데이타 백업
새롭게 추가한 하드 디스크를 용량 확장용으로 사용하기 위해서 먼저 파티션 설정이 필요합니다.
fdisk /dev/sdd
n
엔터
엔터
엔터
엔터
엔터
t
8e
w
[root@localhost ~]# fdisk /dev/sdd
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
파티션 설정 이후 physical volume을 생성한 후 기존에 bc 이름으로 볼륨 그룹을 만들었기에 볼륨 확장시 bc라는 이름으로 볼륨 확장을 진행하였습니다.
[root@localhost /]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@localhost /]# vgextend bc /dev/sdd1
Volume group "bc" successfully extended
Physical volume, Volume group 확장까지 완료한 이후 vgdisplay 확인해 보니 VG Size가 총 20GB로 총하드 디스크 3개 5Gb, 5Gb, 10Gb(확장)를 사용한 모든 용량이 인식된 것을 확인할 수 있습니다.
[root@localhost /]# vgdisplay
--- Volume group ---
VG Name bc
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 <19.99 GiB
PE Size 4.00 MiB
Total PE 5117
Alloc PE / Size 2558 / 9.99 GiB
Free PE / Size 2559 / <10.00 GiB
VG UUID kyooUo-kENz-Clll-Ji8T-HqHD-uKaA-FvGJ8o
이제 확장한 데이터를 100% 사용하기 위해 lvextend 명령어를 사용해 Logical volume 크기를 새롭게 조정하였습니다.
[root@localhost /]# lvextend -l +100%FREE /dev/bc/lv_data
Size of logical volume bc/lv_data changed from 9.99 GiB (2558 extents) to <19.99 GiB (5117 extents).
Logical volume bc/lv_data successfully resized.
#lvextend -l +100%FREE -r /dev/bc/lv_data 이명령어를 사용하면 한번에 파일 시스템도 확장된다 공부하는 것이니 지금은 하나씩 확장
다시 vgdisplay 명령어를 사용해 확인해보니 Free Pe / Size가 모두 사용된 것을 확인할 수 있었습니다.
[root@localhost /]# vgdisplay
--- Volume group ---
VG Name bc
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
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 <19.99 GiB
PE Size 4.00 MiB
Total PE 5117
Alloc PE / Size 5117 / <19.99 GiB
Free PE / Size 0 / 0
VG UUID kyooUo-kENz-Clll-Ji8T-HqHD-uKaA-FvGJ8o
작업이 다 끝난 것으로 생각되어 df -h /home 명령어를 통해 기존에 사용하고 있었던 LVM에 마운트한 home 사용 중인 용량을 확인해 보니 아직 10GB로 적용이 안 되어 있습니다.
[root@localhost /]# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/bc-lv_data 9.8G 37M 9.2G 1% /home
새롭게 확장한 데이터의 파일 시스템 크기 조정해 주어야 확장한 데이터를 사용할 수 있습니다. 파일 시스템 타입에 따라 명령어 차이가 있으니 주석에 있는 내용을 참고하시면 좋을 것 같습니다.
[root@localhost /]# resize2fs /dev/bc/lv_data # 파일 시스템 타입이 xfs라면 resize2fs대신 xfs_growfs 사용
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/bc/lv_data is mounted on /home; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/bc/lv_data is now 5239808 blocks long.
모든 작업이 완료된 것 같아 다시 df -h /home 명령어를 통해 확인해보니 새롭게 확장했던 용량까지 모두 Size에 적용된 것을 확인할 수 있습니다.
[root@localhost /]# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/bc-lv_data 20G 45M 19G 1% /home
[root@localhost /]#
LVM 장치를 삭제하는 방법
기존 리눅스(CentOs7) 운영체제에 하드 디스크 2개를 추가하여 사용하다 1개의 하드 디스크를 더 추가해 확장까지 이용해 총 3개의 하드 디스크를 정상적으로 모두 적용된 것을 확인하였습니다.
연습용으로 진행한 것이기에 삭제하는 내용도 정리해 놓으면 좋을 것 같아 기존에 추가했던 3개의 모든 하드 디스크 LVM 장치를 삭제하려고 합니다.
아래 내용 순서대로 진행을 하시면 됩니다.
[root@localhost /]# umount /home ###기존에 연결된 마운트를 해제
[root@localhost /]# lvscan ###현재 활성화 되어 있는 장치 및 경로 확인을 위해서 '/dev/bc/lv_data 경로 확인.
ACTIVE '/dev/bc/lv_data' [<19.99 GiB] inherit
ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
ACTIVE '/dev/centos/root' [<17.00 GiB] inherit
[root@localhost /]# lvremove /dev/bc/lv_data ###해당 경로에 추가했던 lvm 장치를 제거
Do you really want to remove active logical volume bc/lv_data? [y/n]: y ### y를 눌러 진행
Logical volume "lv_data" successfully removed
[root@localhost /]# vgs ###삭제가 모두 완료된 후 vgs 명령어를 통해 생성한 그룹 이름이 있는지 확인 저는 bc로 생성
VG #PV #LV #SN Attr VSize VFree
bc 3 0 0 wz--n- <19.99g <19.99g
centos 1 2 0 wz--n- <19.00g 0
[root@localhost /]# vgremove bc ### 생성했던 Volume Group bc 삭제
Volume group "bc" successfully removed
[root@localhost /]# pvs ### pvs 명령어를 통해 장치 세부 경로 확인
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdb1 lvm2 --- <5.00g <5.00g
/dev/sdc1 lvm2 --- <5.00g <5.00g
/dev/sdd1 lvm2 --- <10.00g <10.00g
[root@localhost /]# pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1 ###한번에 삭제 가능
Labels on physical volume "/dev/sdb1" successfully wiped.
Labels on physical volume "/dev/sdc1" successfully wiped.
Labels on physical volume "/dev/sdd1" successfully wiped.
[root@localhost /]# vgdisplay ### 작업 완료 후 vgdisplay를 확인해 보니 추가했던 새로운 장치는 삭제 되었음.
--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID w9swur-lqPb-dYp9-ko7w-WYBS-uMpo-WFZpAb
삭제 완료 후 df -h /home 명령어를 통해 확인해보니 파일 시스템 경로가 root로 다시 변경되어 있는 것을 확인하였습니다.
[root@localhost /]# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.3G 16G 8% /
LVM 장치를 추가하여 영구적으로 적용하기 위해 fstab 파일을 수정하셨다면 관련 내용을 삭제해 주셔야 합니다. 저는 주석처리 하는 것으로 삭제를 대신 하였습니다.
[root@localhost /]# vi /etc/fstab
위와 같이 삭제를 진행하게 되면 기존에 있던 home 계정 데이터는 모두 삭제되게 됩니다. 삭제를 진행하기 전 저는 home_backup 폴더에 데이터를 백업해 놓은 게 있습니다. cp -rp 명령어를 사용해 백업한 데이터를 다시 /home 폴더에 저장하였습니다.
[root@localhost /]# cp -rp /home_backup/* /home
다시 리눅스 전원을 끄고 켜보니 이전에 추가 했던 계정으로 문제없이 전환되는 것을 확인 했습니다.
[root@localhost /]# su korea
[korea@localhost /]$ good~
Logical Volume Manager를 이용해 새롭게 사용하고 확장하기 위해 사용했던 하드 디스크 장치를 확장하는 방법과 다시 삭제하는 방법까지 정리해 봤습니다. 이후에 필요한 내용이라 생각되어 개인적으로 참고할 목적으로 정리해 보았으며 필요하신 분들이 있다면 참고하시면 좋을 것 같습니다.