각각의 물리 볼륨 그룹을 설정해주고 시작

[root@localhost ~]# vgcreate test-vg /dev/sdb1 /dev/sdc1 /dev/sdd1
  Volume group "test-vg" successfully created

 

1. 볼륨 그룹 확장

 

이미 구성된 볼륨 그룹에 추가로 사이즈를 확보하거나, RAID 구성을 위해 물리 볼륨을 추가할 수 있습니다. 이때 사용하는 명령어는 vgextend입니다.

 

vgextend volume-group-name physical-volume1 physical-volume2 ...

 

[root@localhost ~]# vgextend test-vg /dev/sde1 /dev/sdf1
  Volume group "test-vg" successfully extended
[root@localhost ~]# pvs
  PV         VG      Fmt  Attr PSize   PFree 
  /dev/sda2  centos  lvm2 a--  <49.74g  4.00m
  /dev/sdb1  test-vg lvm2 a--   <8.00g     0 
  /dev/sdc1  test-vg lvm2 a--   <8.00g  5.99g
  /dev/sdd1  test-vg lvm2 a--   <8.00g <8.00g
  /dev/sde1  test-vg lvm2 a--   <8.00g <8.00g
  /dev/sdf1  test-vg lvm2 a--   <8.00g <8.00g
  /dev/sdg1          lvm2 ---   <8.00g <8.00g

2. 볼륨 그룹 축소

볼륨 그룹 축소는 vgreduce 명령을 사용합니다. 볼륨 그룹 축소는 볼륨 그룹에서 물리 볼륨을 분리하여 진행합니다.

 

 

 

vgreduce volume-group-name physical-volume1 physical-volume2 ...

 

 

 

 

하지만 볼륨 그룹 축소는 확장과는 달리 이미 볼륨 그룹에서 사용 중인 물리 볼륨의 데이터를 다른 물리 볼륨으로 이동시켜야 합니다.

-> 데이터 손상 방지

 

 

pvmove 명령을 통해 지정된 물리 볼륨의 데이터를 같은 볼륨 그룹 내의 다른 물리 볼륨으로 이동시키는 작업이 필요합니다.

 

pvmove physical-volume

 

[root@localhost ~]# pvmove /dev/sdc1
  /dev/sdc1: Moved: 0.39%
  /dev/sdc1: Moved: 100.00%

 

 

이후에 vgreduce를 실행합니다

[root@localhost ~]# vgreduce test-vg /dev/sdc1
  Removed "/dev/sdc1" from volume group "test-vg"

 

 

3. 논리 볼륨 확장

논리 볼륨에 파일 시스템을 생성하고 마운트 한 뒤 사용하다가 사이즈가 부족할 경우 사이즈를 확장할 수 있습니다.

 

논리 볼륨 확장에 사용하는 명령은 lvextend입니다.

 

lvextend [option]  logical-volume-path

 

옵션은 -I 옵션과 , -L 옵션이 존재합니다.

-I 옵션의 경우 뒤에 PE개수를 지정하며 -L 옵션의 경우 사이즈(MB, GB)를 지정합니다.

 

또한, PE개수 또는 사이즈를 지정할 때 '+' 기호를 붙여야만 현재 크기에서 지정한 크기만큼 사이즈가 추가됩니다. 기호를 추가하지 않으면 절댓값으로 인식합니다.

 

[root@localhost ~]# lvextend -L +100M /dev/test-vg/test-lv2
  Size of logical volume test-vg/test-lv2 changed from 100.00 MiB (25 extents) to 200.00 MiB (50 extents).
  Logical volume test-vg/test-lv2 successfully resized.

 

이렇게 확장을 한다면 , 논리 볼륨을 확장하였지만, 논리 볼륨 내에 있는 파일 시스템 크기는 이전과 동일하게 됩니다.]

이는 논리 볼륨의 크기는 확장되었으나, 확장된 부분에는 파일 시스템을 생성하지 않았기 때문입니다.

 

즉, 파일 시스템 확장을 위해서는 각 파일 시스템 종류에 맞게 명령이 필요합니다.

 

xfs파일의 경우 xfs_growfs mount-point

ext4파일 시스템의 경우resize2fs logical-volume-path 과같은 명령어를 이용하면 됩니다.

 

xfs 파일 시스템의 경우 파운트 포인트를 인자로 지정, ext4파일 시스템의 경우 논리 볼륨 장치 파일을 인자로 지정합니다.

 

하지만 ' lvextend -r' 옵션을 이용하면 파일 시스템 종류에 상관없이 논리 볼륨과 파일 시스템을 동시에 확장시킬 수 있습니다!!

 

 

4. 논리 볼륨 축소

 

논리 볼륨 축소 명령은 lvreduce입니다.

 

lvreduce [option] logical-volume-path

 

 

논리 볼륨 축소도 마찬가지로 논리 볼륨만 축소하는 것이 아니라, 파일 시스템을 모두 축소하여야 합니다.

하지만 확대 와는 반대로 파일 시스템을 먼저 축소하고, 그다음 논리 볼륨을 축소해야 하는 반대의 순서를 가집니다!

(또한, 파일 시스템 축소는 ext4 파일 시스템만 가능합니다 )

 

 

resize2fs logical-volume-path size

또는

lvreduce '-r' 을 통해 파일 시스템 축소, 논리 볼륨 축소를 동시에 가능합니다.(안전)

 

 

 

 

+ Recent posts