Linux lvm磁盘管理

一 LVM概述

LVM是linux操作系统中对磁盘分区进行管理的一种逻辑机制,能够在保持现有数据不变的情况下动态调整磁盘容量,从而增强磁盘管理的灵活性。

二 LVM术语

2.1 PV(物理卷)

物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘,比如常见的/dev/sdb(整块硬盘),/dev/sdb1(整块硬盘的第一个分区)。

2.2 VG(卷组)

由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。

2.3 LV(逻辑卷)

逻辑卷建立在卷组之上,与物理卷没有直接关系。每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。扩容缩容登操作均是在逻辑卷上进行操作。

2.4 PE

PE是物理卷中可用于分配的最小存储单元,默认4M。

三 LVM建立步骤

在vmware上创建的虚拟机中添加两块2G的虚拟磁盘/dev/sdb,/dev/sdc,用于一下操作试验:

  1. 创建物理卷(整块硬盘或者硬盘分区)
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created.
  1. 查看是否创建成功
[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree 
  /dev/sdb1          lvm2 ---   243.14m 243.14m
  /dev/sdb2          lvm2 ---   243.28m 243.28m
  /dev/sdb3          lvm2 ---   535.00m 535.00m
  1. 创建卷组
    创建卷组vg01,并把/dev/sdb1物理卷加入到卷组vg01中。
[root@localhost ~]# vgcreate vg01 /dev/sdb1
Volume group "vg01" successfully created
  1. 查看卷组是否创建成功
[root@localhost ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  vg01     1   0   0 wz--n- <2240.00m <240.00m
  1. 创建逻辑卷
    在卷组vg01中创建大小为50M的逻辑卷lg01。
[root@localhost ~]# lvcreate -n lg01 -L 50M vg01
Logical volume "lg01" created.
  1. 查看是否创建成功
[root@localhost ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                 
  lg01 vg01   -wi-a-----   50.00m 
  1. 格式化并挂载
root@ubuntu1:~# mkfs.xfs  /dev/vg01/lg01
meta-data=/dev/vg01/lg01         isize=512    agcount=2, agsize=6656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=13312, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
  1. 创建挂载目录及挂载
[root@localhost ~]# mkdir /lv01
[root@localhost ~]# mount /dev/vg01/lg01 /lv01
[root@localhost ~]# df -h
Filesystem            1K-blocks    Used Available Use% Mounted on
udev                     978684       0    978684   0% /dev
tmpfs                    200640    1556    199084   1% /run
/dev/sda1              20509264 7904368  11540040  41% /
tmpfs                   1003192       0   1003192   0% /dev/shm
tmpfs                      5120       4      5116   1% /run/lock
tmpfs                   1003192       0   1003192   0% /sys/fs/cgroup
/snap/gnome-system-monitor/157
tmpfs                    200636      16    200620   1% /run/user/121
tmpfs                    200636       0    200636   0% /run/user/0
/dev/mapper/vg01-lg01     49828    2848     46980   6% /lv01

四 LVM扩展操作

  1. 移除逻辑卷
[root@localhost ~]# lvremove vg01 /dev/vg01/lg01 
  Logical volume vg01/lg01 contains a filesystem in use.
[root@localhost ~]# umount /lv01
[root@localhost ~]# lvremove vg01 /dev/vg01/lg01 
Do you really want to remove active logical volume vg01/lg01? [y/n]: y
  Logical volume "lg01" successfully removed
  1. 移除卷组
[root@localhost ~]# vgremove vg01
Volume group "vg01" successfully removed
  1. 移除物理卷
[root@localhost ~]# pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped.
  1. 扩展卷组(vg01卷组中加入/dev/sdb2)
root@ubuntu1:~# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  vg01 lvm2 a--  240.00m 188.00m
  /dev/sdb2       lvm2 ---  243.28m 243.28m
  /dev/sdb3       lvm2 ---  535.00m 535.00m
root@ubuntu1:~# vgextend vg01 /dev/sdb2
  Volume group "vg01" successfully extended
root@ubuntu1:~# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  vg01 lvm2 a--  240.00m 240.00m
  /dev/sdb2  vg01 lvm2 a--  240.00m 240.00m
  /dev/sdb3       lvm2 ---  535.00m 535.00m
  1. 移除卷组中的pv
root@ubuntu1:~# vgreduce vg01 /dev/sdb2
  Removed "/dev/sdb2" from volume group "vg01"
root@ubuntu1:~# pvs
  PV         VG   Fmt  Attr PSize   PFree  
  /dev/sdb1  vg01 lvm2 a--  240.00m 240.00m
  /dev/sdb2       lvm2 ---  243.28m 243.28m
  /dev/sdb3       lvm2 ---  535.00m 535.00m
  1. 给现有挂载点扩容
    现在挂载点容量为50M
root@ubuntu1:~# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   956M     0  956M   0% /dev
tmpfs                  196M  1.6M  195M   1% /run
/dev/sda1               20G  7.6G   12G  41% /
tmpfs                  980M     0  980M   0% /dev/shm
tmpfs                  5.0M  4.0K  5.0M   1% /run/lock
tmpfs                  980M     0  980M   0% /sys/fs/cgroup

/dev/mapper/vg01-lv01   49M  2.8M   46M   6% /lv01

扩容

root@ubuntu1:~# lvextend -L +100M /dev/vg01/lv01 
  Size of logical volume vg01/lv01 changed from 52.00 MiB (13 extents) to 152.00 MiB (38 extents).
  Logical volume vg01/lv01 successfully resized.
root@ubuntu1:~# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   956M     0  956M   0% /dev
tmpfs                  196M  1.6M  195M   1% /run
/dev/sda1               20G  7.6G   12G  41% /
tmpfs                  980M     0  980M   0% /dev/shm
tmpfs                  5.0M  4.0K  5.0M   1% /run/lock
tmpfs                  980M     0  980M   0% /sys/fs/cgroup

tmpfs                  196M   16K  196M   1% /run/user/121
tmpfs                  196M     0  196M   0% /run/user/0
/dev/mapper/vg01-lv01   49M  2.8M   46M   6% /lv01

扩容后发现显示仍然为扩容前的空间大小,需要使用扩容命令实现生效。

root@ubuntu1:~# xfs_growfs /dev/vg01/lv01 
meta-data=/dev/mapper/vg01-lv01  isize=512    agcount=2, agsize=6656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=13312, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13312 to 38912
root@ubuntu1:~# df -h
Filesystem             Size  Used Avail Use% Mounted on
udev                   956M     0  956M   0% /dev
tmpfs                  196M  1.6M  195M   1% /run
/dev/sda1               20G  7.6G   12G  41% /
tmpfs                  980M     0  980M   0% /dev/shm
tmpfs                  5.0M  4.0K  5.0M   1% /run/lock
tmpfs                  980M     0  980M   0% /sys/fs/cgroup
tmpfs                  196M   16K  196M   1% /run/user/121
tmpfs                  196M     0  196M   0% /run/user/0
/dev/mapper/vg01-lv01  149M  3.1M  146M   3% /lv01
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IForFree

整理不易,望多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值