Linux两块磁盘挂载指向一个文件夹LVM磁盘管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux两块磁盘挂载指向一个文件夹LVM磁盘管理相关的知识,希望对你有一定的参考价值。

注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记!


0x00:前言。

  VG卷组的总空间是受物理磁盘大小限制,本教程有3块物理磁盘分别是100M、200M、300M,那么VG卷组总空间就是600M;而VG下所有的LV累加的总空间又受限于VG。

  使用过程中LV早晚会用完,那么上面的/LVM挂载点只能同时挂载一个,而有些程序不能支持有两个文件目录,比如WEB只有一个/,还有mysql


0x01:扩展VG卷组、缩小VG卷组。

  1)扩展VG卷组。

   上一章讲我看到添加了3块物理磁盘,第一块(/dev/sdb1)已经加入VG组,这次来把第二块(/dev/sdc1)加入到之前的那个vgdata的VG组里。


  首先还是格式化磁盘,并创建磁盘分区/dev/sdc1。这里图略,和之前一样。

  # fdisk /dev/sdc  //显示创建磁盘并和格式化,略去一些命令

  略。

  # pvcreate /dev/sdc1   //普通磁盘转换成PV
  # pvs  //查看VG组信息
  # vgextend vgdata /dev/sdc1   //加入VG组,vgdata要加入VG组名,/dev/sdc1新PV

  图里可以看到磁盘第一次pvs里只有一个PV,添加后,第二次pvs就又有多出一块PV。

  技术分享

  # vgdisplay  //查看VG卷组详细信息,VG的总空间已经由之前100M变成300M

  技术分享

  2).缩小卷组。

  实际使用中,因为磁盘损坏,或空间分配问题,我们需要从VG卷组删除一个PV物理卷。用过的PV物理卷肯定会被写入数据,那么在移走PV前,我们要先迁移数据。

  先用pvdisplay命令看看上面PE块被写了多少数据,假如/dev/sdb1是要移走的物理硬盘。

  注意,目的地空闲空间要大于/dev/sdb1。

  我们准备了/dev/sdd1来存放迁移过来的数据。

  技术分享

  从上图可以看出sdb1总空间是100M,然后空闲是0M,也就是使用了100M。

 

  # pvmove -i 1 /dev/sdb1 /dev/sdd1  //将sdb1数据移动到sdd1里,
                                              -i 1是每1秒钟报告一次数据迁移的进度。
  # vgreduce vgdata /dev/sdb1  //将/dev/sdb1从vgdata卷组中移除
  #  pvremove /dev/sdb1  //将/dev/sdb1移除出PV

  技术分享

  结果:数据没有任何丢失。

  技术分享


0x02:扩展LV、缩小LV逻辑卷。

  1)VG卷组又有新的空间,而刚才创建的lvData(/dev/sdb1)已经使用完了,我们来扩展LV。

  # lvextend –L +50M /dev/vgdata/lvData
  或者
  # lvextend –l 150M /dev/vgdata/lvData

  -L和-l区别,-L后是写你要增加多少,而-l是写你要增加到的总数。

  执行命令后我们发现LV size变成150M了。

  技术分享

  

   LV扩容完系统还没有识别,需要用resize2fs来更新,系统才能识别到。

  # resize2fs /dev/vgdata/lvData

  技术分享

 

  2)缩小LV(逻辑卷)空间。

  使用过程中LV空间总会分配不合理或大或小,如果分配大了,不用又造成空间浪费,现在将LV(逻辑卷)缩小以分配给其他LV(逻辑卷)用。

 

  我们之前创建了一个LV(逻辑卷),挂载到了/LVM下。

  技术分享


  调整钱我们先要卸载挂载点,因为挂载后是使用状态,不允许操作。如图,卸载成功。

  # umount /LVM

  技术分享


   检查文件系统是否有坏块,这部检查必须要做。

  # e2fsck -f /dev/mapper/vgdata-lvData

  技术分享

  

  从上面df -h 知道,总空间287M,使用128M,剩余146M空间。我们缩小总空间到250M,做演示。

  注意:缩小LV前,先要缩小PV,resize2fs在前,lvreduce在后,顺序不能错。

  

  # resize2fs /dev/mapper/vgdata-lvData 250M  //缩小PV

  技术分享

  # lvreduce -L 250M /dev/mapper/vgdata-lvData
  或
  # lvreduce -L -50M /dev/mapper/vgdata-lvData  //-50M,在原基础上减去50M空间。

  技术分享


   好了,缩减成功,挂载看看。

   # mount -a

   或

   # mount /dev/vgdata/lvData  /lvm

   因为PE默认4M,我们给的250M的PE不一定对其,所以系统会从新计算PE倍数来对其,显示的数就会小于我们写的数。

  技术分享

 注意:/dev/mapper/vgdata-lvData和/dev/vgdata/lvData是一样的,指向同一路径。

 

  查看PV有多少空闲空间。显示多出48M的空闲空间。

  # pvs

  技术分享

  






参考文章:

http://dreamfire.blog.51cto.com/418026/1084729/

http://www.linuxidc.com/Linux/2016-06/132709.htm

https://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html

http://www.linuxidc.com/Linux/2017-05/143774.htm



本文出自 “悟透的杂货铺” 博客,请务必保留此出处http://wutou.blog.51cto.com/615096/1980891

以上是关于Linux两块磁盘挂载指向一个文件夹LVM磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理

LVM创建逻辑卷,实现单个目录挂载多个磁盘

Linux磁盘和文件系统管理

Linux创建LVM逻辑卷及实现磁盘配额

Linux 磁盘分区永久挂载创建LVM逻辑卷

掌握管理Linux磁盘和分区的方法 创建并挂载文件系统以及 创建并管理LVM