Linux逻辑卷管理LVM基础入门

  • A+
所属分类:基础知识

LVM全称是Logical Volume Manager,即逻辑卷管理。它是Linux环境下对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,来提高磁盘分LVM区管理的灵活性。LVM的灵活应用也是衡量Linux系统管理员水平的一个重要指标,因平常更多是使用VMware虚拟机或者云主机部署测试业务,我对LVM也不是很熟悉,为巩固基础知识特此记录LVM常见案例,分享给有需要的朋友们。

实验环境

实验平台:VMware Workstation 14

操作系统:CentOS 6.5

LVM:2.02.143

案例一:创建逻辑卷

使用两块物理硬盘创建一个卷组,划分卷组中的全部空间给逻辑卷,最终实现系统开机自动挂载逻辑卷。

第一步 查看物理硬盘

如下图,/dev/sda是正在使用的本地硬盘,/dev/sdb和dev/sdc则是新添加的物理硬盘。

  1. [root@Wanghualang ~]# fdisk -l | grep Disk  

Linux逻辑卷管理LVM基础入门

第二步 创建物理卷

将/dev/sdb和dev/sdc创建物理卷。

  1. [root@Wanghualang ~]# pvcreate /dev/sdb /dev/sdc  

扩展阅读展开

一般情况下,使用标准分区方案的精简版操作系统是无法使用pvcreate、vgcreate等等相关命令,需要手动安装lvm2软件包。

  1. [root@Wanghualang ~]# yum -y install lvm2  

Linux逻辑卷管理LVM基础入门

第三步 创建卷组

将/dev/sdb和dev/sdc创建一个名为wanghualang_vg的卷组,并设置卷组的扩展单元大小为16M。

  1. [root@Wanghualang ~]# vgcreate -s 16M wanghualang_vg /dev/sdb /dev/sdc  

Linux逻辑卷管理LVM基础入门

第四步 创建逻辑卷

创建一个名为wanghualang_lvm的逻辑卷,并划分wanghualang_vg卷组里的全部空间。

  1. [root@Wanghualang ~]# lvcreate -n wanghualang_lvm -l 100%free wanghualang_vg  

Linux逻辑卷管理LVM基础入门

第五步 格式化逻辑卷

ext2/3/4文件系统是早期红帽RHEL的默认文件系统,自RHEL 7.x之后,默认文件系统已调整为xfs,关于xfs的相关操作,日后再开篇详细说明。

  1. [root@Wanghualang ~]# mkfs.ext4 /dev/wanghualang_vg/wanghualang_lvm  

第六步 屏蔽磁盘检查

如今ext2/3/4文件系统已经非常可靠,且机房服务器极少出现问题意外断电的情况,大家可以根据实际情况按需屏蔽文件系统的自检。

  1. [root@Wanghualang ~]# tune2fs -c -1 -i 0 /dev/wanghualang_vg/wanghualang_lvm  

Linux逻辑卷管理LVM基础入门

第七步 手动挂载逻辑卷

新建一个挂载目录,手动挂载逻辑卷。

  1. [root@Wanghualang ~]# mkdir /wanghualang  
  2. [root@Wanghualang ~]# mount /dev/wanghualang_vg/wanghualang_lvm /wanghualang/  
  3. [root@Wanghualang ~]# df -h  

Linux逻辑卷管理LVM基础入门

第八步 开机挂载逻辑卷

手动挂载确认没问题后,可以根据实际需要配置开机自动挂载,建议大家使用UUID的方式挂载逻辑卷,下面的xxxx就是生成出来的UUID,根据实际情况修改。

  1. [root@Wanghualang ~]# blkid /dev/mapper/wanghualang_vg-wanghualang_lvm  
  2. [root@Wanghualang ~]# echo "UUID=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /wanghualang ext4 defaults 0 0" >> /etc/fstab  

Linux逻辑卷管理LVM基础入门

案例二:删除逻辑卷

因业务需要,现在需要删除案例一中创建的逻辑卷。

第一步 卸载逻辑卷

  1. [root@Wanghualang ~]# umount /wanghualang  

第二步 删除逻辑卷

删除逻辑卷的时候会提示确认,按y。

  1. [root@Wanghualang ~]# lvremove /dev/mapper/wanghualang_vg-wanghualang_lvm  

第三步 删除开机挂载

案例一中是直接在配置文件的末尾添加了一行实现开机挂载,大家使用sed命令删除配置文件末尾一行即可。

  1. [root@Wanghualang ~]# sed -i '$d' /etc/fstab  

Linux逻辑卷管理LVM基础入门

案例三:创建指定空间大小的逻辑卷

因业务需要,需要再次创建逻辑卷,但这次只划分卷组中的15G空间给逻辑卷,剩余空间留着备用。注意,案例一中已创建过物理卷、卷组,此步跳过。

第一步 检查卷组空间

案例一中已经创建了物理卷,卷组,这里就不必重复操作了。只需要检查卷组是否有足够的空间划出15G给逻辑卷。如下图,空闲空间有29.97G,满足空间要求。

  1. [root@Wanghualang ~]# vgdisplay  

Linux逻辑卷管理LVM基础入门

第二步 创建逻辑卷

根据业务需要,只划分15GB给逻辑卷。

  1. [root@Wanghualang ~]# lvcreate -n wanghualang_lvm -L 15GB wanghualang_vg  

Linux逻辑卷管理LVM基础入门

第三步 格式化、屏蔽磁盘检查

  1. [root@Wanghualang ~]# mkfs.ext4 /dev/mapper/wanghualang_vg-wanghualang_lvm  
  2. [root@Wanghualang ~]# tune2fs -c -1 -i 0 /dev/wanghualang_vg/wanghualang_lvm  

Linux逻辑卷管理LVM基础入门

第四步 手动挂载逻辑卷

  1. [root@Wanghualang ~]# mount /dev/wanghualang_vg/wanghualang_lvm /wanghualang/  
  2. [root@Wanghualang ~]# df -h  

Linux逻辑卷管理LVM基础入门

案例四:扩容逻辑卷

现因业务需要,对逻辑卷进行扩容,从15GB扩容至25GB。注意,案例三中已演示过检查卷组空间的方法,跳过此步。

第一步 扩容逻辑卷

业务需求是从15GB扩容至25GB,即增加10GB。

  1. [root@Wanghualang ~]# lvextend -L +10GB /dev/mapper/wanghualang_vg-wanghualang_lvm  

第二步 扩容文件系统

逻辑卷扩容后,接着还需要对文件系统进行扩容,这样才能通过df -h看到实际的磁盘空间变化。

  1. [root@Wanghualang ~]# resize2fs /dev/mapper/wanghualang_vg-wanghualang_lvm  

第三步 查看磁盘信息

  1. [root@Wanghualang ~]# df -h  

Linux逻辑卷管理LVM基础入门

案例五:缩小逻辑卷

现在因业务需要,对逻辑卷进行缩小,从25GB缩小至10GB。缩小逻辑卷在实际工作中很少遇到,简单了解一下缩小逻辑卷的操作流程即可。

第一步 卸载逻辑卷

扩容逻辑卷可以在线进行,但缩小逻辑卷的时候,必须先卸载逻辑卷。

  1. [root@Wanghualang ~]# umount /wanghualang  

第二步 检查文件系统

  1. [root@Wanghualang ~]# e2fsck -f /dev/mapper/wanghualang_vg-wanghualang_lvm  

第三步 缩小文件系统

根据需求,将文件系统缩小至10GB,注意,是缩小至10GB,而不是缩小10GB。

  1. [root@Wanghualang ~]# resize2fs /dev/mapper/wanghualang_vg-wanghualang_lvm 10G  

第四步 缩小逻辑卷

案例四中的逻辑卷原来大小为25GB,现在要求把文件系统缩小至10GB,即逻辑卷需要缩小15GB。

  1. [root@Wanghualang ~]# lvreduce -L -15G /dev/mapper/wanghualang_vg-wanghualang_lvm  

第五步 查看逻辑卷

  1. [root@Wanghualang ~]# lvdisplay  | grep "LV Size"  

第六步 手动挂载逻辑卷

  1. [root@Wanghualang ~]# mount /dev/wanghualang_vg/wanghualang_lvm /wanghualang/  
  2. [root@Wanghualang ~]# df -h | grep wanghualang  

Linux逻辑卷管理LVM基础入门

案例六:扩容卷组

关于逻辑卷的创建、删除、自定义创建、扩容、缩小在前五个案例中已经介绍过了,接下来将围绕卷组进行操作,因业务需要,需要把逻辑卷扩容至60GB。

第一步 检查卷组空间

经过检查,当前卷组是由两个物理卷组成,且总空间只有30GB,明显不满足业务扩容需求。

  1. [root@Wanghualang ~]# vgs  

第二步 添加物理硬盘

在虚拟机中添加一块30GB的硬盘,如下图,本机中已多出一块30GB的硬盘/dev/sdd。

  1. [root@Wanghualang ~]# fdisk -l | grep Disk  

Linux逻辑卷管理LVM基础入门

第三步 新增物理卷

  1. [root@Wanghualang ~]# pvcreate /dev/sdd  

第四步 把新增物理卷加入指定卷组

  1. [root@Wanghualang ~]# vgextend wanghualang_vg /dev/sdd  

第五步 查看卷组

此时,卷组已经由三个物理卷组成,并成功扩容至60GB,接下来可以参考案例四来扩容逻辑卷。

  1. [root@Wanghualang ~]# vgs  

Linux逻辑卷管理LVM基础入门

案例七:缩小卷组

因业务需要,现在某台服务器不再需要某组raid阵列或者说某块物理硬盘了,尽可能移除容量最小的旧硬盘给其他服务器使用,最后再把逻辑卷扩容至调整后的最大卷组空间。缩小卷组在实际工作中很少遇到,简单了解一下缩小卷组的操作流程即可。

第一步 卸载逻辑卷

凡是缩小的操作,都是先卸载逻辑卷。

  1. [root@Wanghualang ~]# umount /wanghualang  

第二步 确认卷组中要移除哪块物理卷

根据业务需要,尽可能移除容量最小的硬盘,如下图,/dev/sdb就是移除对象。这里强调说明一下,之所以移除/dev/sdb并非它的容量最小,而是/dev/sdb恰好仍未被卷组使用,PSize等于PFree则说明/dev/sdb当前未被卷组使用。仔细看/dev/sdc的PSize、PFree就可以知道当前逻辑卷空间的10G就是来自/dev/sdc。

  1. [root@Wanghualang ~]# pvs  

Linux逻辑卷管理LVM基础入门

第三步 从卷组中移除指定物理卷

  1. [root@Wanghualang ~]# vgreduce wanghualang_vg /dev/sdb  

第四步 确认卷组信息

此时卷组已移除一个物理卷,容量也变为50GB,接下来可以参考案例一来扩容逻辑卷,划分调整后的卷组中的全部空间。

  1. [root@Wanghualang ~]# vgs  

Linux逻辑卷管理LVM基础入门

  • 微信赞助网站
  • weinxin
  • 支付宝赞助网站
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: