linux-lv-磁盘扩容
前提:centos7并添加磁盘到服务器或者虚拟机
流程:磁盘->创建pv->扩容vg->扩容lv->刷新挂载目录->查看结果
--查看磁盘
lsblk #查看扩容的磁盘为sdb
--扩容lv
虚拟机不重启进行磁盘识别-重新扫描scsi总线,添加scsi设备
echo "- - -" > /sys/class/scsi_host/host0/scan
#注 "- - -"中间有空格
--建pv
1 2 3 4 5 6 | [root@localhost ~] # pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created. [root@localhost ~] # pvs PV VG Fmt Attr PSize PFree /dev/sda2 cl lvm2 a-- 99.00g 4.00m /dev/sdb cl lvm2 a-- 100.00g 100.00g |
--扩容vg
vgextend vg_name pv_name
1 2 3 4 5 6 7 8 | [root@localhost ~] # vgs VG #PV #LV #SN Attr VSize VFree cl 1 3 0 wz--n- 99.00g 4.00m [root@localhost ~] # vgextend cl /dev/sdb #cl为vg名称 /dev/sdb是刚刚创建的pv Volume group "cl" successfully extended [root@localhost ~] # vgs VG #PV #LV #SN Attr VSize VFree cl 2 3 0 wz--n- 198.99g 100.00g |
--扩容lv
lvextend -l +100%free /dev/vg_name/lv_name
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [root@localhost ~] # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─cl-root 253:0 0 50G 0 lvm / #需要扩容根目录 ├─cl-swap 253:1 0 7.9G 0 lvm [SWAP] └─cl-home 253:2 0 41.1G 0 lvm /home sdb 8:16 0 100G 0 disk sr0 11:0 1 4.1G 0 rom [root@localhost ~] # ll /dev/cl/root #确定lv设备路径 lrwxrwxrwx 1 root root 7 Jul 24 19:17 /dev/cl/root -> .. /dm-0 [root@localhost ~] # lvextend -l +100%free /dev/cl/root Size of logical volume cl /root changed from 50.00 GiB (12800 extents) to 150.00 GiB (38400 extents). Logical volume cl /root successfully resized. [root@localhost ~] # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part ├─cl-root 253:0 0 150G 0 lvm / #已经扩容到150G ├─cl-swap 253:1 0 7.9G 0 lvm [SWAP] └─cl-home 253:2 0 41.1G 0 lvm /home sdb 8:16 0 100G 0 disk └─cl-root 253:0 0 150G 0 lvm / sr0 11:0 1 4.1G 0 rom |
--刷新lv磁盘存储(不同格式化不同方式)
resize2fs /dev/vg_name/lv_name #ext4格式
xfs_growfs /dev/vg_name/lv_name #xfs格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [root@localhost ~] # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl-root 50G 3.0G 48G 6% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 17M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 1014M 139M 876M 14% /boot /dev/mapper/cl-home 42G 33M 42G 1% /home [root@localhost ~] # lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs c8e6d619-2c7f-4876-83e8-8e371314518f /boot └─sda2 LVM2_member hc97wL-RVdX-nbVS-9tub-9Vc5-Dw3F-kZuLOM ├─cl-root xfs d0c8731e-5e7a-4cac-bfcd-693c1fce99b0 / #确定类型 [root@localhost ~] # xfs_growfs /dev/cl/root #刷新扩容 meta-data= /dev/mapper/cl-root isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13107200 to 39321600 [root@localhost ~] # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl-root 150G 3.0G 148G 2% / |
常用实例:
(1)创建一个指定大小的lv,并指定名字为lv_2
lvcreate -L 2G -n lv_2 vg_1
(2)创建一个占全部卷组大小的lv,并指定名字为lv_3(注意前提是vg并没有创建有lv)
lvcreate -l 100%VG -n lv_3 vg_1
(3)创建一个空闲空间80%大小的lv,并指定名字为lv_4(常用)
lvcreate -l 80%Free -n lv_4 vg_1
做一个决定,并不难,难的是付诸行动,并且坚持到底。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)