LInux文件系统之“逻辑卷“专项剖析

使用fdisk分区,也称Linux的标准分区;当Linux标准分区格式成文件系统之后挂载使用,那么一旦文件系统空间满了,是无法扩容的,如果一定要扩容,需要将数据备份,再换一个更大的文件系统,再将数据还原回去,但这种方法一般来说效率贼低

因此逻辑卷的出现,成为了上面瑕疵的解决方案

逻辑卷是一个抽象的概念,衍生出一些专有名词

PV(physical volume)        物理卷(可以无限大;向PV里加入新的块设备就相当于扩容PV,从pv里删除块设备,相当于缩容PV)

VG(volume group)         卷组(也可在无限大的PV中创建贼多个VG;创建、删除、扩容)

LV(logical volume)          逻辑卷(一个vg中可以创建多个LV;创建、删除、扩容)

创建物理卷PV前先分区

db1 1G

db2 2G

 物理卷(PV)

创建PV

创建物理卷

[root@ggbond ~]# pvcreate /dev/sdb1
[root@ggbond ~]# pvcreate /dev/sdb2

注意:另外PV也可以直接指定一块磁盘

[root@ggbond ~]# pvs                                       # 查看物理卷

删除PV

pvremove        #删除物理卷    
另外PV如果被某个vg使用,则无法删除  

 [root@ggbond ~]# pvcreate /dev/sdb{1..2}               #  一次创建多个pv

[root@ggbond ~]# pvdisplay /dev/sdb1 /dev/sdb2             # 查看物理卷的详细信息(很少用到)

卷组(VG)

创建VG

[root@ggbond ~]# vgcreate vg1 /dev/sdb1               # 创建卷组;vg1是随机命名的

[root@ggbond ~]# vgs                                               #  查看卷组

[root@ggbond ~]# vgcreate vg2 /dev/sdb2 -s 8M                #还可通过-s指定卷组大小

 删除VG

[root@ggbond ~]# vgremove vg1                                    # 删除vg

 [root@ggbond ~]# vgs                                                          # 我们可以看到vg1已被去除  

同理:

如果vg上有逻辑卷在使用,则vg也无法删除

扩容VG

我们此时看到vg1中现在大小是2G       
接下来给他进行vg扩容

[root@ggbond ~]# vgextend vg1 /dev/sdb2                           # 用sdb2的空间给vg1扩容  此时看到扩容到4G

xdm切记一个pv中不可加两次vg,另外当我们想要将某一个分区扩到vg1时但这个分区没有创建pv;此时由于lvm2的优化特性,自动会将某分区加入到pv

逻辑卷(LV)

创建LV

[root@ggbond ~]# lvcreate -n lv1 -L 66M vg1     # 在vg1卷组中创建一个名为lv1的容量为66M的逻辑卷

[root@ggbond ~]# lvs                              # 查看逻辑卷

-n      参数表示逻辑卷的名字

-L       参数表示逻辑卷的大小                 

vg1                   使用卷组vg1创建该逻辑卷

  再向vg1中加一个逻辑卷2     如果发现无法添加改vg满了的话 ,我们需要扩容vg

逻辑卷创建完之后,可直接格式化成为文件系统之后使用

如果卷组下面创建了新的逻辑卷,那么该逻辑卷会自动在设备文件路径中出现,如下图

但逻辑卷实际目录则是在dm中

 dm(device mapper)

我们所创建的逻辑卷,都在mapper文件夹中

[root@ggbond ~]# mkfs.ext4 /dev/vg1/lv2        #   格式化逻辑卷

查看逻辑卷的UUID

[root@ggbond ~]# ls -l /dev/disk/by-uuid/          

删除LV

[root@ggbond ~]# lvremove /dev/vg1/lv2        #在删除时候必须指定lv2的精确路径

扩容LV

[root@ggbond /]# mkdir /ggbond              #在根目录下创建一个挂载文件ggbond先挂载一下

[root@ggbond /]# mount /dev/vg1/lv1 /ggbond/         # 将lv1挂载到根目录下的ggbond下

接下来先模拟一下将lv1逻辑卷空间占满从而演示如何扩容

[root@ggbond /]# dd if=/dev/zero of=/ggbond/file

 我们看到lv1无可用空间并且无法再创建文件

  在线扩容即为文件系统不能卸载

我们将lv1扩容到100M

[root@ggbond /]# lvextend /dev/vg1/lv1 -L 100M # 此命令是将之前的容量覆盖了并不是追加

[root@ggbond /]# lvextend /dev/vg1/lv1 -L +68M  #如果追加的话应该加上+号

 此时我们看到lv1使用率还是百分百;是因为我们刚才扩容的部分没有格式化,在文件系统检测不到

[root@ggbond /]# xfs_growfs /dev/vg1/lv1     

# 把空间重新加载到文件系统中,此处因为我是xfs文件系统所以用xfs_growfs命令来重新加载

你要是ext4文件系统则需要用resize2fs  命令来重新加载

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值