Linux-LVM 磁盘扩容

安装lvm2后才支持如下命令
yum install -y lvm2
| 序号 | 功能 | PV物理卷命令 | VG卷组命令 | LV逻辑卷命令 |
| 01 | 扫描功能 | pvscan | vgscan | Ivscan |
| 02 | 建立功能 | pvcreate | vgcreate | Ivcreate |
| 03 | 查询功能 | pvdisplay | vgdisplay | Ivdisplay |
| 04 | 删除功能 | pvremove | vgremove | Ivremove |
| 05 | 扩容功能 | vgextend | Ivextend | |
| 06 | 缩容功能 | vgredyce | Ivreduce |
磁盘逻辑卷管理实践操作
01. 逻辑卷操作环境准备: 添加⼀块空硬盘sdb,在硬盘上创建两个分区sdb1 和sdb2 各500M:
先进行新增加的sdb磁盘进行分区操作
fdisk /dev/sdb
先划分一个500M“n”

再划分500M“n”

检查一下“P”

保存“w”

用fdisk -l /dev/sdb 检查磁盘分区,并用 ll /dev/sdb* 检查分区文件是否存在

分区操作完毕。
02. 逻辑卷功能基础配置:——物理卷PV
创建PV——sdb1+sdb2
pvcreat /dev/sdb1 /dev/sdb2
pvdisplay

注意1:此时"Total PE"是0,因为当PV放入VG组后,才会打散,生成多个PE
注意2:pvs可以简单查看PV的分组

创建VG组“vg1”
vgcreate vg1 /dev/sdb1 /dev/sdb2

详细查看vgdisplay,此时可以看到“Total PE”是248个,每个PE是4M大小,为什么是248个,通过pvdisplay查看可知

注意1:此时因为没有创建LV,所以VG里“Alloc PE / Size ”目前还是“0/0”
注意2:此时因为没有创建LV,所以VG里“Free PE / Size ”目前还是“248”都没有使用
通过pvdisplay查看可知,sdb1和sdb2每个分别是124个,因此这个VG是248个PE

VG创建后,创建LV
lvcreate -L 200M -n lv1 vg1 #从vg1中,创建一个名称叫做lv1的 200M空间


对lv1进行文件系统的创建(格式化)
mkfs -t ext4 /dev/vg1/lv1

注意:
ext4可以lvm缩容、扩容
xfs只能lvm扩容,xfs如果需要缩容,需要先格式化
挂载到/ mnt目录

df -h查看挂载情况

03.逻辑卷扩容实践:
lvextend -L +100M 或者 lvextend -l +100%free 这里-L -l 需要注意大小写
[root@xiaoq mnt ] # vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz -- n- 992.00m 792.00m
#确认vg中是否有可以扩容的空间
[root@xiaoq mnt] # lvextend -L +100M /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 300.00 MiB (75extents).
Logical volume vg1/lv1 successfully resized.
[ root@xiaoq mnt ] # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao ---- 300.00m
[root@xiaoq mnt ] # lvscan
ACTIVE '/dev/vg1/lv1' [300.00 MiB ] inherit
#若扩容容量不对,可以用lvscan命令进行重新扫描识别
[root@xiaoq ~ ] # resize2fs /dev/vg1/lv1
#对于ext4文件系统类型,resize2fs让文件系统识别扩容的容量,如果是xfs可以使用xfs_growfs命令识别。
[root@xiaoq ~ ] # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 297M 11M 287M 4% /mnt
#空间容量已经实现100M扩容
04.逻辑卷缩容实践:
[ root@xiaoq ~ ] # umount /mnt
--缩容操作必须对存储设备进行卸载
[ root@xiaoq ~ ] # e2fsck -f /dev/vg1/lv1
--缩小文件系统前五名要先对文件系统做个扫描检测,保护缩减文件系统时不对数据损害
[ root@xiaoq ~ ] # resize2fs /dev/vg1/lv1 200M
--扫描缩容后剩余的200M文件系统空间
[ root@xiaoq ~ ] # lvreduce -L 200M /dev/vg1/lv1
WARNING: Reducing active logical volume to 200.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg1/lv1? [ y/n ] : y
Size of logical volume vg1/lv1 changed from 300.00 MiB (75 extents) to 200.00 MiB (50
extents).
Logical volume vg1/lv1 successfully resized.
--将lv1逻辑卷缩容回原有的 200 M
[ root@xiaoq ~ ] # lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv1 vg1 -wi-a ----- 200.00m
[ root@xiaoq ~ ] # mount /dev/vg1/lv1 /mnt
[ root@xiaoq ~ ] # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 190M 1.6M 175M 1% /disk1
说明:企业当中尽量不要做磁盘缩容操作,因为缩容操作容易对⽂件系统造成不可逆的影响。
05.逻辑卷组扩容过程实践: 在虚拟主机环境中添加⼀块新的硬盘,并对新的硬盘设置为pv
[ root@xiaoQ ~ ] # pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
[ root@xiaoQ ~ ] # vgextend vg1 /dev/sdc
Volume group "vg1" successfully extended /dev/sdc VG
--已扩展完成VG物理卷组
[ root@oldboyedu ~ ] # vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz -- n- 20.96g 20.57 g
06. 逻辑卷组缩容过程实践:
[ root@xiaoQ ~ ] # vgreduce vg1 /dev/sdc
Removed “/dev/sdc”Volume group "vg1"
[ root@xiaoQ ~ ] # vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 1 0 wz -- n- 992.00m 792.00m
[ root@oldboyedu ~ ] # pvremove /dev/sdc
Labels on physical volume "/dev/sdc" successfully wiped.
-- /dev/sdc 已删除完成 PV物理卷
[ root@oldboyedu ~ ] # pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 500.00m 500.00m
/dev/sdb2 lvm2 --- 500.00m 500.00m
LVM 逻辑卷知识总结:
LVM 逻辑卷管理优势:
- 可以对磁盘的容量进⾏灵活的管理;
- 可以避免⽇后⼯作中数据迁移问题;
LVM 逻辑卷管理劣势:
- 可能会对磁盘的性能造成影响;
- 可能会对磁盘⽂件系统有损坏;(等价于对磁盘的数据有损坏)
- 如有条件尽量使⽤存储设备;(软件化的存储应⽤)
其他相关:视频学习:
首先使用“lsblk”查看现有磁盘情况
root@lzc-OpenWRT:/home/lzc# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 4K 1 loop /snap/bare/5
loop1 7:1 0 55.4M 1 loop /snap/core18/2128
loop2 7:2 0 55.6M 1 loop /snap/core18/2620
loop3 7:3 0 219M 1 loop /snap/gnome-3-34-1804/72
loop4 7:4 0 63.2M 1 loop /snap/core20/1695
loop5 7:5 0 219M 1 loop /snap/gnome-3-34-1804/77
loop6 7:6 0 346.3M 1 loop /snap/gnome-3-38-2004/119
loop7 7:7 0 65.1M 1 loop /snap/gtk-common-themes/1515
loop8 7:8 0 91.7M 1 loop /snap/gtk-common-themes/1535
loop9 7:9 0 51M 1 loop /snap/snap-store/547
loop10 7:10 0 49.7M 1 loop /snap/snapd/17576
loop11 7:11 0 45.9M 1 loop /snap/snap-store/599
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 49.5G 0 part
├─vgubuntu-root 253:0 0 48.5G 0 lvm /
└─vgubuntu-swap_1 253:1 0 976M 0 lvm [SWAP]
root@lzc-OpenWRT:/home/lzc#
然后用“lsblk -f”可以看到磁盘格式
root@lzc-OpenWRT:/home/lzc# lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
loop0 squashfs 0 100% /snap/bare/5
loop1 squashfs 0 100% /snap/core18/2128
loop2 squashfs 0 100% /snap/core18/2620
loop3 squashfs 0 100% /snap/gnome-3-34-1804/72
loop4 squashfs 0 100% /snap/core20/1695
loop5 squashfs 0 100% /snap/gnome-3-34-1804/77
loop6 squashfs 0 100% /snap/gnome-3-38-2004/119
loop7 squashfs 0 100% /snap/gtk-common-themes/1515
loop8 squashfs 0 100% /snap/gtk-common-themes/1535
loop9 squashfs 0 100% /snap/snap-store/547
loop10 squashfs 0 100% /snap/snapd/17576
loop11 squashfs 0 100% /snap/snap-store/599
sda
├─sda1 vfat 8BE7-DF3D 511M 0% /boot/efi
├─sda2
└─sda5 LVM2_member eDSv3f-euPB-ePjk-3Nuz-pXuP-a4Tg-xvYwYY
├─vgubuntu-root ext4 c2545732-2cc3-47b2-a098-5c770211e1a0 5.9G 83% /
└─vgubuntu-swap_1 swap 0a3c99af-e9ef-432e-9e16-458b267d1027 [SWAP]
root@lzc-OpenWRT:/home/lzc#
第一步:df -h
查看磁盘情况
第二步:lvdisplay(逻辑卷)
第三步:vgdisplay(逻辑组)
第四步:pvdisplay(物理卷)
第五步:fdisk /dev/磁盘名
第六步:mkfs -t ext4 /dev/sdb1
第七步:vgextend centos /dev/sdb1
其中centos是nv的名字,在第三步查看,sdb1是磁盘名,可以lsblk查看
第八步:再用pvscan查看一下
第九步:lvextend -l 100%FREE /dev/centos/root
其中/dev/centos/root是lv的path,在第二步查看
第十步:resize2fs /dev/centos/root
如果是centos7的话,最后一步刷新空间会报错,正确命令:xfs_growfs -p -F /dev/cl_192/root
Linux-LVM 磁盘扩容的更多相关文章
- 微服务架构 ------ 插曲 linux LVM磁盘扩容
1.LVM的基本概念 物理卷(PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件,物理卷包括一个特殊的header,其余部分被切割成一块块物理区域. 卷组(VG):将一组物 ...
- linux 给lvm磁盘扩容
目录 linux 给lvm磁盘扩容 扩容步骤 确认可用空间 创建新的物理卷 将物理卷添加到现有的卷组中 扩展逻辑卷 linux 给lvm磁盘扩容 早上到公司发现磁盘满了,挂载点是一个lvm 跟领导确认 ...
- 【转载】CentOS LVM磁盘扩容
转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...
- 03.LinuxCentOS系统root目录LVM磁盘扩容
根目录LVM扩容操作步骤: [root@centos7 ~]# df -lh文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 50G 7.7G 43G 6% / ...
- Linux LVM在线扩容
环境: 虚拟化环境,SUSE Linux Enterprise Server 11sp3,直接把虚拟磁盘从100G改成150G. 现有的LVM是100G,/home 的LV需要再加50G. 步骤: f ...
- linux下 lvm 磁盘扩容
打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...
- Linux LVM动态扩容
引用自: https://blog.csdn.net/u012439646/article/details/73380197 xfs_growfs /dev/centos/root 一.首先安 ...
- CentOS 下lvm 磁盘扩容
打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...
- [linux] LVM磁盘管理(针对xfs和ext4不同文件系统)
简单来说就是:PV:是物理的磁盘分区VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘LV:也就是从VG中划分的逻辑分区如下图所示PV.VG.LV三者 ...
- linux LVM 磁盘管理
一.linux LVM 管理及创建步骤 步骤:1.创建pv—2.创建vg—3.将pv加入vg—4.在vg中创建lv—5.将lv分区格式化—6.将lv分区挂载到某个目录使用 1.创建PV [root@z ...
随机推荐
- @Validated指定校验顺序
在Java中,使用@NotNull注解时,可以指定多个参数的顺序.为了指定顺序,你可以使用@GroupSequence注解. 首先,为每个需要校验的参数定义一个接口,并在接口上添加@GroupSequ ...
- SQL运用full join连接,decode函数,nvl函数进行列转行
背景说明:full join连接,decode函数,nvl函数,结合生产背景理解更深刻: test_A表是现金业主某时间段的收益:test_B表是非现金业主某时间段的收益:对于业主,test_A表与t ...
- 《流畅的Python》 读书笔记 第二章数据结构(2) 231011
2.5 对序列使用+和* 通常 + 号两侧的序列由相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果 +和*都遵循这个规 ...
- Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别
前言 今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例,希望xdm喜欢. 文末有案例代码的Git地址,可以自己下载了去玩玩儿或继续扩展也行. 话不多说,开整吧. 什么是 ...
- 想让你的代码简洁,试试这个SimpleDateFormat类高深用法
本文分享自华为云社区<从入门到精通:SimpleDateFormat类高深用法,让你的代码更简洁!>,作者:bug菌. 环境说明:Windows 10 + IntelliJ IDEA 20 ...
- Qt OpenGL textures详解
1. 初始化opengl资源 Q_INIT_RESOURCE:textures(资源名称) QSurfaceFormat:定义3d面显示方式 如果在vs+qt vs tools 中无法正常显示3d图形 ...
- mapState、mapGetters、mapMutations、mapActions学习
https://next.vuex.vuejs.org/zh/guide/state.html#mapstate-%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0 https: ...
- OpenTiny Vue 支持 Vue2.7 啦!
你好,我是 Kagol. 前言 上个月发布了一篇 Vue2 升级 Vue3 的文章. 少年,该升级 Vue3 了! 里面提到使用了 ElementUI 的 Vue2 项目,可以通过 TinyVue 和 ...
- DM数据库SQL分页案例
DM一哥们找我优化条分页的SQL语句,结果集很小返回99行数据,废话不说安排一下. 原始SQL语句如下,保密要求,给真实的表名换了别名: SELECT count(*) FROM (SELECT TM ...
- go 中的循环依赖
什么是循环依赖 Go 中的循环依赖是指两个或多个包之间相互引用,形成了一个循环依赖关系.这种情况下,包 A 依赖包 B,同时包 B 也依赖包 A,导致两个包之间无法明确地确定编译顺序,从而可能引发编译 ...