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

[经验分享] lvm(逻辑卷管理)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-22 08:41:23 | 显示全部楼层 |阅读模式
   在上一篇博客中讲了lvm相关知识、如何创建逻辑卷、如何扩展和缩减逻辑卷,接下来要讲的是lvm的第二个魅力所在:支持快照功能,使得对于数据库的备份变得更加简便。
    一、lvm的快照(snapshot)功能介绍

对于一个繁忙的系统,如一些在线的购物系统,要对其数据库进行备份是件很麻烦的事。对数据库备份,一般都要在离线的情况下进行,而对于那些繁忙的系统来说,它们的数据甚至每时每刻都在变化。如果为了对其数据库进行备份,而让繁忙的系统离线一段时间,那就会出大问题的,公司亏损不起啊!这些系统的数据每时每刻都在更新、都有可能会被用到,又不能离线,要想对其进行数据库备份,那该怎么好呢?这时候就体现出lvm快照功能的好处了!   
    那么,接下来,我们来说说lvm的快照功能是怎么的一回事:
    站在逻辑卷的角度来看,快照其实是个快照卷。
    快照卷能对目标逻辑卷做一次快照,做完快照后,快照卷拥有了对目标逻辑卷的一条访问通路。
    快照卷刚开始的存储空间里其实是空的,并不存有任何数据,做完快照的那一刻起,当目标逻辑卷里的数据要发生改变时,就会把要改变的数据复制到快照卷中,复制完后,要改变的数据就在目标逻辑卷中任由它改变,而不发生改变的数据仍然留在目标逻辑卷中。
    因此通过快照读取数据,就能在快照卷中读取到改变之前的数据,更能通过那条访问通路进入目标逻辑卷读取到从没有发生改变的数据,从而造成的结果是:能通过快照读取到做成快照那一刻的数据(也就是改变前的数据)。
    因而当你创建一个快照卷时,不需要创建和目标逻辑卷一样的大小的快照卷,快照卷的大小取决于有多少数据需要改变和你希望保留lvm快照多长时间。而当目标逻辑卷的改变量超出了快照卷的大小时,快照卷就会面临崩溃。快照卷仅是为了对数据进行备份而创建的,没有永存的概念,用完了就会被释放。
        注意:快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组;
    wKiom1PL2oHCLqhnAAGntbgT-I0824.jpg

    由此,我们知道快照使得数据库备份变得更加简单、便捷:对于一个繁忙的系统,要对其进行数据库备份,可以让系统离线极短的一段时间(不影响系统运行),然后对其做一个快照,就能正常便捷地备份数据库了,而不会对系统造成不便的影响。

    二、快照卷
     创建快照卷的命令介绍:
        因快照卷也是逻辑卷,所以创建快照卷的命令也是lvcreate。

        lvcreate
            -L 指定快照卷的大小
            -n 指定快照卷的名称
            -s  创建快照卷
            -p r 指定访问权限(快照只能读)
        再次提醒:快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组;
     为了让各位读者能够更好地理解快照卷是怎么创建、怎么用的,以下用实例来讲解:

     1、创建快照卷
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    [iyunv@localhost mnt]# mount     # mylv逻辑卷已经挂载在/mnt目录下
    /dev/mapper/myvg-mylv on /mnt type ext4 (rw)
    [iyunv@localhost mnt]# ls
    issue  lost+found
    [iyunv@localhost /]# lvcreate -s -L 200M -p r -n mylv-snap /dev/myvg/mylv  # 对逻辑卷mylv创建快照卷
    Logical volume "mylv-snap" created
    [iyunv@localhost /]# ls /dev/myvg/  # 快照卷和目标逻辑卷在同一个卷组中
    mylv  mylv-snap
    [iyunv@localhost /]# lvs
    LV        VG   Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
    mylv      myvg owi-aos---   5.00g                                             
    mylv-snap myvg sri-a-s--- 200.00m      mylv     0.01             # 快照卷              
    root      vg0  -wi-ao----  20.00g                                             
    swap      vg0  -wi-ao----   2.00g                                             
    usr       vg0  -wi-ao----  10.00g                                             
    var       vg0  -wi-ao----  20.00g



    2、挂载快照卷

        要想使用快照卷,一样要先挂载。
1
2
3
4
5
6
7
8
9
    [iyunv@localhost ~]# mount -o ro /dev/myvg/mylv-snap /media  # 挂载快照卷到/media目录下(-o ro 表示以只读的方式挂载)
    [iyunv@localhost media]# mount
    /dev/mapper/myvg-mylv on /mnt type ext4 (rw)
    /dev/mapper/myvg-mylv--snap on /media type ext4 (ro)
    [iyunv@localhost media]# ls
    issue  lost+found
    [iyunv@localhost media]# rm issue  # 快照卷是只读的,不能修改其文件
    rm: remove regular file `issue'? y
    rm: cannot remove `issue': Read-only file system



     3、验证快照卷的功能  
1
2
3
4
5
6
7
8
9
    [iyunv@localhost media]# cd /mnt   
    [iyunv@localhost mnt]# ls
    issue  lost+found
    [iyunv@localhost mnt]# cp /etc/fstab ./   # 目标逻辑卷中的数据发生了修改
    [iyunv@localhost mnt]# ls
    fstab  issue  lost+found
    [iyunv@localhost mnt]# cd /media
    [iyunv@localhost media]# ls    # 通过快照卷访问的数据还是改变之前的数据
    issue  lost+found



    三、巩固练习
好了,为了进一步加深理解,特留几道练习题,希望各位做得愉快! ~
         1、创建一个由至少两个物理卷组成的大小为10G的卷组;要求,PE大小8M;而后在卷组中创建大小为5G的逻辑卷mylv1,格式化为ext4文件系统,开机自动挂载至/users目录;
     2、新建用户gentoo,其家目录为/users/gentoo,而后su至gentoo用户,复制/etc/fstab文件至自己的家目录;
     3、扩展mylv1至7G,确保/users/gentoo的数据不受影响;而后su至gentoo用户,验正数据可正常访问;
     4、缩减mylv1至4G,确保/users/gentoo的数据不受影响;而后su至gentoo用户,验正数据可正常访问;
     5、对mylv1创建快照卷snap-mylv1,并通过其cp内部的数据至/backups/目录中,要求保留原有属主属组等信息;



运维网声明 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-22442-1-1.html 上篇帖子: ubuntu中把dash修改为bash,以便编译时候用sh简单 下篇帖子: cent OS 6.3 yum方式安装openldap,phppldapadmin,lam
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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