您的位置:首页 > 其它

5.使用逻辑卷管理器管理灵活存储 lvm

2017-04-09 18:17 387 查看
##### LVM管理

一、lvm相关命令

lvm Logical Volume Manager,逻辑卷,可以让设备自由伸缩的一个设备管理软件

pv 物理卷,

vg 物理卷组

pe 物理拓展,lvm最小的存储单元

二、lvm设备的制作

首先划分lvm所用到的设备,这些设备功能id必须是linux LVM(8e)

1、lvm的建立

pvcreate /dev/vdb1 ##把物理分区做成物理卷

pvs | pvdisplay ##查看物理卷

vgcreate vg0 /dev/vdb1 ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0

vgs | vgdisplay ##查看逻辑卷组

lvcreate -L 200M -n lv0 vg0 ##在vg0这个组中建立lv0设备,-L 指定设备大小 -n 指定设备名称

lvs | lvdisplay ##对逻辑卷设备进行查看

2、针对xfs文件系统—–lvm设备的扩大(只可以扩大,不可以缩小)

1)lvm扩大

lvextend -L 500M /dev/vg0/lv0 ##扩大lvm设备到500M

xfs_growfs /dev/vg0/lv0 ##扩大xfs文件系统到设备大小

2)vg扩大

pvcreate /dev/vdb2 ##在pv中增加一块设备/dev/vdb2

vgextend vg0 /dev/vdb2 ##把新建的/dev/vdb2添加到vg0中

3、针对ext文件系统—–lvm设备的扩大(可拉伸也可缩减)

1)lvm扩大

lvextend -L 2G /dev/vg0/lv0 ##扩大lvm设备到2G

resize2fs /dev/vg0/lv0 ##设备文件系统大小和设备同步

2)vg扩大

pvcreate /dev/vdb3 ##在pv中增加一块设备/dev/vdb3

vgextend vg0 /dev/vdb3 ##把新建的/dev/vdb3添加到vg0中

3)lvm缩减

umount /dev/vg0/lv0 ##卸载正在使用的设备,因为文件系统的缩减不支持在线操作

e2fsck -f /dev/vg0/lv0 ##检测文件系统,确定文件系统中已有数据大小防止过度缩减

resize2fs /dev/vg0/lv0 1G ##把文件系统缩减到1G

lvreduce -L 1G /dev/vg0/lv0 ##设备缩减到1G

4)vg缩减

在vg缩减时只能缩减没有被占用的设备

pvmove 设备1 设备2 ##把设备1上的所有数据移动到设备2上

vgreduce vg0 /dev/vdb1 ##把vg0中的/dev/vdb1删除

pvremove /dev/vdb1 ##把/dev/vdb1上的lvm管理信息删除

4、易错问题的出现及方法

1)lvm丢失设备的删除

pvs

unknown device vg0 lvm2 a-m 1020.00m 1020.00m

当删除时未知设备时用下面的命令

vgreduce –removemissing vg0

2)ext格式缩减时先缩减设备使文件系统破坏

解决方法:先拉伸后缩减即可解决

5、lvm快照的原理及制作

lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0

给/dev/vg0/lv0建立快照,-L指定快照名字,-s指定快照模板设备

mount /dev/vg0/lv0-backup /usrdata

快照设备里的数据被更改,如果想还原,删除快照设备,重新建立快照即可

6、lvm的删除

umount -> lvremove -> vgremove -> pvremove ->fdisk /dev/vdb ->partprobe

二、有关LVM的具体操作

1、划分lvm所用到的设备

[root@server188 ~]# fdisk /dev/vdb

Command (m for help): n

Partition type:

p primary (0 primary, 0 extended, 4 free)

e extended

Select (default p):

Using default response 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): +1G

Partition 1 of type Linux and of size 1 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’

#

以上操作为建立设备功能id是linux LVM(8e)的分区,dev/vdb{2,3,5}与/dev/vdb1类似

#

Command (m for help): n

Partition type:

