linux基础学习12

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础学习12相关的知识,希望对你有一定的参考价值。

lvm (logical volume manager)


逻辑卷管理

pv    ##物理卷         被lv命令处理过的物理分区
vg    ##物理卷组    被组装到一起的物理卷
pe    ##物理扩展      lvm设备的最小单元,lvm时pe的整数倍
lvm ##逻辑卷       直接使用的设备,可以增大缩减并保持原有数据不变

lvm建立

建立分区并指定标签为8e
pvcreate /dev/vdb1               ##建立物理卷
vgcreate /vg0 /dev/vdb1     ##将物理卷归入卷组
lvcreate -L 20M -n lv0 vg0  ##从vg0卷组中抽出20M划为逻辑卷lv0
mkfs.xfs /dev/vg0/lv0           ##搭建文件系统
mount /dev/vg0/lv0 /mnt     ##挂载
df -h /mnt                               ##查看挂载
parted -l                                   ##查看未挂载的文件系统

查看未使用的磁盘

技术分享图片


新建100M大小的分区

技术分享图片


修改分区id为8e(Linux LVM)

技术分享图片


pvcreate /dev/vdb1               ##建立物理卷
vgcreate /vg0 /dev/vdb1     ##将物理卷归入卷组
lvcreate -L 40M -n lv0 vg0  ##从vg0卷组中抽出20M划为逻辑卷lv0

技术分享图片


格式化为xfs文件系统

技术分享图片


挂载

技术分享图片


监控此时的pv/vg/lv信息

技术分享图片


lvm拉伸(扩容)

lvm支持热拉伸
当vg中的剩余容量充足时
lvextend -L 80M /dev/vg0/lv0    ##当cg容量足够,扩展lv0到80M
xfs_growfs /dev/vg0/lv0     ##扩展文件系统

扩展lv0到80M

技术分享图片


当vg中剩余容量不足时
再次建立分区并指定标签8e
pvcreate /dev/vdb2      ##建立新的物理卷
vgextend vg0 /dev/vdb2      ##将物理卷归入卷组
lvextend -L 200M /dev/vg0/lv0   ##扩展lv0到200M
xfs_growfs /dev/vg0/lv0     ##扩展文件系统

建立新的物理卷

技术分享图片


归入卷组vg0

技术分享图片


扩展逻辑卷lv0到300M

技术分享图片


扩展文件系统

技术分享图片


针对ext文件系统的设备的拉伸和缩减

umount /mnt         ##卸载,ext不支持热缩减
mkfs.ext4 /dev/vg0/lv0      ##格式化lv0为ext4文件系统
mount /dev/vg0/lv0 /mnt     ##挂载

格式化为ext4并挂载

技术分享图片


拉伸

lvextend -L 400M /dev/vg0/lv0   ##扩展逻辑卷lv0到400M
resize2fs /dev/vg0/lv0                ##扩展ext4文件系统

扩展到400M

技术分享图片


扩展ext4文件系统

技术分享图片


缩减

umount /dev/vg0/lv0                   ##卸载
e2fsck -f /dev/vg0/lv0                  ##强制检查文件系统
resize2fs /dev/vg0/lv0 100M        ##缩减文件系统到100M
lvreduce -L 100M /dev/vg0/lv0   ##缩减逻辑卷到100M
mount /dev/cg0/lv0 /mnt         ##挂载

卸载并检查(不支持热缩减)

技术分享图片


缩减文件系统

技术分享图片


缩减逻辑卷

技术分享图片


缩减物理卷组

vgreduce vg0 /dev/vdb2      ##从vg0中取出vdb2
vgextend vg0 /dev/vdb2      ##将vdb2添加入vg0
注意已被占用的磁盘无法去除,缩减前需要迁移数据并解除占用

技术分享图片


数据迁移

pvmove /dev/vdb1 /dev/vdb2  ##将vdb1中数据迁移到vdb2中
vgreduce vg0 /dev/vdb1      ##从vg0中取出vdb1
pvremove /dev/vdb1      ##从物理卷中删除vdb1

将vdb1中数据迁移到vdb2中,注意此时不要打断,等待100%后,命令提示符自动出现,否则有可能会损坏双方文件导致不可用

技术分享图片


从vg0中取出vdb1

技术分享图片


从pv中删除vdb1

技术分享图片


创建lvm快照

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0/lv0-backup /mnt
如果写入数据大于40M,会损坏设备
会自动卸载掉lv0-backup,再次挂载会报错
删除重建后看到原设备

创建并挂载

技术分享图片


写入60M的数据(快照只有40M),自动损坏解除挂载

技术分享图片


再次挂载报错

技术分享图片


删除重建后恢复

技术分享图片

以上是关于linux基础学习12的主要内容,如果未能解决你的问题,请参考以下文章

20155307刘浩《网络对抗》逆向及Bof基础

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础

[vscode]--HTML代码片段(基础版,reactvuejquery)

零基础学习云计算及大数据DBA集群架构师Linux系统配置及网络配置2015年12月28日周一

2016-2-10 linux基础学习12