LVM技术详解:视频1视频2视频3

安装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 逻辑卷管理优势:

  1. 可以对磁盘的容量进⾏灵活的管理;
  2. 可以避免⽇后⼯作中数据迁移问题;

LVM 逻辑卷管理劣势:

  1. 可能会对磁盘的性能造成影响;
  2. 可能会对磁盘⽂件系统有损坏;(等价于对磁盘的数据有损坏)
  3. 如有条件尽量使⽤存储设备;(软件化的存储应⽤)

其他相关:视频学习:

首先使用“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 磁盘扩容的更多相关文章

  1. 微服务架构 ------ 插曲 linux LVM磁盘扩容

    1.LVM的基本概念 物理卷(PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件,物理卷包括一个特殊的header,其余部分被切割成一块块物理区域. 卷组(VG):将一组物 ...

  2. linux 给lvm磁盘扩容

    目录 linux 给lvm磁盘扩容 扩容步骤 确认可用空间 创建新的物理卷 将物理卷添加到现有的卷组中 扩展逻辑卷 linux 给lvm磁盘扩容 早上到公司发现磁盘满了,挂载点是一个lvm 跟领导确认 ...

  3. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  4. 03.LinuxCentOS系统root目录LVM磁盘扩容

    根目录LVM扩容操作步骤: [root@centos7 ~]# df -lh文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 50G 7.7G 43G 6% / ...

  5. Linux LVM在线扩容

    环境: 虚拟化环境,SUSE Linux Enterprise Server 11sp3,直接把虚拟磁盘从100G改成150G. 现有的LVM是100G,/home 的LV需要再加50G. 步骤: f ...

  6. linux下 lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  7. Linux LVM动态扩容

    引用自:  https://blog.csdn.net/u012439646/article/details/73380197   xfs_growfs /dev/centos/root  一.首先安 ...

  8. CentOS 下lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  9. [linux] LVM磁盘管理(针对xfs和ext4不同文件系统)

    简单来说就是:PV:是物理的磁盘分区VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘LV:也就是从VG中划分的逻辑分区如下图所示PV.VG.LV三者 ...

  10. linux LVM 磁盘管理

    一.linux LVM 管理及创建步骤 步骤:1.创建pv—2.创建vg—3.将pv加入vg—4.在vg中创建lv—5.将lv分区格式化—6.将lv分区挂载到某个目录使用 1.创建PV [root@z ...

随机推荐

  1. Github的一个奇技淫巧

    背景 前段时间给 VictoriaLogs 提交了一个 PR: https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4934 本来一切都很顺 ...

  2. 起风了,NCC 云原生项目孵化计划

    时间回到 2016 年,彼时 .NET Core 1.0 刚刚发布 1.0 版本,我跟几位好友共同发起 .NET Core 中文学习组(.NET Core China Studying Group)和 ...

  3. ai绘画提示词

    (Drunken with Lights and Swords: 1.8), (Outdoor: 1.8), (Bust Close-up: 2.9), (solo: 3.8), 1 ancient ...

  4. PackageManager

    /* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  5. 基于 P-Tuning v2 进行 ChatGLM2-6B 微调实践

    微调类型简介 1. SFT监督微调:适用于在源任务中具有较高性能的模型进行微调,学习率较小.常见任务包括中文实体识别.语言模型训练.UIE模型微调.优点是可以快速适应目标任务,但缺点是可能需要较长的训 ...

  6. Stable-diffusion WebUI API调用方法

    写这篇文章的主要原因是工作中需要写一个用训练好的模型批量生图的脚本,开始是想用python直接加载模型,但后来发现webui的界面中有不少好用的插件和参数,所以最终改成调用WebUI接口的方式来批量生 ...

  7. 《数据结构》王卓老师 p48-p62学习反馈

    跟着青岛大学-王卓老师的视频进行到链队列时,运行链队列代码的时候遇到了两个问题: 1.)Program received signal SIGSEGV Segmentation fault 附代码: ...

  8. 【matplotlib 实战】--气泡图

    气泡图是一种多变量的统计图表,可以看作是散点图的变形.与散点图不同的是,每一个气泡都表示三个维度的数据,除了像散点图一样有X,Y轴,气泡的大小可以表示另一个维度的数据.例如,x轴表示产品销量,y轴表示 ...

  9. Java Exception最佳实践(转)

    https://www.dubby.cn/detail.html?id=9033 1.异常介绍 2.Java中的异常介绍 3.自定义异常 4.几个建议 1)不要生吞异常 2)申明具体的异常 3)尽可能 ...

  10. HelloGitHub 社区动态,开启新的篇章!

    今天这篇文章是 HelloGitHub 社区动态的第一篇文章,所以我想多说两句,聊聊为啥开启这个系列. 我是 2016 年创建的 HelloGitHub,它从最初的一份分享开源项目的月刊,现如今已经成 ...