设为首页 收藏本站
查看: 851|回复: 1

[经验分享] 磁盘管理之LVM

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-7-25 09:06:08 | 显示全部楼层 |阅读模式

一、LVM概述

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physical volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

    每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估 计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。

    虽然现在有 很多动态调整磁盘的工具可以使用,例如PartationMagic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要 重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解 决问题。

    因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑盘卷管理(LVM,LogicalVolumeManager)机制就是一个完美的解决方案。


二、相关术语及相关命令

    1、Physical Volume,PV,物理卷

        创建分区后需要调整磁盘类型为8e,再用pvcreate命令转换成底层物理卷(PV),之后才能加以利用创建卷组 。

        1)pvcreate:将物理分区创建成物理卷;

            使用格式:pvcreate /path/to/divice

            pvcreate /dev/sdb1 /dev/sdc1 也可以写成 pvcreate /dev/sd{b,c}1

        2)pvscan:扫描当前系统所有PV盘;

        3)pvdisplay:查看当前系统上面PV的状态,

            pvdisplay或者pvdisplay /dev/sdb1

            pvs:可以查看PV的简单属性

        5)pvmove:将指定PV的数据转移至其他PV

            pvmove /dev/sdc1

        6)pvremove:删除PV,让该分区不具有PV属性

            pvremove /dev/sdc1

    2、Volume Group,VG,卷组

        卷组是在物理卷的基础之上,组合多个物理卷而成的,就是卷组(VG),卷组的基本单位就是PE,也叫基本单元,卷组类似于磁盘的扩展分区,不能直接格式化挂载使用,需要在上面在创建逻辑卷(LV),之后才能使用。

        1)vgcreate:创建卷组

            -s:制定PE大小

        2)vgscan:扫面卷组

        3)vgdisplay:查看卷组属性

        4)vgextend:扩展卷组

        5)vgeduce:缩减卷组

        6)vgremove:删除卷组

        Physical Extend,PE,物理盘区

            卷组的基本单位,类似于磁盘的块block,默认大小时4M,卷组(VG)切割逻辑卷(LV)就是通过划分PE来实现的。

    3、Logical Volume,LV,逻辑卷

        最后把卷组(VG)切割成逻辑卷(LV)之后就能像分区一样格式化,挂载使用了!

        1)lvcreate:创建逻辑卷

            -L:指定大小,可以用M,G,T例如:lvcreate -L 5G /path/to/lv

            -l:制定PE个数,也可以制定逻辑卷的大小,与-L用法相同

            -n:制定逻辑卷名

          lvcreate -L SIZE -n LV_NAME VG_NAME

        2)lvscan:扫描逻辑卷

        3)lvdisplay:查看逻辑卷属性

        4)lvextend:扩展逻辑卷

        5)lveduce:缩减逻辑卷物理边界

        6)lvremove:删除逻辑卷

        7)lvresize:缩减逻辑卷的逻辑边界

    4、Snapshot,快照卷

    快照就是将当时的系统状态信息记录下来,就好像照相一般。此后有任何数据改动,则被改动的数据的原始数据会被移动到快照卷,没用改动的数据则与源文件系统共享。

        lvcreate

            -s:使用-s选项创建快照卷

            -p r:限定快照卷为只读访问

            -n:制定快照卷名

        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

    5、命令汇总:


操作
PV阶段
VG阶段
LV阶段
扫描(scan)
pvscan
vgscan
lvscan
新建(create)
pvcreate
vgcreate
lvcreate
查看(display)
pvdisplay|pvs
vgdisplay|vgs
lvdisplay|lvs
扩展(extebd)
​
vgextend
lvextend
缩减(educe)
​
vgreduce
lvreduce
删除(remove)
pvremove
vgremove
lvremove
逻辑卷逻辑边界
​
​
resize2fs

四、创建逻辑卷(LV)

    1、修改物理分区类型

    先将普通磁盘分区转换成8e格式,如图所示,要将所需分区逐一转换成8e

145944658.png

    2、创建物理卷(PV)

    转换完成后开始创建物理卷,把sdb5和sdc5创建成物理卷

152403112.png

    3、创建卷组(VG)

    创建完物理卷后就可以创建卷组了,卷组名为myvg,指定PE大小为8M

153823354.png

    4、创建逻辑卷

    然后再创建逻辑卷

154520694.png

    5、挂载逻辑卷

    现在就可以格式化逻辑卷lv1,并挂载使用了

155100749.png

五、扩展卷组(VG)

  1、首先准备好一个pv

    2、然后使用vgextend命令即可完成扩展;vgextend VG_NAME /path/to/path

155604703.png

    VG已经轻松扩展成30G了,是不是很简单啊?

六、缩减卷组(VG)

1、确定要移除的pv;

    2、将此pv上的数据转移到其他pv;我们可以用一条命令来实现,

    要注意的是缩减后不能小于卷组上逻辑卷的总大小!转移完数据后卷组大小是不变的

    160701385.png

3、转移数据后就可以将,sdb5移除了,命令:vgredue VG_NAME /path/to/pv

161408733.png

    成功将sdb5从myvg中移除

七、扩展逻辑卷(LV)

1、确定扩展多大?

    2、扩展 将lv1扩展到8G

        1)扩展物理边界lvextend -L [+]SIZE /path/to/lv

162910593.png

        2)扩展逻辑边界 resize2fs /path/to/device

163213746.png

    3、检测文件系统

        扩展完逻辑卷后要检测文件系统是否有错误

        fsck

        e2fsck [-t fs_type][-f][-p] /path/to/device

        

八、缩减逻辑卷(LV)

1、逻辑卷缩减有风险,确定缩减大小?前提是,至少能容纳原有的所有数据。

    2、缩减:将lv1缩减到3G

        1)卸载并强行检测文件系统;

        umount /dev/myvg/lv1

        e2fsck -f /dev/myvg/lv1或fsck -f /dev/myvg/lv1

        2)缩减逻辑边界

        resize2fs /path/to/device SIZE

165636592.png

        3)缩减物理边界

        lvreduce -L [-]SIZE /path/to/device

170412849.png

    缩减后也要进行文件系统检测,我这里是实验环境,没有检测

九、快照卷

    1、创建快照卷

        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

        lvcreate -L 50M -s -p r -n lv1-snap /dev/myvg/lv1

172106472.png

    2、只读方式挂载快照卷

172625422.png

    挂载之后就可以备份数据了。

十、移除逻辑卷

    1、快照卷备份使用完后就可以删除了

    umount /dev/myvg/lv1-snap

    lvremove /dev/myvg/lv1-snap



运维网声明 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.iyunv.com/thread-7785-1-1.html 上篇帖子: inotify+rsync解决实时同步 下篇帖子: linux高级文件系统管理之逻辑卷管理(LVM)

尚未签到

发表于 2013-10-22 09:43:03 | 显示全部楼层
不要在一棵树上吊死,在附近几棵树上多试试死几次~

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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