Lvm的简单使用及常用的命令总结

centos7中默认使用的是xfs文件系统,此文件系统的特点,可以另外查找资料,这里说一下对文件系统的扩容;

1、先看一下没扩容之前的分区大小

 

lvremove 命令提示volume group not found lvm部署的命令_逻辑卷

2、添加一块新磁盘,并进行分区、格式化(格式化的时候用mkfs.xfs命令),/dev/sdb就是我新加的磁盘

lvremove 命令提示volume group not found lvm部署的命令_文件系统_02

lvremove 命令提示volume group not found lvm部署的命令_逻辑卷_03

3、先查看一下卷组

lvremove 命令提示volume group not found lvm部署的命令_逻辑卷_04

 

 

发现卷组名字为:centos

4、把刚才新加的硬盘创建为物理卷

 

lvremove 命令提示volume group not found lvm部署的命令_路径名_05

 

 

 查看一下结果,已经有了:

 

lvremove 命令提示volume group not found lvm部署的命令_路径名_06

5、把物理卷加到卷组里,刚才查的卷组名为“centos”

 

lvremove 命令提示volume group not found lvm部署的命令_路径名_07

6、先查看一下逻辑卷的情况,这里只看根分区的,可看出大小将近28G

 

lvremove 命令提示volume group not found lvm部署的命令_路径名_08

7、扩展根分区,在原来的基础上加5G

 

lvremove 命令提示volume group not found lvm部署的命令_路径名_09

8、将文件系统扩大,用xfs_growfs命令,因为centos7默认文件系统是xfs的

 

lvremove 命令提示volume group not found lvm部署的命令_逻辑卷_10

9、最后查看结果,可看出根分区的容量已经多出了5G,至此扩容完成;

 

lvremove 命令提示volume group not found lvm部署的命令_逻辑卷_11

 

 

 

需要减少/home目录,增大/目录,先备份一下/home目录:
xfsdump -l 0 -L home -M home -f /opt/home.xfsdump /home

umont /home

 

调整/home目录到5G:
lvreduce -L 5G /dev/mapper/cl_hadoop-home      //指定5G空间(未测)

 

增大/目录:
lvextend -l +100%FREE /dev/cl_hadoop/root
例:lvextend -L +100G /dev/cl_hadoop/root     //增加100G空间

 

减少目录

lvreduce -L -2G /dev/VolGroup/lv_root                 //减少2G空间

 

延伸/目录文件系统空间:
xfs_growfs /dev/cl_hadoop/root (针对xfs文件系统)

resize2fs /dev/VolGroup/lv_root(针对ext4文件系统)

重新格式化home分区:
mkfs.xfs -f /dev/mapper/cl_hadoop-home

 

挂载到home目录

mount /dev/mapper/centos-home /home

 

还原备份文件到/home目录:
xfsrestore -f /opt/home.xfsdump /home

 

重新查看分区情况,以及所恢复的文件

 

Swap扩容

swapoff -a       关闭swap

lvextend -L +10G /dev/VolGroup/lv_swap 增加

resize2fs /dev/VolGroup/lv_swap  更新

mkswap /dev/VolGroup/lv_swap

swapon /dev/VolGroup/lv_swap

 

 

 常用命令
1、 物理卷命令

黄色得为常用命令:
一般维护命令:
pvscan #在系统的所有磁盘中搜索已存在的物理卷
pvdisplay 物理卷全路径名称 #用于显示指定物理卷的属性。
pvdata 物理卷全路径名称 #用于显示物理卷的卷组描述区域信息,用于调试目的。
pvchange Cx|--allocation {y|n} 物理卷全路径名 #用于改变物理卷的分配许可设置物理卷的创建与删除命令
pvcreate 设备全路径名 #用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。
pvremove 源物理卷全路径我[目的物理卷全路径名] #用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。

2、 卷组命令
一般维护命令
vgscan #检测系统中所有磁盘
vgck [卷组名] #用于检查卷组中卷组描述区域信息的一致性。
vgdisplay [卷组名] #显示卷组的属性信息
vgrename 原卷组名 新卷组名
vgchange -a y|n [卷组名] #改变卷组的相应属性。是否可分配
vgchange -l 最大逻辑卷数 #卷组可容纳最大逻辑卷数
vgchange -x y|n [卷组名] #卷是否有效
vgmknodes [卷组名|卷组路径] #用于建立(重新建立)已有卷组目录和其中的设备文件卷组配置的备份与恢复命令
vgcfgbackup [卷组名] #把卷组中的VGDA信息备份到“/etc/lvmconf”目录中的文件
vgcfgrestore -n 卷组名 物理卷全路命名 #从备份文件中必得指定物理卷的信息卷组的建立与删除命令
vgcreate 卷组名 物理卷全路径名[物理卷全路径名]
vgremove 卷组名

卷组的扩充与缩小命令
vgextend 卷组名 物理卷全路径名[物理卷全路径名]
vgreduce 卷组名 物理卷全路径名[物理卷全路径名]

卷组的合并与拆分
vgmerge 目的卷组名 源卷组名 #合并两个已经存在的卷组,要求两个卷组的物理区域大小相等且源卷组是非活动的。
vgsplit 现有卷组 新卷组 物理卷全路径名[物理卷全路径名]

卷组的输入与输出命令
vgexport 卷组名
vgimport 卷组名 卷组中的物理卷[卷组中的物理卷]

3、 逻辑卷命令
一般命令
lvscan
lvdisplay 逻辑卷全路径名[逻辑卷全路径名]
lvrename 旧逻辑卷全路径名 新逻辑卷全路径名
lvrename 卷组名 旧逻辑卷名 新逻辑卷名
lvchange
e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名     // ext4

逻辑卷的创建与删除命令
lvcreate
lvremove

逻辑卷的扩充与缩小命令
lvextend -L|--size +逻辑卷大小增量 逻辑卷全路径名    // xfs
lvreduce q -L|--size +逻辑卷减小量 逻辑卷全路径名

4、 逻辑卷管理命令
lvmdiskscan #检测所有的SCSI、IDE等存储设备
lvmchange -R|--reset #复位逻辑卷管理器
lvmsadc [日志文件全路径名] #收信逻辑卷管理器读写统计信息,保存到日志文件中。
lvmsar 日志文件全路径名 #从lvmsadc命令生成的日志文件中读取并报告逻辑卷管理器的读写统计信息。