p primary (3 primary, 0 extended, 1 free)

e extended

Select (default e): e

Selected partition 4

First sector (6293504-20971519, default 6293504):

Using default value 6293504

Last sector, +sectors or +size{K,M,G} (6293504-20971519, default 20971519):

Using default value 20971519

Partition 4 of type Extended and of size 7 GiB is set

#

理论上一个设备最多可以划分四个分区,当然如果需要多于4个分区的话,必须将第4个分区化为逻辑分区。

#

Command (m for help): p

Device Boot Start End Blocks Id System

/dev/vdb1 2048 2099199 1048576 8e Linux LVM

/dev/vdb2 2099200 4196351 1048576 8e Linux LVM

/dev/vdb3 4196352 6293503 1048576 8e Linux LVM

/dev/vdb4 6293504 20971519 7339008 5 Extended

/dev/vdb5 6295552 8392703 1048576 8e Linux LVM

Command (m for help): wq

The partition table has been altered!

[root@server188 ~]# partprobe

2、lvm的建立

[root@server188 ~]# pvcreate /dev/vdb1

Physical volume “/dev/vdb1” successfully created

[root@server188 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb1 lvm2 a– 1.00g 1.00g

[root@server188 ~]# vgcreate vg0 /dev/vdb1

Volume group “vg0” successfully created

[root@server188 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg0 1 0 0 wz–n- 1020.00m 1020.00m

[root@server188 ~]# lvcreate -L 200M -n lv0 vg0

WARNING: xfs signature detected on /dev/vg0/lv0 at offset 0. Wipe it? [y/n] y

Wiping xfs signature on /dev/vg0/lv0.

Logical volume “lv0” created

[root@server188 ~]# lvs

LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert

lv0 vg0 -wi-a—– 200.00m

3、使用lvm,先格式化再挂载

[root@server188 ~]# mkfs.xfs /dev/mapper/vg0-lv0 ##注意:/dev/mapper/vg0-lv0和/dev/vg0/lv0 是同一个文件的软链接,内容相同

[root@server188 ~]# mount /dev/mapper/vg0-lv0 /usrdata/ ##挂载到自己创建的目录/usrdata/上

4、lvm的拉伸与缩减

(1)针对xfs文件系统—–lvm设备的扩大(只可以扩大,不可以缩小)

[root@server188 ~]# lvextend -L 500M /dev/vg0/lv0 ##此操作只能扩大

Extending logical volume lv0 to 500.00 MiB

Logical volume lv0 successfully resized

[root@server188 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

….. ….. ….. …

/dev/mapper/vg0-lv0 197M 11M 187M 6% /usrdata

[root@server188 ~]# xfs_growfs /dev/vg0/lv0

[root@server188 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

……. …… … …

/dev/mapper/vg0-lv0 497M 11M 487M 3% /usrdata

(2)针对ext文件系统—–lvm设备的扩大(可拉伸也可缩减)

********lvm设备的拉伸

将/dev/mapper/vg0-lv0格式化为ext格式

[root@server188 ~]# umount /dev/mapper/vg0-lv0

[root@server188 ~]# mkfs.ext4 /dev/mapper/vg0-lv0

[root@server188 ~]# lvextend -L 2G /dev/vg0/lv0 ##此时要扩展到2G,但vg中容量<2G,因此vg中加入新的物理卷

Extending logical volume lv0 to 2.00 GiB

Insufficient free space: 387 extents needed, but only 130 available

添加新的pv,使vg容量增大

[root@server188 ~]# pvcreate /dev/vdb2

Physical volume “/dev/vdb2” successfully created

[root@server188 ~]# vgextend vg0 /dev/vdb2

Volume group “vg0” successfully extended

[root@server188 ~]# vgs

VG #PV #LV #SN Attr VSize VFree

vg0 2 1 0 wz–n- 1.99g 1.50g

拉伸设备

[root@server188 ~]# lvextend -L 2G /dev/vg0/lv0

Extending logical volume lv0 to 2.00 GiB

Logical volume lv0 successfully resized

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

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/vg0/lv0 to 2097152 (1k) blocks.

The filesystem on /dev/vg0/lv0 is now 2097152 blocks long.

[root@server188 ~]# mount /dev/vg0/lv0 /usrdata/

[root@server188 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

……. …… … …

/dev/mapper/vg0-lv0 2.0G 2.9M 1.9G 1% /usrdata

********lvm设备的缩减

[root@server188 ~]# umount /dev/vg0/lv0

[root@server188 ~]# e2fsck -f /dev/vg0/lv0

[root@server188 ~]# resize2fs /dev/vg0/lv0 200M

[root@server188 ~]# lvreduce -L 200M /dev/vg0/lv0

********vg的缩减

缩减没有被使用的/dev/vdb2

[root@server188 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb1 vg0 lvm2 a– 1020.00m 820.00m

/dev/vdb2 vg0 lvm2 a– 1020.00m 1020.00m

[root@server188 ~]# vgreduce vg0 /dev/vdb2

Removed “/dev/vdb2” from volume group “vg0”

[root@server188 ~]# pvremove /dev/vdb2

Labels on physical volume “/dev/vdb2” successfully wiped

[root@server177 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb1 vg0 lvm2 a– 1020.00m 820.00m

缩减正在被使用的/dev/vdb1,要先将/dev/vdb1中的数据移动到/dev/vdb2上,最后再移除

[root@server188 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb1 vg0 lvm2 a– 1020.00m 820.00m

/dev/vdb2 vg0 lvm2 a– 1020.00m 1020.00m

[root@server188 ~]# pvmove /dev/vdb1 /dev/vdb2

/dev/vdb1: Moved: 100.0%

[root@server188 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb1 vg0 lvm2 a– 1020.00m 1020.00m

/dev/vdb2 vg0 lvm2 a– 1020.00m 820.00m

[root@server188 ~]# vgreduce vg0 /dev/vdb1

Removed “/dev/vdb1” from volume group “vg0”

[root@server188 ~]# pvremove /dev/vdb1

Labels on physical volume “/dev/vdb1” successfully wiped

[root@server188 ~]# pvs

PV VG Fmt Attr PSize PFree

/dev/vdb2 vg0 lvm2 a– 1020.00m 820.00m

5、lvm快照

[root@server188 ~]# mount /dev/mapper/vg0-lv0 /usrdata/

[root@server188 ~]# touch /usrdata/file{1..10}

[root@server188 ~]# umount /usrdata/

[root@server188 ~]# lvcreate -L 30M -n lv0-back -s /dev/vg0/lv0

Rounding up size to full physical extent 32.00 MiB

Logical volume “lv0-back” created

[root@server188 ~]# mount /dev/vg0/lv0-back /usrdata/

[root@server188 ~]# ls /usrdata/

file1 file2 file4 file6 file8 lost+found

file10 file3 file5 file7 file9

6、lvm的删除

[root@server188 ~]# umount /dev/mapper/vg0-lv0–back

[root@server188 ~]# lvremove /dev/vg0/lv0

[root@server188 ~]# vgremove vg0

Volume group “vg0” successfully removed

[root@server188 ~]# pvs

No device found for PV EPJAqQ-zBhQ-03nT-gL6w-ih2F-RsbA-5GpUNf.

PV VG Fmt Attr PSize PFree

/dev/vdb1 lvm2 a– 1.00g 1.00g

/dev/vdb2 lvm2 a– 1.00g 1.00g

[root@server188 ~]# pvremove /dev/vdb{1..2}

No device found for PV EPJAqQ-zBhQ-03nT-gL6w-ih2F-RsbA-5GpUNf.

Labels on physical volume “/dev/vdb1” successfully wiped

Labels on physical volume “/dev/vdb2” successfully wiped

[root@server188 ~]# fdisk /dev/vdb ##在此处d删除划分的设备分区

[root@server188 ~]# partprobe
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: