概念
-
允许对卷进行方便操作的抽象层包括重新设定文件系统的大小,允许在多个物理设备间重新组织文件系统
- 将设备指定为物理卷
用一个或者多个物理卷来创建一个卷组
物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
在物理卷上创建的逻辑卷是由物理区域(PE)组成
可以在逻辑卷上创建文件系统
dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-#
软链接:
/dev/mapper/VG_NAME-LV_NAME
/dev/mapper/vol0-root
/dev/VG_NAME/LV_NAME
/dev/vol0/root
LVM可以弹性的更改LVM的容量
pv–管理工具
显示pv信息
pvs:简要pv信息显示 - - pvdisplay
创建pv
pvcreate /dev/DEVICE
示例:pvcreate /dev/sdb1 /dev/sdc1
删除pv
pvremove /dev/DEVICE
显示卷组
vgs
vgdisplay
创建卷组
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
示例:vgcreate myvg /dev/sdb1 /dev/sdc1
管理卷组
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]
删除卷组
先做pvremove,再做vgremove
lv–管理工具
显示逻辑卷
lvs
Lvdisplay
创建逻辑卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
删除逻辑卷
lvremove /dev/VG_NAME/LV_NAME
重设文件系统大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
xfs_growfs /mountpoint
扩展逻辑卷:
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
缩减逻辑卷:
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
mount
跨主机迁移卷组
源计算机上
1 在旧系统中,umount所有卷组上的逻辑卷
2 禁用卷组
vgchange –a n vg0
vgrename vg0 vg1(如果目标主机有相同的逻辑卷名,先改名)
lvdisplay
3 导出卷组
vgexport vg0
pvscan
vgdisplay
拆下旧硬盘
在目标计算机上
4 在新系统中安装旧硬盘,并导入卷组:vgimport vg0
5 vgchange –ay vg0 启用
6 mount所有卷组上的逻辑卷
pe块转移删除vg中的pv
pvmove /dev/@@ 将/dev/@@ pe块智能移动到容量大的pv里
vgreduce vg0 /dev/@@ 在vg0移除dev/@@
pvremove /dev/@@@ 将物理卷/dev/@@变成普通硬盘
创建物理逻辑卷示例
创建物理卷
pvcreate /dev/sda3
为卷组分配物理卷
vgcreate vg0 /dev/sda3
从卷组创建逻辑卷
lvcreate -L 256M -n data vg0
mkfs.xfs -j /dev/vg0/data
挂载
mount /dev/vg0/data /mnt/data
逻辑卷管理器快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择
快照只有在它们和原来的逻辑卷不同时才会消耗空间
在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照
为现有逻辑卷创建快照
lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
挂载快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap
恢复快照
umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data-snapshot
删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
-
总结
- 0磁盘分区 将卷号改为8e,最小化安装Linux,先modprobe dm_mod
1 创建物理卷 pvcreate /dev/sdb1 /dev/sdc1
2 创建卷组 vgcreate myvg /dev/sdb1 /dev/sdc1(-s 指定pe大小)
3 创建逻辑卷 lvcreate -L 100%FREE -n textlv myvg
4 创建文件系统 mkfs.xfs /dev/myvg/textlv
5 挂载 mount /dev/myvg/textlv /mnt
6 扩大卷组 pvcreate /dev/sdd1
vgextend myvg /dev/sdd1
7 扩大逻辑卷 lvextend -L 100%FREE /dev/myvg/textlv(-r 直接扩展文件系统)
xfs_growfs /monut/point(ext4 resize2fs /dev/myvg/textlv)
8 缩减逻辑卷 umount /dev/myvg/textlv 先卸载逻辑卷/dev/myvg/textlv
resize2fs /dev/myvg/textlv 3G 使用resize2fs将文件系统减少到3G
lvreduce -L 3G /dev/myvg/textlv 再使用lvreduce命令将逻辑卷减少到3G
文件系统大小和逻辑卷大小一定要保持一致才行
9 缩减卷组 pvmove /dev/sdd1
vgreduce myvg /dev/sdd1
10 删除逻辑卷 lvremove /dev/myvg/textlv
删除卷组 vgremove myvg
备注:从卷组中删除卷组中的物理卷: vgreduce myvg /dev/sdb1
删除物理卷 pvremove /dev/sdb1
pvremove /dev/sdc1
pvremove /dev/sdd1
11 创建快照
生命周期为整个数据时长,在这段时长内,数据的增长量不能超出快照卷大小
ext4 系统中 合并快照 之前要设置快照 -p -r 为只读属性才能合并
ext4 中快照挂载不加 -o nouuid
xfs 中快照挂载 要加 -o nouuid
xfs 不加 -p -r 只读的选项 合并快照也可以成功
跟原卷在同一个卷组内
lvcreate -L 100M -s [-p r] -n textlv-snap /dev/myvg/textlv
mount /dev/myvg/textlv-snap /backup/ (ext4文件系统)
mount -o ro,nouuid /dev/myvg/textlv-snap /backup/ (xfs文件系统)
umount /dev/myvg/textlv-snap
lvremove /dev/myvg/textlv-snap
设置快照自动增长
vim /etc/lvm/lvm.conf
搜索单词autoextend
snapshot_autoextend_threshold=75
snapshot_autoextend_percent=20
备注: xfs文件系统的调整命令是xfs_growfs(只支持增大)
ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持)