becool

20210419 (월) 본문

linux

20210419 (월)

gusalstm 2021. 4. 19. 16:25
반응형

9:32 review

 

Ch06. LVM

LVM(Logical Volume Management)

Physical Volume(물리 볼륨, PV) : LVM으로 디스크를 관리하기 위한 디스크의 기본적인 단계
Volume Group(볼륨 그룹, VG) : 여러개의 Physical Volume으로 구성된 집합
Logical Volume(논리 볼륨, LV) : LVM에서 데이터를 저장하기 위해 사용하는 Volume

PE(Physical Extent) : Physical Volume에서 사용하는 기본 데이터 저장 단위(기본값 4M)
LE(Logical Extent) : Logical Volume에서 사용하는 기본 데이터 저장 단위

LVM 디스크 작업 순서
(1) Physical Volume 생성
(2) Volume Group 생성
(3) Logical Volume 생성


LVM 디스크 작업 순서(LVM 구성)
(1) 새로운 디스크 추가
(2) 파티셔닝 - fdisk
    (system id :  8e  Linux LVM)
 (2-1) 파티션 테이블 정보 갱신
    # partprobe

(3) Logical Volume 생성 과정
 (3-1) # pvcreate  DEVICE
 (3-2) # vgcreate  VGNAME  DEVICE...
 (3-3) # lvcreate  -n  LVNAME  -L  LVSIZE  VGNAME

  -L : 논리 볼륨의 크기 설정 256M, 4G 등

  -l : 논리 볼륨의 LE의 갯수로 지정 -l 256 (=1G), -l 1024 (=4G) 등

     ※ LE 사이즈의 default 값은 4M 이다.

 

 

 

 

제거순서

 언마운트 → 논리볼륨 제거 → 볼륨그룹제거 → 물리볼륨 제거

#umount [LV PATH]

#lvremove [LV PATH]

#vgremove [VG PATH]

#pvremove [PV PATH]

[root@localhost ~]# umount /dev/vgroot/lvdata1

[root@localhost ~]# lvremove /dev/vgroot/lvdata1

[root@localhost ~]# vgremove /dev/vgroot

[root@localhost ~]# pvremove /dev/sde4

[root@localhost ~]# fdisk /dev/sde

Command (m for help): d
Partition number (1-4, default 4): 4
Partition 4 is deleted

 

PE사이즈 변경

#man vgcreate -s

 [ -s|--physicalextentsize Size[m|UNIT] ]

[root@localhost ~]# vgcreate -s 8M vgroot /dev/sdd1 /dev/sde1 /dev/sde2
  Volume group "vgroot" successfully created

 

 

df 명령 -h 용량옵션 -T 파일시스템 타입 옵션

[root@localhost ~]# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  903M     0  903M   0% /dev
tmpfs                     tmpfs     919M     0  919M   0% /dev/shm
tmpfs                     tmpfs     919M  9.5M  910M   2% /run
tmpfs                     tmpfs     919M     0  919M   0% /sys/fs/cgroup
/dev/mapper/centos-root   xfs        17G  4.8G   13G  28% /
/dev/sda1                 xfs      1014M  239M  776M  24% /boot
tmpfs                     tmpfs     184M   28K  184M   1% /run/user/0
/dev/sr0                  iso9660    59M   59M     0 100% /run/media/root/VBox_GAs_6.1.18
/dev/mapper/vgmain-lvdata ext4      4.8G   20M  4.6G   1% /mnt/data
/dev/mapper/vgmain-lvtemp xfs       2.5G   33M  2.5G   2% /mnt/temp-data

 

 

 

논리 볼륨 확장

 *논리볼륨 용량 확장 → 파일시스템 용량 확장

 # lvextend -L LVSIZE LV_DEVICE

 # lvextend -l LE_COUNT LV_DEVICE

   -l +100%FREE : 남은용량 전체 추가하여 용량 확장

 -r 옵션 : 변경 용량 즉각 반영

 # resize2fs LV_DEVICE  : ext4 파일시스템 크기 조정

 # xfs_growfs LV_DEVICE : xfs 파일시스템 크기 조정

 ※ 현재 위 두가지 파일시스템만 확장을 지원한다.

 

ext4

[root@localhost ~]# lvextend -L 6G /dev/vgmain/lvdata 

[root@localhost ~]# resize2fs /dev/vgmain/lvdata  
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vgmain/lvdata is mounted on /mnt/data; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vgmain/lvdata is now 1572864 blocks long.

[root@localhost ~]# df -hT
/dev/mapper/vgmain-lvdata ext4      5.8G   20M  5.5G   1% /mnt/data

xfs

[root@localhost ~]# lvextend -L +512M /dev/vgmain/lvtemp  : 상대값 증설 옵션
  Size of logical volume vgmain/lvtemp changed from 3.00 GiB (768 extents) to 3.50 GiB (896 extents).
  Logical volume vgmain/lvtemp successfully resized.

[root@localhost ~]# xfs_growfs /dev/vgmain/lvtemp 

 

 

=========================================================

 

볼륨 그룹에 대한 증설    vgextend VGNAME PV....
[root@localhost ~]# vgextend vgmain /dev/sdc3
  Volume group "vgmain" successfully extended

 

 

볼륨 그룹 축소 (사고난 디스크 제거 : vgreduce) sdc3가 문제가 있는것으로 가정한 예제 

 * 데이터 이동 → 볼륨 그룹 축소

 

pvmove PV_DEVICE_NAME (데이터를 옮길 PV)

[root@localhost ~]# pvmove /dev/sdc3
  /dev/sdc3: Moved: 0.29%
  /dev/sdc3: Moved: 25.02%
  /dev/sdc3: Moved: 36.95%
  /dev/sdc3: Moved: 49.66%
  /dev/sdc3: Moved: 100.00%

 

# vgreduce VGNAME PV

[root@localhost ~]# vgreduce vgmain /dev/sdc3
  Removed "/dev/sdc3" from volume group "vgmain"

 

이후 디스크 제거 및 교체

 


====================================================

 

 

논리 볼륨 축소 

xfs

 * 언마운트 → lvreduce → mkfs.xfs -f  → mount → df -hT

[root@localhost ~]# umount -t xfs /dev/vgmain/lvtemp
[root@localhost ~]# lvreduce -L 2.5G /dev/vgmain/lvtemp 
[root@localhost ~]# mkfs.xfs -f /dev/vgmain/lvtemp 
[root@localhost ~]# mount -t xfs /dev/vgmain/lvtemp /mnt/temp-data/
[root@localhost ~]# df -hT
Filesystem                Type      Size  Used Avail Use% Mounted on
/dev/mapper/vgmain-lvdata ext4      5.8G   20M  5.5G   1% /mnt/data
/dev/mapper/vgmain-lvtemp xfs       2.5G   33M  2.5G   2% /mnt/temp-data

 

 

 

 

728x90

'linux' 카테고리의 다른 글

20210421 (수)  (0) 2021.04.21
20210420 (화)  (0) 2021.04.20
20210416 (금)  (0) 2021.04.16
20210415 (목)  (0) 2021.04.15
20210414 (수)  (0) 2021.04.14
Comments