逻辑卷管理器LVM
程序员文章站
2022-07-01 14:31:03
逻辑卷管理器LVM •将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 • 在物理卷上创建的逻辑卷是由物理区域(PE)组成 • 可以在逻辑卷上创建文件系统 LVM: Logical Volume Manage ......
逻辑卷管理器lvm
•将设备指定为物理卷
• 用一个或者多个物理卷来创建一个卷组
• 物理卷是用固定大小的物理区域(physical extent,pe)来定义的
• 在物理卷上创建的逻辑卷是由物理区域(pe)组成
• 可以在逻辑卷上创建文件系统
lvm: logical volume manager, version 2
dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
设备名:/dev/dm-#
软链接:/dev/mapper/centos-root -> ../dm-0
lvm可以弹性的更改lvm的容量
通过交换pe来进行资料的转换,将原来lv内的pe转移到其他的设备中以降低lv的容量,或将其他设备中的pe加到lv中以加大容量
pv,vg,lv管理工具
创建逻辑卷:logical volume manager
1,分区后按t,改变id标识,8e
分过区的需要执行:partprobe----重新扫描分区
partx -a /dev/sda
2,pvcreaete /dev/sdb1---创建物理卷
pvdisplay----查看
3,vgcreate vg0 /dev/sdb1 /dev/sdb2----创建vg(卷组)
vgdisplay----查看卷组
vgcreate -s 16m vg0 /dev/sda{5,6,7}----s,后面接pe的大小
4,lvcreate -l 5g -n data vg0----创建逻辑卷
lvdisplay----查看逻辑卷
lvcreate -l 200 -n data vg0----l,分配pe的个数
-l:后接大小 -n:后接名字 -l:接pe个数
5,格式化 mkfs.ext4 /dev/vg0/data
6,vim /etc/fstab------开机自动挂载
/dev/vg0/data /data ext4 defaults 0 0
7,mount -a ----挂载
pvdisplay vgdisplay lvdisplay----查看
扩展逻辑卷:
pvcreaete /dev/sdc1---创建物理卷
vgextend vg0 /dev/sdc1 ----扩展卷组
lvextend -r -l +5g /dev/vg0/data----扩展逻辑卷
lvextend -l 100%free /dev/vg0/date---按比例扩容,100%
resize2fs /dev/vg0/data-----------------拉升文件系统(ext3,ext4)
xfs_growfs /data/--------------拉升文件系统(xfs系统)
缩小逻辑卷:(xfs不能缩小,ext4,ext3可以缩小)
1,umount /data/------卸载
2,e2fsck -f /dev/vg0/data----扫描
3,resize2fs /dev/vg0/data 8g----缩小文件系统到8g
4,lvreduce -l 8g /dev/vg0/data----缩小逻辑卷为8g
5,mount /dev/vg0/data /data/
跨主机迁移卷组
node1:卸载逻辑卷
node1:lvchange -a n vg0----a,激活,n-no---是逻辑卷处于非激活状态
node1:vgexport vg0----------导出状态
node2:pvscan---------------------扫描物理卷
node2:vgimport vg0-----导入
node2:vgscan;lvscan-----------扫描卷组,扫描逻辑卷
node2:lvchange -a y /dev/vg0/data
node2:mount -a
拆除pv对应的磁盘:
pvmove /dev/sda3 -------把sda3的数据迁移到别的pv
vgreduce vg0 /dev/sda3--------------把sda3从vg0中移除
pvremove /dev/sda3
删除逻辑卷:
umount /data/----卸载
lvremove /dev/vg0/data----删除逻辑卷
vgchange -a n vg0----使vg0处于不活动状态
vgremove vg0----删除卷组
pvremove /dev/sda3 /dev/sda5 /dev/sda6----删除物理卷
逻辑卷坏掉后怎么还原:
cd /etc/lvm/archive----里面保存着每次变化的状态
vgcfgrestore -l vg0
vgcfgrestore -f /etc/lvm/archive/vg0_ooo....vg vg0 restored volume groub vg0
lvchange -a n /dev/vg0/date
lvchange -a y /dev/vg0/data
mount /dev/vg0/data /data
逻辑卷管理器快照
一,快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
二,对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适的选择
三,快照只有在它们和原来的逻辑卷不同时才会消耗空间
(1)在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
(2)当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
(3)快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
(4)建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照
1,快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据,改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
,2,由于快照区与原本的lv共用很多pe的区块,因此快照与被快照的lv必须在同一个vg中.系统恢复的时候的文件数量不能高于快照区的实际容量
创建快照:
快照:
xfs
lvcreate -s -n mysql_snapshot -l 1g /dev/vg0/mysql
mount -o nouuid /dev/vg0/mysql_snapshot /mnt/snap
ext4
lvcreate -n binlog_snapshot -s -p r -l 1g /dev/vg0/binlog
mount /dev/vg0/binlog_snapshot /mnt/snap
快照还原:
umount /mnt/binlog
umount /mnt/snap
lvconvert --merge /dev/vg0/binlog_snapshot
mount /dev/vg0/binlog /mnt/binlog/
快照自动扩展:
vim /etc/lvm/lvm.conf
1036:snapshot_autoextend_threshold = 100(100不扩展,可设为70,80)
snapshot_autoextend_percent = 20
用到70%,80%会自动扩展20%