-
lv的流程说明
-
- lv的创建、删除、使用及增减容量
-
硬盘分区设置或查看
-
pv操作
-
- 创建pv
-
删除pv
-
vg操作
-
- vg详细信息查看
-
创建vg
-
删除vg
-
vg重命名
-
新增vg容量【vg扩容】
-
lv操作
-
- 创建lv
-
删除lv
-
使用lv
-
增加使用中lv容量
-
- xfs格式刷新
-
ext4格式刷新
-
减少使用中lv容量
-
lv的快照
-
- 利用原始lv,来恢复快照里的东西
-
利用快照来恢复原始lv
-
lv脚本创建说明
-
- 手动创建lv流程回顾
-
脚本自动创建lv方法
======================================================================
不要使用普通的标准分区装系统,而是要使用lv的方式, 因为lv的空间是可变的(注:/boot分区是不能放在lv中的)。
-
物理磁盘是不能直接使用逻辑卷的,需要把物理磁盘转为pv,在创建卷组vg,最后才划为lv, 流程就是
pv→vg→lv
。 -
/dev/sd*是硬盘
-
pv是物理卷
-
vg是卷组
-
lv是逻辑卷
========================================================================
-
查看分区格式:
fdisk -l 设备名
-
创建之前需要需要确定磁盘格式为lvm,如果不是lvm去转换一下格式,方法提醒:
fdisk 设备名
,按t
进行格式转换【lvm参数是8e
】
===================================================================
pvscan
\ pvs
:查看系统中是现有pv
pvcreate 设备名
: 添加pv
pvremove 设备名
: 删除pv
===================================================================
vgdisplay 卷名
:查看卷组vg详细,不加卷名直接vgdisplay就是查看所有卷组
-
vgscan
\vgs
:查看vg卷组 -
vgcreate 卷组名 设备名
:创建卷(vm)组
默认卷大小是4m,就是说存储必须是4的整数倍,如果存了5M 实际占用空间是8M。
默认卷是可以更改的,但只能在创建vg的时候定义,创建成功以后便不能更改,定义卷大小参数-s ,如 定义一个8m的卷大小:vgcreate -s 8 vg0 /dev/sdb9
vgreduce 卷组名 设备名
:剔除卷组vg
vgrename 现vg名 新vm名
:更改vg名
-
注意:新盘划分区的时候 需要t转换为lvm格式(8e) :
fdisk 设备名
-
vg名查看:
vgs \ vgdisplay
新硬盘分区查看:fdisk -l
-
后期增加vg大小:
vgextend vg名 磁盘设备名
-
如这里的vg名(vgdisplay可以查看)是
cl
-
新划分区名是:
/dev/sda3
-
则:
vgextend cl /dev/sda3
把容量划到vg中:
- 输
入vgdisplay
:就可以看到vg中新增后的总容量了
- 注:如果添加成功以后
fdisk -l
可以看到盘,添加找不到新设备名 这是系统bug,重启即可,也可以等待几个小时等待系统后台数据库自动更新也可。
- 新增完以后就可以正常划分新的lv使用了:
创建lv-格式化lv-挂载lv
;
- 【很少遇到,了解一下留个印象】在这种系统不会自动更新磁盘信息的情况下:如果我们新建一个主分区 格式化 后可以直接使用,但挂载信息可能会和fdisk中创建的不符,
- 如果重启后,信息就会更新,但这时就会发现 该硬盘分区不能挂载了,提示不能读取超级快:
- 这种情况是因为 格式化硬盘时读取的值是之前112G的状态,重启以后该信息不见了,所以导致无法正常使用,需要重新格式化,但直接格式化会失败,所以需要加个
-f
,强制格式化:
当前系统是centos7,这些问题是系统bug的原因,后面7.6上并不会出现这种问题,感谢 西藏于总 耐心分析和无私分享几十年的经验 给我解决了上面的疑问。
===================================================================
-
lvscan
\lvs
:查看lv逻辑卷 -
lv创建格式:
lvcreate -L 大小(M,G) -n lv名称 卷名(vgs查看)
:就是在vg卷中提取指定大小空间创建为lv(大小需要为pe size (默认卷)的整数倍 如果不是,会自动增加到pesize的整数倍,如,4m的默认卷,创建了98M,会自动分配为100M):
lvcreate -l(L) 默认卷数量 -n 卷名 vg名
:根据定义的默认卷数量自动分配空间,如默认卷是4m的情况下,分配25个默认卷,则是100M的空间:lvcreate -l 25 -n lv1 vg0
:
lvcreate -l 数字%free -n lv名 卷名
:根据百分比自动分配剩余空间,如分配剩余空间的30%:lvcreate -l 30%free -n lv2 vg0
:
删除lv:lvremove /dev/卷名/lv名(lvscan可以查看)
,提示中输入y
确定删除即可(如果不要提示,加上参数-f即可:lvremove -f /dev/*/*
:
-
lv创建完成以后,就可以直接格式化后使用了
-
mkfs.** lv设备名
【mkfs.tab一下,就会出现很多很多格式,根据需要的格式选择就行】,如:把lv0格式化为xfs并挂在到根目录的123文件中: -
mkfs.xfs /dev/vg0/lv0
-
mkdir /123
-
mount /dev/vo0/lv0 /123
-
首先要确认vg中有容量可以扩容
-
lvextend -L +大小 lv设备名
:在原有大小上扩容制定大小,如给lv0扩容100M:
lvextend -L +100M /dev/vg0/lv0
xfs格式刷新
- 虽然查看lv已经扩容成功的,但df -Th查看的时候 实际容量没有变化,因为还需要单独扩容文件:xfs格式是:
xfs_growfs 文件名
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!