Linux磁盘管理:LVM逻辑卷

来源:互联网 发布:淘宝开店认证怎么认证 编辑:程序博客网 时间:2024/05/21 14:01

1. LVM逻辑卷基本概念

2. LVM的增加与删除

2.1. 增加磁盘

查看磁盘信息. 如下图所示, 我们添加了两块新的物理磁盘sdb(8G)和sdc(7G).

这里写图片描述

2.2 将物理磁盘设备初始化为物理卷

[root@localhost ~]# pvcreate /dev/sdb /dev/sdc  Physical volume "/dev/sdb" successfully created  Physical volume "/dev/sdc" successfully created

查看物理卷信息:
这里写图片描述

2.3 创建卷组, 并将PV加入卷组中

[root@localhost ~]# vgcreate vgtest /dev/sdb /dev/sdc  Volume group "vgtest" successfully created

后续也可以继续向这个卷组中加入新的PV.

查看卷组信息:
这里写图片描述

2.4 基于卷组创建逻辑卷

[root@localhost ~]# lvcreate -n lvtest -L 2G vgtest  Logical volume "lvtest" created.

这里写图片描述

2.5 为创建好的逻辑卷创建文件系统

[root@localhost ~]# mkfs.ext4 /dev/vgtest/lvtest mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks131072 inodes, 524288 blocks26214 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53687091216 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912Allocating group tables: done                            Writing inode tables: done                            Creating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done 

2.6 将格式化好的逻辑卷挂载使用

[root@localhost mnt]# ls /dev/vgtest/lvtest -llrwxrwxrwx. 1 root root 7 Sep  5 11:56 /dev/vgtest/lvtest -> ../dm-3[root@localhost ~]# mount /dev/vgtest/lvtest /mnt[root@localhost ~]# cd /mnt/[root@localhost mnt]# lslost+found[root@localhost mnt]# mount....../dev/mapper/vgtest-lvtest on /mnt type ext4 (rw,relatime,seclabel,data=ordered)

可以看到, /dev/vgtest/lvtest其实是一个链接, 其实际位置是在/dev/mapper/vgtest-lvtest.

2.7 删除

(1) 取消挂载

umount /mnt/

(2) 删除LV

lvremove /dev/vgtest/lvtest

(3) 删除VG (必须先删除该VG的所有LV)

vgremove vgtest

(4) 删除物理卷 (必须先删除该物理卷相关的所有VG)

pvremove /dev/sdb

3. 逻辑卷的拉伸与缩小

逻辑卷的伸缩可以在线执行, 不需要卸载(unmount)逻辑卷

3.1 逻辑卷的拉伸

逻辑卷的拉伸与缩小

(1) 保证该LV (lvtest) 所在的VG (vgtest) 中有足够的空闲空间

[root@localhost mnt]# lvs  LV     VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  home   centos -wi-ao---- 47.45g                                                      root   centos -wi-ao---- 50.00g                                                      swap   centos -wi-ao----  2.00g                                                      lvtest vgtest -wi-ao----  2.00g   [root@localhost mnt]# vgs  VG     #PV #LV #SN Attr   VSize  VFree   centos   1   3   0 wz--n- 99.51g 64.00m  vgtest   2   1   0 wz--n- 14.99g 12.99g

(2) 扩充逻辑卷

[root@localhost mnt]# lvextend -L +1G /dev/vgtest/lvtest  Size of logical volume vgtest/lvtest changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).  Logical volume lvtest successfully resized.

(3) 查看扩充后的LV大小

[root@localhost mnt]# lvs  LV     VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  home   centos -wi-ao---- 47.45g                                                      root   centos -wi-ao---- 50.00g                                                      swap   centos -wi-ao----  2.00g                                                      lvtest vgtest -wi-ao----  3.00g

(4) 更新文件系统

[root@localhost mnt]# resize2fs /dev/vgtest/lvtestresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/vgtest/lvtest is mounted on /mnt; on-line resizing requiredold_desc_blocks = 1, new_desc_blocks = 1The filesystem on /dev/vgtest/lvtest is now 786432 blocks long.

(5) 查看更新后的文件系统

[root@localhost mnt]# df -hFilesystem                 Size  Used Avail Use% Mounted on....../dev/mapper/vgtest-lvtest  2.9G  6.0M  2.8G   1% /mnt

可以看到, 文件系统的大小已经被更新 (resize2fs之前这里还是2G).

3.2 拉伸一个卷组

(1) 将要添加到VG的硬盘格式化为PV

pvcreate /dev/sdd

(2) 将新的PV添加到指定的卷组中

vgextend vgtest /dev/sdd

3.3 缩小一个逻辑卷

缩小一个逻辑卷

3.4 缩小卷组

场景: 拿走一块硬盘. (linuxcast在这里是卷组名)
这里写图片描述

pvremove

参考资料

  1. Linux高级系统管理 by Linuxcast
0 0
原创粉丝点击