>  기사  >  운영 및 유지보수  >  논리 볼륨 관리 lvm의 예에 대한 자세한 설명

논리 볼륨 관리 lvm의 예에 대한 자세한 설명

PHP中文网
PHP中文网원래의
2017-06-21 11:44:221676검색

논리 볼륨 관리 LVM

논리 볼륨을 생성한 후

1 파티션 또는 하드 디스크를 준비합니다

여기에서는 두 개의 하드 디스크 /dev/sdb 및 /dev/를 사용합니다. sdc 및 /dev/ sda9 및 /dev/sda10이라는 두 개의 파티션은 모두 크기가 1G이므로 디스크가 제한되어 있으므로 너무 까다롭게 지정하고 싶지 않습니다.

파티션 추가 /dev/sda9, /dev/sda10

[root@centos7 ~]# fdisk /dev/sda

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
All primary partitions are in use
Adding logical partition 9
First sector (31885312-41943039, default 31885312):
Using default value 31885312
Last sector, +sectors or +size{K,M,G} (31885312-41943039, default 41943039): +1G
Partition 9 of type Linux and of size 1 GiB is set

파티션 유형을 Linux LVM

Command (m for help): t
Partition number (1-9, default 9): 8e
Partition number (1-9, default 9): 9
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help):

같은 방식으로 /dev/sda10을 생성해야 합니다.

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda9 8:9 0 1G 0 part
└─sda10 8:10 0 1G 0 part
sdb 8:16 0 1G 0 disk
sdc 8:32 0 1G 0 disk

2 PV(물리적 볼륨) 생성

명령 형식은 pvcreate DEVICE입니다. 한 번에 하나의 장치를 생성하거나 여러 장치를 생성할 수 있습니다.

물리 볼륨 보기 명령: pvdisplay(자세한 정보 보기), pvs(간단한 정보 보기)

[root@centos7 ~]# pvcreate /dev/sda9

Physical volume "/dev/sda9" successfully created.
[root@centos7 ~]# pvcreate /dev/sda10 /dev/sdb /dev/sdc
Physical volume "/dev/sda10" successfully created.
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.

물리 볼륨을 보고 성공적으로 생성되었는지 확인하세요.

[root@centos7 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda10 lvm2 --- 1.00g 1.00g
/dev/sda9 lvm2 --- 1.00g 1.00g
/dev/sdb lvm2 --- 1.00g 1.00g
/dev/sdc lvm2 --- 1.00g 1.00g

3 볼륨 그룹(VG) 생성

명령 형식은 다음과 같습니다. vgcreate -s PE VGNAME(vg 이름) DEVICE(장치 이름)

-s: 물리적 확장 블록 크기를 지정합니다. PE의 크기입니다

보기 명령: vgs, vgdisplay

[root@centos7 ~]# vgcreate -s 16M vg0 /dev/sda9 /dev/sda10 /dev/sdb /dev/sdc
Volume group "vg0" successfully created

확인

[root@centos7 ~]# vgs

VG #PV #LV #SN Attr VSize VFree
vg0 4 0 0 wz--n- 3.94g 3.94g

자세한 내용을 살펴보겠습니다

[root@centos7 ~]# vgdisplay

--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 4
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 4
Act PV 4
VG Size 3.94 GiB
PE Size 16.00 MiB
Total PE 252
Alloc PE / Size 0 / 0
Free PE / Size 252 / 3.94 GiB
VG UUID qmoIMg-5wQR-GKCS-dpq9-HLrt-zVIi-JBC9ZX

모든 것이 예상대로입니다. 크기는 약 4G로 정확히 두 개의 파티션입니다. 두 개의 하드 드라이브를 합친 것입니다.

4 논리 볼륨(LV) 생성

명령 형식은 다음과 같습니다. lvcreate -n LVNAME(LV 이름 지정) -L SIZE(LV 크기 지정) vg0(사용할 VG)

- l PE 크기를 지정하세요

보기 명령(PV, VG와 유사): lvs, lvdisplay

[root@centos7 ~]# lvcreate -n lv0 -L 3G vg0

Logical volume "lv0" created.

성공적으로 생성되었습니다. 확인하세요

[root@centos7 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 vg0 -wi-a----- 3.00g

그런 다음 세부 정보

[root@centos7 ~]# lvdisplay

--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
LV UUID 622i7m-uy6s-3nZI-8xSb-sxrR-cZzz-C9pwkd
LV Write Access read/write
LV Creation host, time centos7.3.loacl, 2017-04-25 16:25:13 +0800
LV Status available
# open 0
LV Size 3.00 GiB
Current LE 192
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0

를 확인하여 확인하세요. 성공적으로 생성되었다는 것입니다.

이제 /dev/vg0/lv0을 하드 드라이브로 사용할 수 있습니다.

이제 디스크 정보를 보니 달라졌네요.

[root@centos7 ~]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda9 8:9 0 1G 0 part
│ └─vg0-lv0 253:0 0 3G 0 lvm
└─sda10 8:10 0 1G 0 part
└─vg0-lv0 253:0 0 3G 0 lvm
sdb 8:16 0 1G 0 disk
└─vg0-lv0 253:0 0 3G 0 lvm
sdc 8:32 0 1G 0 disk
└─vg0-lv0 253:0 0 3G 0 lvm

추가된 파티션과 하드디스크가 이미 vg0-lv0에 속해 있는 것을 볼 수 있습니다.

5 파일 시스템 생성, 형식

mkfs.ext4 /dev/vg0/lv0

[root@centos7 ~]# mkfs.ext4 /dev/vg0/lv0

6

[root@centos7 ~]# mkdir /mnt/lv0

[root@centos7 ~]# mount /dev/vg0/lv0 /mnt/lv0

을 사용하여 마운트

두 번째 확장자 LV

확장 명령 형식:

lvextend -L 100G /dev/vg0/lv0

lvextend -l +100G /dev/vg0/lv0

lvextend -l +100%FREE /dev/vg0/lv0

참고로 -L은 확장할 양, -l은 확장(증가)할 양, +100%FREE는 남은 vg를 100% 확장한다는 뜻으로 개인 상황에 따라 선택할 수 있습니다.

vg0은 여전히 ​​거의 1G 공간을 보유하고 있으므로 이제 lv0을 확장하세요

1 먼저 원래 LV를 확인해 보겠습니다.

[root@centos7 ~]# vgs

VG #PV #LV #SN Attr VSize VFree
vg0 4 1 0 wz--n- 3.94g 960.00m

2 확장 LV

[root@centos7 ~]# lvextend -r -l +100%FREE /dev/vg0/lv0

-r은 다시 sizefs 단계는 너무 편리합니다

또는 조금 더 번거롭습니다. 단계별로

[root@centos7 ~]# lvextend -l +100%FREE /dev/vg0/lv0

Size of logical volume vg0/lv0 changed from 3.00 GiB (192 extents) to 3.94 GiB (252 extents).
Logical volume vg0/lv0 successfully resized.

3 파일 시스템 크기를 재정의합시다

ext 시리즈 파일 시스템 재정의: resize2fs /dev/vg0/lv0

xfs 시리즈 파일 시스템 재정의: xfs_growfs /dev/vg0/lv0

[root@centos7 ~]# resize2fs /dev/vg0/lv0

resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg0/lv0 is mounted on /mnt/lv0; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg0/lv0 is now 1032192 blocks long.

4 파일 시스템 완료 확인(선택 사항)

[root@centos7 ~]# fsck.ext4 /dev/vg0/lv0

e2fsck 1.42.9 (28-Dec-2013)
/dev/vg0/lv0: clean, 20/262144 files, 35918/1032192 blocks

5 논리 볼륨 크기 확인

[root@centos7 ~]# df -h /dev/vg0/lv0

Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv0 3.9G 12M 3.6G 1% /mnt/lv0

매우 그랬습니다. 성공적으로 확장되었습니다.

6 데이터는 일반적으로 손실되지 않지만 보험 목적으로 사용됩니다. 먼저 백업하는 것이 좋습니다. /mnt/lv0 디렉터리의 기존 데이터를 확인하세요

[root@centos7 ~]# mount -o remount /dev/vg0/lv0

2 /dev/vg0/lv0 제거

[root@centos7 ~]# ls /mnt/lv0/

lost+found myfile2 myfile4 myfile6 myfile8

myfile1 myfile3 myfile5 myfile7 myfile9

[root@centos7 ~]# mkdir /backup

[root@centos7 ~]# cp -a /mnt/lv0/* /backup/

3 파일 시스템 확인e2fs ck -f /dev/vg0/lv0 파일 시스템 크기를 조정하기 전에 디스크 완료를 확인해야 합니다

[root@centos7 ~]# umount /mnt/lv0/

4下来重定义文件系统大小

resize2fs /dev/vg0/lv0 2G #2G位缩减后的LV 大小。

[root@centos7 ~]# resize2fs /dev/vg0/lv0 2G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg0/lv0 to 524288 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 524288 blocks long.

5 缩减LV

lvreduce -L 2G /dev/vg0/lv0 #缩减到2G

[root@centos7 ~]# lvreduce -L 2G /dev/vg0/lv0

WARNING: Reducing active logical volume to 2.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
Size of logical volume vg0/lv0 changed from 3.94 GiB (252 extents) to 2.00 GiB (128 extents).
Logical volume vg0/lv0 successfully resized.

6 挂载使用

mount /dev/vg0/lv0 /mnt/lv0

[root@centos7 ~]# mount /dev/vg0/lv0 /mnt/lv0/

查看磁盘挂载情况

[root@centos7 ~]# df -h /dev/vg0/lv0

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg0-lv0 2.0G 9.0M 1.8G 1% /mnt/lv0

7 确认数据是否丢失

现在再来开心目录/mnt/lv0 的内容

[root@centos7 ~]# ls /mnt/lv0/

lost+found myfile2 myfile4 myfile6 myfile8
myfile1 myfile3 myfile5 myfile7 myfile9

 

很完美,数据并没有丢失!

위 내용은 논리 볼륨 관리 lvm의 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.