Linux 添加新硬盘 LVM操作(作用:新增硬盘的卷管理)
-
查看当前系统硬盘及分区情况
(注:linux中SCSI的第1个硬盘/dev/sda,第2个硬盘/dev/sdb依此类推)
-
初始化分区sdb为物理卷pv
pvcreate /dev/sdb //初始化
pvdisplay //显示物理卷信息
-
创建逻辑卷组vg,将/dev/sdb物理卷加入到这个卷组里(VolGroup00为自己定义的名字)
vgcreate VolGroup00 /dev/sdb //创建逻辑卷组
vgdisplay //显示卷组信息
-
创建逻辑卷LV,名称LogVol00,由卷组VolGroup00提供空间,并给他指定拥有700M的空间
lvcreate -L 700M -n LogVol00 VolGroup00 //创建逻辑卷
lvdisplay //显示逻辑卷信息
-
格式化逻辑分区,格式 ext4
注意:/dev/mapper 与 /dev/VolGroup00/LogVol00 指向的同一个地方
mkfs.ext4 /dev/mapper/VolGroup00-LogVol00
或
mkfs.ext4 /dev/VolGroup00/LogVol00结果是一样的
-
测试:将/dev/mapper/VolGroup00-LogVol00这个逻辑卷挂在到/data2文件下
mount /dev/mapper/VolGroup00-LogVol00 /data2
-
到此步,物理卷pv-->逻辑卷组vg-->逻辑卷lv 创建完成,并且可以挂载文件系统。如题,目标是扩展原文件系统/data大小。下面完成此操作,
先卸载挂载在/data2目录下的逻辑卷
-
卸载/data挂载的分区,
****卸载前将数据备份走,血的教训呀!
-
初始化分区/dev/sda5物理卷pv
pvcreate /dev/sda5 //初始化
pvdisplay //显示物理卷信息
-
/dev/sda5添加到VolGroup00卷组中,VolGroup00卷组在上一步中已经创建
vgextend VolGroup00 /dev/sda5
-
将/dev/mapper/VolGroup00-LogVol00逻辑卷挂载到 /data文件系统
mount /dev/mapper/VolGroup00-LogVol00 /data
-
增大VolGroup00-LogVol00逻辑卷500M
lvextend -L +500M /dev/mapper/VolGroup00-LogVol00
-
上一步操作保是增加了逻辑卷的大小, /data文件系统大小并未改变,使用resize2fs命令,重定义文件系统大小
resize2fs /dev/VolGroup00/LogVol00
-
到此结束
附
卸载挂载文件系统
umount /dev/VolGroup00/LogVol00
删除逻辑卷
lvdisplay 查看
lvremove /dev/VolGroup00/LogVol00 //逻辑卷物理路径
删除逻辑卷组
vgdisplay 查看
vgremove VolGroup00 //逻辑卷组名
删除物理卷
pvdisplay 查看
pvremove /dev/sdb2 //物理卷名
附lvm原理图
文件系统:linux系统文件
逻辑卷:顾名思义,
物理卷:碰盘分区或者是raid
逻辑卷lv 逻辑卷lv
\ /
\ /
\ /
逻 辑 卷 组vg
/ | \
/ | \
/ | \
物理卷pv 物理卷pv 物理卷pv
附
常用命令
1、 物理卷命令
一般维护命令:
#pvscan //在系统的所有磁盘中搜索已存在的物理卷
#pvdisplay 物理卷全路径名称 //用于显示指定物理卷的属性。
#pvdata 物理卷全路径名称 //用于显示物理卷的卷组描述区域信息,用于调试目的。
#pvchange –x|--allocation {y|n} 物理卷全路径名 //用于改变物理卷的分配许可设置物理卷的创建与删除命令
#pvcreate 设备全路径名 //用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。
#pvmove 源物理卷全路径我[目的物理卷全路径名] //用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。
2、 卷组命令
一般维护命令
#vgscan //检测系统中所有磁盘
#vgck [卷组名] //用于检查卷组中卷组描述区域信息的一致性。
#vgdisplay [卷组名] //显示卷组的属性信息
#vgrename 原卷组名 新卷组名
#vgchange -a y|n [卷组名] //改变卷组的相应属性。是否可分配
#vgchange -l 最大逻辑卷数 //卷组可容纳最大逻辑卷数
#vgchange -x y|n [卷组名] //卷是否有效
#vgmknodes [卷组名|卷组路径] //用于建立(重新建立)已有卷组目录和其中的设备文件
//卷组配置的备份与恢复命令
#vgcfgbackup [卷组名] //把卷组中的VGDA信息备份到“/etc/lvmconf”目录中的文件
#vgcfgrestore -n 卷组名 物理卷全路命名 //从备份文件中必得指定物理卷的信息
卷组的建立与删除命令
#vgcreate 卷组名 物理卷全路径名[物理卷全路径名]
#vgmove 卷组名
卷组的扩充与缩小命令
#vgextend 卷组名 物理卷全路径名[物理卷全路径名]
#vgreduce 卷组名 物理卷全路径名[物理卷全路径名]
卷组的合并与拆分
#vgmerge 目的卷组名 源卷组名 //合并两个已经存在的卷组,要求两个卷组的物理区域大小相等且源卷组是非活动的。
#vgsplit 现有卷组 新卷组 物理卷全路径名[物理卷全路径名] 卷组的输入与输出命令
#vgexport 卷组名
#vgimport 卷组名 卷组中的物理卷[卷组中的物理卷]
3、 逻辑卷命令
一般命令
#lvscan
#lvdisplay 逻辑卷全路径名[逻辑卷全路径名]
#lvrename 旧逻辑卷全路径名 新逻辑卷全路径名
#lvrename 卷组名 旧逻辑卷名 新逻辑卷名
#lvchange
#e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名
逻辑卷的创建与删除命令
#lvcreate
#lvremove
逻辑卷的扩充与缩小命令
#lvextend -L|--size +逻辑卷大小增量 逻辑卷全路径名
#lvreduce q -L|--size +逻辑卷减小量 逻辑卷全路径名
4、 逻辑卷管理命令
#lvmdiskscan //检测所有的SCSI、IDE等存储设备
#lvmchange -R|--reset //复位逻辑卷管理器
#lvmsadc [日志文件全路径名] //收信逻辑卷管理器读写统计信息,保存到日志文 //件中。
#lvmsar 日志文件全路径名 //从lvmsadc命令生成的日志文件中读取并报告逻辑卷
增加盘空间无法识别解决方案:
resize2fs命令被用来增大或者缩小未加载的“ext2/ext3”文件系统的大小。如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线resize。linux kernel 2.6支持在mount状态下扩容但仅限于ext3文件系统
#umount -l /dev/mapper/ycgsstore_sdb-wmy #e2fsck -f /dev/mapper/ycgsstore_sdb-wmy #resize2fs /dev/mapper/ycgsstore_sdb-wmy #mount /dev/mapper/ycgsstore_sdb-wmy