设为首页 收藏本站
查看: 1071|回复: 0

[经验分享] Linux LVM的相关操作

[复制链接]

尚未签到

发表于 2018-5-23 06:08:18 | 显示全部楼层 |阅读模式
  LVM的主要特点就是可以将已经格式化的分区进行动态的增加和缩减。LVM的实现方式是将几个实体的partitions或者disk通过软件组成一个大磁盘(VG),然后可以将大磁盘进行切割,切割后可得到lv(相当于分区),在lv上进行格式化挂载。vg和lv的容量都可以动态地进行缩减。下面来说一下具体过程:
  1)pv阶段。
  pv阶段涉及到的命令:
  1、pvcreate:将分区partition建立成为pv
  2、pvscan:检索目前系统中具有pv的磁盘,显示pv
  3、pvdisplay:显示系统中pv的状态
  4、pvremove:删除pv,该partition不在具有pv属性
  5、pvmove:可以将一个分区pe块上的数据转移到另一个分区的pe块上
  例:pvmove  /dev/sda10 /dev/sda11
  首先分割出4个分区,通过pvcreate创建pv。在划分分区时,注意要将systemID改成8e(即Linux LVM)
DSC0000.jpg

  创建pv(pvcreate /dev/sda{10,11,12,13})
   DSC0001.jpg
  

  
  2)VG阶段。
  VG阶段使用到的命令:
  1、vgcreate:创建VG(-s:指定pe块大小)
  例:vgcreate [-s N[mgt]] vg名称  所使用的pv
  2、vgscan:简要显示系统上的vg信息
  3、vgdisplay:显示vg的状态
  4、vgextend:在VG上增加额外的pv(扩展VG)
  5、vgreduce:在VG上移除pv(缩减VG)
  6、vgchange:设定VG是否启动
  7、vgremove:删除VG
  将前3个pv组成一个vg,指定pe大小为8M(vgcreate -s 8m babyVG /dev/sda{10,11,12})
   DSC0002.jpg
  VG创建完成,VG可以通过添加pv或者删除pv来动态的扩大(vgextend)和缩减(vgreduce)。
   DSC0003.jpg
  上图将/dev/sda10这块pv从babyVG中移除,VG容量变为6G,再给他添两块/dev/sda10与/dev/sda13
   DSC0004.jpg
DSC0005.jpg

  通过pvscan查看pv信息,4块pv已经全部属于babyVG。
  3)LV阶段。
  LV阶段涉及到的命令:
  1、lvcreate:创建lv
  例:lvcreate [-l N] [-L size] [-n lvname] VGname
  -l:后面指定pe数量
  -L:size指定lv大小(-l与-L选择一个指定大小即可)
  -n:后面接lv名称
  2、lvscan:查看系统上的lv
  3、lvdisplay:显示lv状态
  4、lvextend:扩大lv容量
  例:lvextend [-l +N] [-L +size[mg]]
  -l:后面指定pe数量,+100
  -L:size指定要增加的大小 +3G
  5、lvreduce:缩减lv容量
  例:lvreduce [-l -N] [-L -size[mg]]
  -l:后面指定pe数量,-100
  -L:size指定要缩减的大小 -3G
  6、lvresize:重新设置lv容量
  例:lvresize [-l N] [-L size[mg]]
  -l:重新设置lv的pe数量
  -L:重新设置lv大小
  7、lvremove:删除lv
  创建一个LV,进行格式化,挂载。
DSC0006.jpg

  lv创建完毕,大小5G
   DSC0007.jpg
  这样就挂载完毕,这个文件系统就可以正常使用了。
  LV的访问路径
  1、/dev/VG_NAME/LV_NAME
  2、/dev/mapperVG_NAME-LV_NAME
  此两者均为符号链接,指向的文件是/dev/dm-N(/dev/dm-0,/dev/dm-1.....)
  4)扩大LV
  如果哪一天babyLV这个分区的容量不够了,可以对babyLV 这个分区进行扩容,如果VG不够大,可以先对VG进行扩容,lv的扩容可以在线进行,不需要umount文件系统。
  在扩大LV时,可以使用的命令很多:
  1、lvextend -l +N                #添加N个PE块
  2、lvextend -L +size(mg)    #直接指定添加的大小(单位为M或G)

  3、lvresize -l N                    #重新设置该lv的大小为多少个PE块
  4、lvresize -L size(mg)       #重新设置该lv的大小(单位为M或G)
   DSC0008.jpg
  

DSC0009.jpg

  可以看到文件系统依旧是5G,这时需要使用resize2fs命令重新设置文件系统大小
[root@xiaoxiao mnt]# resize2fs /dev/babyVG/babyLV  重新设置文件系统之后,该分区的大小即可变为7G。
  

  5)缩小LV
  如果LV过大,可以缩减LV。如果VG的使用率很低,可以将个别pv从中抽离。在缩减LV时需要注意,要先卸载文件系统,然后对文件系统进行强制检测(fsck -f),然后减小文件系统的容量(resize2fs),之后才可以减小LV的大小。
DSC00010.jpg

  在缩减LV时,文件系统缩小的容量可能无法和LV缩小的容量完全一样,但是整个过程中LV的容量必须大于文件系统的容量,所以这里文件系统缩小之后容量可以稍稍小于LV缩小之后的容量,缩减完毕后,再resize2fs至LV的大小以充分利用空间。我这里现将文件系统resize2fs至3G,等完成之后在resize2fs至LV的大小(4G)
   DSC00011.jpg
  这时候VG利用率不高,假如我想腾出/dev/sda11用于其他地方
   DSC00012.jpg
   DSC00013.jpg
  可以看见建立在/dev/sda11上的pv中的pe块都写有数据,不能直接将其移除,可以将/dev/sda11上写有数据的pe块都转移至/dev/sda13上,因为/dev/sda13上的pe块都未被使用。
   DSC00014.jpg
  可以看见所有的pe都已经转移至/dev/sda13,然后就可以对其进行移除了。
   DSC00015.jpg
  
  /dev/sda11已经从babyVG中移除。
  6)快照
  可以对VG上的某一个LV进行快照,快照那一刻该LV上的系统信息就会被记录下来。可以手动分配快照的大小,一般是小于等于被快照的LV大小。该LV上的某个pe上的数据发生了更改,原始的pe就会被移送至快照区域,没有发生更改的pe块则被LV上的文件系统和快照共享。当然,如果被修改的数据的总容量大于快照区的容量,快照就会失效。由于LV和快照共享很多pe块,所以快照区必须和被快照的LV在同一个VG上。来建立一个快照。
  命令:lvcreate -s [-l N][-L size] -n 快照名 /dev/......(被快照的LV)
   DSC00016.jpg

  快照创建完成。
   DSC00017.jpg
  将快照进行挂载之后,快照的信息与别快照的LV一模一样(包括里面的数据)。当然,也可以将被快照的LV当做备份,把所有的测试放到快照区域中,测试完了即可将快照删除,不会影响被快照的LV中的数据。这也是个不错的选择。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-479862-1-1.html 上篇帖子: Linux日常问题点 下篇帖子: Linux 关于lsof的用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表