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. 「loj - 3489」「joisc 2021 day 1」Food Court

    link. 感觉好久没写过题解了, 这就是永远在骚动的得不到吧. 星尘 infinity 真的非常行, 就算是 ja voicebase 都不知道吊打那群日 v 多少圈. 我推荐你们都去听一听. ch ...

  2. Three.js中实现一个OBBHelper

    1. 引言 Three.js中,Box3对象指的是AABB式的包围盒,这种包围盒会随物体的旋转而变换大小,精度较差 Three.js中还有OBB对象,这是一种能表现物体主要特征的.不随物体的旋转而变换 ...

  3. Vue-进阶:路由及elementUI组合开发

    Vue-router路由 什么是vue-router? 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果.当我们在一个传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服 ...

  4. 探索Lighthouse性能分数计算背后的奥秘

    作为开发我们都知道,页面性能很重要,一个性能良好的页面可以给用户带来非常好的用户体验.那么,怎么能知道自己写的页面性能是好是坏呢? Lighthouse 是Chrome提供给开发者用来测量页面性能的工 ...

  5. 异常:no transaction is in progress

    转载请注明出处: 在使用  @Scheduled 注解创建了一个定时任务,并通过定时任务不断向mysql写入数据,写入数据的方式是通过 jpa 的方式,在代码运行的过程中出现错误:no transac ...

  6. 2020 ICPC 南京站

    gym A. Ah, It's Yesterday Once More 有趣的题,但场上的人恐怕不会这么想( 构造一条长路径,且拐弯处在不同边界.这样每条竖线合并后都在一边,还需要走一遍才能合并到一起 ...

  7. Java 21 新特性:Unnamed Classes and Instance Main Methods

    Java 21引入了两个语言核心功能: 未命名的Java类你说 新的启动协议:该协议允许更简单地运行Java类,并且无需太多样板 下面一起来看个例子.通常,我们初学Java的时候,都会写类似下面这样的 ...

  8. PLSQL_developer安装与配置

    前言: 记录安装与配置操作 环境: 客户机:windows 服务器:虚拟机中的windows server 2003 /---------------------------------------- ...

  9. ORACLE错误代码一览表,方便大家查询!

    ORACLE错误一览表,方便大家查询! ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最 ...

  10. HDU 1312 Red and Black 题解

    //注意边界判断,调了好久#include <iostream> #include <queue> using namespace std; #define check(x,y ...