Linux从0到1⑨存储二LVM管理


LVM( Logical Volume Manager)是什么?

  • 是一种磁盘分区管理方式。

为什么使用LVM?

  • 基本分区方式虽然能够有效地提高硬盘设备的读写速度和数据的安全性,但是在硬盘分好区之后,再去修改硬盘分区大小就不太容易了,当我们想要随着实际需求的变化调整硬盘分区大小时就可以使用LVM。

比如当你有一个很大的柜子(柜子就是硬盘),你需要把它们分成你所需要的某个空间来去分别装你的东西,例如衣服,裤子,书本等等。那当你使用MBR分区时,分好的空间就不能变化了,使用完毕之后就需要换一个空间去放更多的东西;那你使用LVM分区时,当你的分好的空间使用完毕后,你可以选择给它拓展添加,相当于一个分好空间的小柜子,你可以给他把这个小柜子拓展大,去往里面放更多的东西。


LVM技术架构

在这里插入图片描述

  • PP:物理分区(Physical Partition)----如硬盘的分区,或 RAID 分区。
  • PV:物理卷(Physical volume)----是 物理分区 的 LVM 抽象,它维护了 物理分区 的结构信息,是组成卷组的基本逻辑单元,一般一个 物理卷 对应一个 物理分区。
  • PE:物理块(Physical Extent) ----默认为4MB的基本块,每个 物理卷 都会以 物理块 为基本单元划分。
  • VG:卷组(Volume Group) ----它可由一个或数个 物理卷 组成,相当于 LVM 的存储池。
  • LV:逻辑卷(Logical Volume) ----建立在 卷组 之上,文件系统之下,由若干个 逻辑快 组成。
  • LE:逻辑块(Logical Extent) ----组成 逻辑卷 的基本单元,一个 逻辑块 对应一个 物理块。

总的来说,LVM具有很好的可伸缩性,可以动态调整所需要使用的磁盘空间。


LVM管理(相关操作)

  1. 准备继续操作的硬盘
[root@tong ~]# ll /dev/sd*    //显示磁盘文件
brw-rw----. 1 root disk 8,  0 Dec 22 20:51 /dev/sda
brw-rw----. 1 root disk 8,  1 Dec 22 20:51 /dev/sda1
brw-rw----. 1 root disk 8,  2 Dec 22 20:51 /dev/sda2
brw-rw----. 1 root disk 8, 16 Dec 22 20:51 /dev/sdb
brw-rw----. 1 root disk 8, 32 Dec 22 20:51 /dev/sdc
brw-rw----. 1 root disk 8, 48 Dec 22 20:51 /dev/sdd
  1. 将物理磁盘转换成物理卷,让物理卷设备支持LVM(pvcreate)
[root@tong ~]# pvcreate /dev/sdb   //将物理磁盘,转换成物理卷-PV
  Physical volume "/dev/sdb" successfully created.
[root@tong ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.
  1. 将硬盘加入到卷组中(vgcreate)
[root@tong ~]# vgcreate vg1 /dev/sdb  //创建卷组-VG
  Volume group "vg1" successfully created

  1. 切割出一个大小为200M的逻辑卷设备(lvcreate)
[root@tong ~]# lvcreate -L 200M -n lv2 vg1    //-L长度大小 -n 卷的名字 
  Logical volume "lv2" created.

  1. 将生成的逻辑卷格式化并挂载(mkfs.文件系统类型;mount)
[root@tong ~]# mkfs.ext4 /dev/vg1/lv2  //创建文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
51200 inodes, 204800 blocks
10240 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33816576
25 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
 8193, 24577, 40961, 57345, 73729

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

[root@tong ~]# mkdir /mnt/lv2     //创建目录
[root@tong ~]# mount /dev/vg1/lv2 /mnt/lv2/             //挂载到相应的目录下(手动挂载);自动挂载的话也是编辑/etc/fstab文件
[root@tong ~]# df -hT 
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  2.5G   15G  15% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  142M  873M  14% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vg1-lv2     ext4      190M  1.6M  175M   1% /mnt/lv2    //挂载成功

  1. 当相应的逻辑卷空间使用完毕后进行相应的扩容(lvextend)
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc1
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc2
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc3
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc4
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc5
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc6
[root@tong ~]# cp -rf /etc/ /mnt/lv2/etc7
cp: error writing ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/nx/hll’: No space left on device    //复制出现错误,需要扩容
cp: failed to extend ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/nx/hll’: No space left on device
cp: error writing ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/obex/hll’: No space left on device
cp: failed to extend ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/obex/hll’: No space left on device
cp: error writing ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/obex/lang_ext’: No space left on device
cp: failed to extend ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/obex/lang_ext’: No space left on device
cp: cannot create directory ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/oddjob’: No space left on device
cp: cannot create directory ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/openct’: No space left on device
cp: cannot create directory ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/openshift’: No space left on device
cp: cannot create directory ‘/mnt/lv2/etc7/selinux/targeted/active/modules/100/openshift-origin’: No space left on device
[root@tong ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  2.5G   15G  15% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  142M  873M  14% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vg1-lv2     ext4      190M  186M     0 100% /mnt/lv2       //利用率达到100%
[root@tong ~]# 写不了以前就是换个磁盘,现在可以直接扩容^C
[root@tong ~]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree
  centos   1   2   0 wz--n- <19.00g    0 
  vg1      1   1   0 wz--n-  <5.00g 4.80g
[root@tong ~]# 卷组有不有空间^C
[root@tong ~]# lvextend -L +200M /dev/vg1/lv2    //给/dev/vg1/lv2扩容200M,XFS文件系统不支持扩容
  Size of logical volume vg1/lv2 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume vg1/lv2 successfully resized
[root@tong ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  2.5G   15G  15% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  142M  873M  14% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vg1-lv2     ext4      190M  186M     0 100% /mnt/lv2
[root@tong ~]# resize2fs /dev/vg1/lv2    //重置大小到文件系统
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv2 is mounted on /mnt/lv2; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/vg1/lv2 is now 409600 blocks long.
[root@tong ~]# 重置大小到文件系统 给文件目录下^C
[root@tong ~]# df -hT
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  2.5G   15G  15% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  142M  873M  14% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vg1-lv2     ext4      384M  187M  175M  52% /mnt/lv2      //扩容成功

LVM快速备份(快照)

1.实现
[root@tong ~]# lvcreate -L 350M -s -n lv2-snap  /dev/vg1/lv2  //-s 备份
  Rounding up size to full physical extent 352.00 MiB
  Logical volume "lv2-snap" created.
[root@tong ~]# lvs    
  LV       VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root     centos -wi-ao---- <17.00g                                                    
  swap     centos -wi-ao----   2.00g                                                    
  lv2      vg1    owi-aos--- 400.00m                                                    
  lv2-snap vg1    swi-a-s--- 352.00m      lv2    0.01             
2.备份恢复(测试)
[root@tong ~]# mkdir /mnt/lv2-snap    
[root@tong ~]# ll /mnt/lv2-snap/
total 0
[root@tong ~]# mount /dev/vg1/lv2-snap /mnt/lv2-snap/ -o ro     //将备份的文件挂载到一个目录下    -o 只读
[root@tong ~]# ll /mnt/lv2-snap/               //挂载的目录下有文件,恢复成功,可以对里面的文件操作
total 66
drwxr-xr-x. 93 root root  6144 Dec 22 21:12 etc1
drwxr-xr-x. 93 root root  6144 Dec 22 21:12 etc2
drwxr-xr-x. 93 root root  6144 Dec 22 21:12 etc3
drwxr-xr-x. 93 root root  6144 Dec 22 21:13 etc4
drwxr-xr-x. 93 root root  6144 Dec 22 21:13 etc5
drwxr-xr-x. 93 root root  6144 Dec 22 21:13 etc6
drwxr-xr-x. 67 root root  5120 Dec 22 21:13 etc7
drwx------.  2 root root 12288 Dec 22 21:00 lost+found
[root@tong ~]# df -hT        //查看
Filesystem                Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   xfs        17G  2.5G   15G  15% /
devtmpfs                  devtmpfs  476M     0  476M   0% /dev
tmpfs                     tmpfs     488M     0  488M   0% /dev/shm
tmpfs                     tmpfs     488M  7.7M  480M   2% /run
tmpfs                     tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1                 xfs      1014M  142M  873M  14% /boot
tmpfs                     tmpfs      98M     0   98M   0% /run/user/0
/dev/mapper/vg1-lv2       ext4      384M  187M  175M  52% /mnt/lv2
/dev/mapper/vg1-lv2--snap ext4      384M  187M  175M  52% /mnt/lv2-snap
[root@tong ~]# lvscan 
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [<17.00 GiB] inherit
  ACTIVE   Original '/dev/vg1/lv2' [400.00 MiB] inherit
  ACTIVE   Snapshot '/dev/vg1/lv2-snap' [352.00 MiB] inherit
[root@tong ~]# lvs
  LV       VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root     centos -wi-ao---- <17.00g                                                    
  swap     centos -wi-ao----   2.00g                                                    
  lv2      vg1    owi-aos--- 400.00m                                                    
  lv2-snap vg1    swi-aos--- 352.00m      lv2    0.01

命令小结

功能物理卷管理卷组管理逻辑卷管理
scan(扫描)pvscanvgscanlvscan
create(建立)pvcreatevgcreatelvcreate
display(显示)pvdisplayvgdisplaylvcreate
remove(删除)pvremovevgremovelvremove
extend(扩展)vgextendlvextend
reduce(减少)vgreducelvreduce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值