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. c语言代码练习2(2)改进

    //利用for循环计算1-10阶乘的和#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main( ) { int num ...

  2. day1 C语言:对于P1055 ISBN号码的代码优化及多解

    day1 C语言:对于P1055 ISBN号码的代码优化及多解 先看题目 直接说最优解,其他方法后置 第一部分 1.第一个点是数据的输入,本人第一的想法是直接用int类型去接受数据,但因为" ...

  3. Sentinel源码改造,实现Nacos双向通信!

    Sentinel Dashboard(控制台)默认情况下,只能将配置规则保存到内存中,这样就会导致 Sentinel Dashboard 重启后配置规则丢失的情况,因此我们需要将规则保存到某种数据源中 ...

  4. mysql之简单的多表查询

    最简单的多表查询需要用到连操作符(join) 1.笛卡儿积 形式为table1 join table2.如: select e.fname,e.lname,d.name from employee e ...

  5. 洛谷P3392 涂国旗(暴力枚举)

    # 涂国旗 ## 题目描述 某国法律规定,只要一个由 $N \times M$ 个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏--) - 从最上方若干行(至少一行)的格子全部是白色的: ...

  6. BFF层提升业务性能实际解决方案,以及nodeJs和KOA框架介绍

    本文干货满满,介绍了用BFF层(Back-end For Front-end)中间层提升性能的整体解决方案和思路,涉及前期技术调研,聚合业务分析,聚合方法,验收,最后向同学们普及node.koa基础知 ...

  7. 关于react提问以及解答

    1. 请教个工程问题. 团队运用webpack打包前端代码,转译后的文件每次都需要push到代码库远端:从开发角度而言,是不希望这部分代码在代码库的:两个原因:1是不方便代码review,2是代码仓库 ...

  8. OA、CRM、SCM、ERP之间的区别和联系是什么?

    当然,各个系统之间要集成.集成之后的东西,不叫做ERP.做ERP的人说叫ERP,做PLM的人说叫PLM,卖OA的人更愿意叫OA.其实,那个集成之后的东西,啥也不叫.   英文名 中文名 百科释义 关注 ...

  9. 阿里云上的rds 的隔离级别read committed​ 而不是repeatable-read设置原因

    阿里云上的rds 的隔离级别 是read committed ,而不是原生mysql的"可重复读(repeatable-read)",他们是基于什么原因这样设置的? show va ...

  10. JUC并发编程学习笔记(六)Callable(简单)

    Callable(简单) callable接口和runnable接口类似,都是为了执行另外一条线程而设计的,区别是Runnable不会返回结果也不会抛出异常. 1.可以有返回值 2.可以抛出异常 3. ...