IT/Linux

LVM을 사용하여 CentOS8에 파일시스템을 추가하고 삭제하기.

고슴도치 엔지니어 2024. 4. 27. 22:00

 

 

 

 

** VMware Player를 통해 배포한 리눅스상에서 진행하였고 물리디스크는 이미 추가한 상태로 가정하고 진행합니다.

 

기존 [swap, boot, /] 파일시스템용 40G 디스크 외에 2G 디스크 한개를 붙여놓은 상태.

 

 

1. lsblk 명령어를 통한 현 디스크 상태 확인

[root@server ~]# lsblk
NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0                11:0    1   1G  0 rom  /run/media/root/CentOS-Stream-8-BaseOS-x86_64
nvme0n1           259:0    0  40G  0 disk 
├─nvme0n1p1       259:1    0   1G  0 part /boot
├─nvme0n1p2       259:2    0   2G  0 part [SWAP]
└─nvme0n1p3       259:3    0  37G  0 part /
nvme0n2           259:4    0   2G  0 d

 

2GiB 짜리 2번째 디스크가 붙어있는것을 확인 할 수 있다.

 

 

2. pvcreate {추가한 디스크명} 명령어를 통한 Physical Volume 생성

[root@server ~]# pvcreate /dev/nvme0n2
  Physical volume "/dev/nvme0n2" successfully created.

 

3. vgcreate {VG이름} {추가한 디스크이름} 명령어를 통한 Volume Group 생성

[root@server ~]# vgcreate vg01 /dev/nvme0n2 
  Volume group "vg01" successfully created

 

4. lvcreate -n {LV이름} -l 100%FREE {VG이름} 명령어를 통해 Logical Volume을 기존에 생성한 VG용량의 100%를 할당하여 생성

root@server ~]# lvcreate -n lv_lvmdisk -l 100%FREE vg01
  Logical volume "lv_lvmdisk" created.

 

5. lsblk 명령어를 통해 생성된 lvm 디스크 확인

[root@server ~]# lsblk
NAME              MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0                11:0    1   1G  0 rom  
nvme0n1           259:0    0  40G  0 disk 
├─nvme0n1p1       259:1    0   1G  0 part /boot
├─nvme0n1p2       259:2    0   2G  0 part [SWAP]
└─nvme0n1p3       259:3    0  37G  0 part /
nvme0n2           259:4    0   2G  0 disk 
└─vg01-lv_lvmdisk 253:0    0   2G  0 lvm  /lvmdisk

 

6. mkfs명령어로 mount할 LV를

xfs 파일시스템으로 포맷.

[root@server /]# mkfs.xfs /dev/mapper/vg01-lv_lvmdisk

 

7. mkdir로 마운트할 디렉토리 생성

[root@server /]# mkdir /lvmdisk

 

8. mount 명령어로 만들어둔 lv와 디렉토리를 마운트

[root@server /]# mount /dev/mapper/vg01-lv_lvmdisk /lvmdisk

 

9. df 명령어를 통해 mount 여부 확인

[root@server /]# df -h
Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     1.4G     0  1.4G   0% /dev
tmpfs                        1.4G     0  1.4G   0% /dev/shm
tmpfs                        1.4G  9.3M  1.4G   1% /run
tmpfs                        1.4G     0  1.4G   0% /sys/fs/cgroup
/dev/nvme0n1p3                37G  6.3G   31G  17% /
/dev/nvme0n1p1              1014M  269M  746M  27% /boot
tmpfs                        276M   12K  276M   1% /run/user/42
tmpfs                        276M  4.0K  276M   1% /run/user/0
/dev/mapper/vg01-lv_lvmdisk  2.0G   47M  2.0G   3% /lvmdisk

 

 

10. /etc/fstab 파일을 수정하여 재부팅시에도 해당 mount 내용이 영구적용 되도록 함.

[root@server /]# cat /etc/fstab 
# /etc/fstab
# Created by anaconda on Sun Mar 10 09:20:07 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=a8c1e0a7-08ef-49b8-842f-7afb14ad8065 /                       xfs     defaults        0 0
UUID=058c6237-2254-46d0-bb1e-dbc3f48c2e67 /boot                   xfs     defaults        0 0
UUID=6073309f-8277-4a06-b1e9-cc00354ca7f4 none                    swap    defaults        0 0
/dev/mapper/vg01-lv_lvmdisk /lvmdisk xfs defaults 0 0

 

 

 

삭제는 생성의 역순으로 진행 합니다.

 

 

1. umount 명령어를 사용하여, 파일시스템 mount 해제

[root@server ~]# umount /dev/mapper/vg01-lv_lvmdisk /lvmdisk
umount: /lvmdisk: not mounted.

device가 busy 상태라 umount가 되지 않을시 umount -f -l 옵션을 사용하여 해지 진행한다.(지연 해제, 강제 해제)

 

2. df 명령어로 해제된 파일시스템 확인

[root@server ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.4G     0  1.4G   0% /dev
tmpfs           1.4G     0  1.4G   0% /dev/shm
tmpfs           1.4G  9.4M  1.4G   1% /run
tmpfs           1.4G     0  1.4G   0% /sys/fs/cgroup
/dev/nvme0n1p3   37G  6.3G   31G  17% /
/dev/nvme0n1p1 1014M  269M  746M  27% /boot
tmpfs           276M   12K  276M   1% /run/user/42
tmpfs           276M  4.0K  276M   1% /run/user/0

 

3. lvremove로 LV 삭제

[root@server ~]# lvremove /dev/vg01/lv_lvmdisk
Do you really want to remove active logical volume vg01/lv_lvmdisk? [y/n]: y
  Logical volume "lv_lvmdisk" successfully removed.

 

4. vgremove로 VG 삭제

[root@server ~]# vgremove vg01
  Volume group "vg01" successfully removed

 

5. pvremove로 PV 삭제

[root@server ~]# pvremove /dev/nvme0n2
  Labels on physical volume "/dev/nvme0n2" successfully wiped.

 

6. lsblk로 삭제된 PV 확인

[root@server ~]# lsblk
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0          11:0    1   1G  0 rom  
nvme0n1     259:0    0  40G  0 disk 
├─nvme0n1p1 259:1    0   1G  0 part /boot
├─nvme0n1p2 259:2    0   2G  0 part [SWAP]
└─nvme0n1p3 259:3    0  37G  0 part /
nvme0n2     259:4    0   2G  0 disk 

 

7. /etc/fstab 파일에서 파일시스템 추가했던 부분 주석처리

[root@server ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sun Mar 10 09:20:07 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=a8c1e0a7-08ef-49b8-842f-7afb14ad8065 /                       xfs     defaults        0 0
UUID=058c6237-2254-46d0-bb1e-dbc3f48c2e67 /boot                   xfs     defaults        0 0
UUID=6073309f-8277-4a06-b1e9-cc00354ca7f4 none                    swap    defaults        0 0
#/dev/mapper/vg01-lv_lvmdisk /lvmdisk xfs defaults 0 0

 

8. mount 시켰던 디렉토리 삭제

[root@server ~]# rm -r /lvmdisk