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

[经验分享] GNU/Linux下LVM配置管理以及快照卷、物理卷、卷组、逻辑卷的创建和删除

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-3 08:24:02 | 显示全部楼层 |阅读模式
LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。最大的优点是在不损伤数据的前提下调整存储空间的大小。
本篇主要讲述LVM的创建、LVM的扩展与缩减和快照卷的使用三部分

第一部分:LVM的创建
LVM创建的大致步骤为
1、将多个分区转化为多个物理卷PV(Physical Vomule)
   一个分区可以创建一个物理卷,可以在多块磁盘上创建物理卷。也可以做raid10磁盘阵列以后在做物理卷, 以    便有更快的读写及磁盘冗余。

2、将多个物理卷创建为卷组VG(Vomule Group)
3、将一个卷组VG划分为多个逻辑卷LV(Logical Vomule)

LVM创建的具体步骤:
第一步:创建LVM分区以及物理卷

1、检测有几块可用磁盘以及检查驱动器上空闲硬盘空间的总量
[iyunv@wlm ~]# fdisk -l | grep "Disk /dev/[sh]d[a-z]"

#检测有几块磁盘,以及磁盘信息
Disk /dev/sda: 21.5 GB, 21474836480 bytes
Disk /dev/sdb: 32.2 GB, 32212254720 bytes

[iyunv@wlm tmp]# df -h
#查看磁盘使用情况
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb3              28G  4.0G   23G  16% /
tmpfs                 504M     0  504M   0% /dev/shm
/dev/sdb1             194M  190M     0 100% /boot
磁盘/dev/sda没有使用

2、创建LVM分区
这里对fdisk以及分区就不详解了

使用fdisk /dev/sda创建两个分区
wKiom1TPduzCEqmUAAHgvEwW7dM394.jpg

将两块分区格式改为8e,w退出
wKiom1TPd7yzt7M-AACTMzJaqqw225.jpg

3、创建物理卷
将新创建的两个分区/dev/sda1 /dev/sda2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元
[iyunv@wlm tmp]# pvcreate /dev/sda1 /dev/sda2
  Physical volume "/dev/sda1" successfully created
  Physical volume "/dev/sda2" successfully created
[iyunv@wlm tmp]# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sda1       lvm2 a--  2.01g 2.01g
  /dev/sda2       lvm2 a--  3.01g 3.01g
[iyunv@wlm tmp]# pvdisplay
  "/dev/sda1" is a new physical volume of "2.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda1
  VG Name               
  PV Size               2.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               nhJsM3-RlXF-xTuH-vBKA-QZQA-1Hq3-fXUXS5

  "/dev/sda2" is a new physical volume of "3.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda2
  VG Name               
  PV Size               3.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               ppfWNr-39xt-XeN7-xrTt-b2G3-SlIO-tTcMYH

第二步:用两块物理卷创建卷组vg01

[iyunv@wlm tmp]# vgcreate vg01 /dev/sda{1,2}
  Volume group "vg01" successfully created
[iyunv@wlm tmp]# vgs
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   2   0   0 wz--n- 5.01g 5.01g
[iyunv@wlm tmp]# vgdisplay
  --- Volume group ---
  VG Name               vg01
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5.01 GiB
  PE Size               4.00 MiB
  Total PE              1283
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1283 / 5.01 GiB
  VG UUID               vaM594-DxAh-UCh0-RGU3-eEuX-ktQ5-NeRV31

第三步:创建一个逻辑卷。使用lvcreate命令在卷组中创建一个逻辑卷lv01,大小-L指定1G,名称-n指定lv01

[iyunv@wlm tmp]# lvcreate -L 1G -n lv01 vg01
  Logical volume "lv01" created
[iyunv@wlm tmp]# lvs
  LV   VG   Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  lv01 vg01 -wi-a---- 1.00g                                             
[iyunv@wlm tmp]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg01/lv01
  LV Name                lv01
  VG Name                vg01
  LV UUID                tnkXZJ-gRQK-nAke-XW6C-oycy-Voep-9hKnYA
  LV Write Access        read/write
  LV Creation host, time wlm, 2015-02-02 21:36:40 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

[iyunv@wlm tmp]# mkfs.ext4 /dev/vg01/lv01

第四部:挂载
[iyunv@wlm tmp]# mkdir /lv01
[iyunv@wlm tmp]# mount /dev/vg01/lv01 /lv01/
[iyunv@wlm tmp]# mount -s
/dev/sdb3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/mapper/vg01-lv01 on /lv01 type ext4 (rw)

便于以后服务器重启自动挂载,需要将创建好的文件系统挂载信息添加到/etc/fstab里面
为了查看/etc/fstab是否设置正确,可以先卸载逻辑卷data1,然后使用mount –a 使内核重新读取/etc/fstab,看是否能够自动挂载.
[iyunv@wlm tmp]# vim /etc/fstab
wKioL1TPgk_Sv4-ZAAHbEJQU6XA746.jpg
[iyunv@wlm tmp]# umount /lv01/

[iyunv@wlm tmp]# mount -s | grep "/lv01"
[iyunv@wlm tmp]# mount -a
[iyunv@wlm tmp]# mount -s | grep "/lv01"
/dev/mapper/vg01-lv01 on /lv01 type ext4 (rw)
至此,LVM的创建结束


第二部分:LVM的扩展与缩减


卷组的扩张

[iyunv@wlm ~]# vgextend vg01 /dev/sda3  #将物理卷/dev/sda3加入卷组vg01

  Volume group "vg01" successfully extended

逻辑卷的扩张:先扩张物理边界———在扩张逻辑边界
扩张物边界
命令:lvextend
       -L  [+]# /PATH/TO/LV
[iyunv@wlm tmp]# lvextend -L 2G /dev/vg01/lv01 要扩张到2G(扩张后的)
wKioL1TPhYnT-wxeAABeva34i9E701.jpg
扩展逻辑边界
resize2fs
       resize2fs  -p /PATH/TO/LV
[iyunv@wlm tmp]# resize2fs -p /dev/vg01/lv01 要扩张到2G(扩张后的)
wKioL1TPhZjQgUS3AADog55hmts773.jpg


逻辑卷的缩减,有风险,先缩减逻辑边界——在缩减物理边界
注意:1、不能在线缩减,得先卸载;
               2、确保缩减后的空间大小依然能存储原有的所有数据;
               3、在缩减之前应该强行检查文件,确保文件系统处于一致性状态

df –lh
umount  卸载
e2fsck -f /dev/vg01/lv01强行文件系统检查,看是否有问题

开始缩减
resize2fs  /PATH/TO/PV 1G

[iyunv@wlm ~]# resize2fs /dev/vg01/lv01 1G
resize2fs 1.41.12 (17-May-2010)
resize2fs: New size smaller than minimum (275802)

缩减(逻辑边界)为1G (缩减后的总共大小为1G)


lvreduce  -L [-]#  /PATH/TO/LV
[iyunv@wlm ~]# lvreduce -L 1G /dev/vg01/lv01
  WARNING: Reducing active and open logical volume to 1.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv01? [y/n]: y
  Reducing logical volume lv01 to 1.00 GiB
  Logical volume lv01 successfully resized
缩减(物理边界)为1G

mount   -a
重新挂在

第三部分:使用快照卷()

1、生命周期为整个数据时长:在这段时长内,数据的增长量不能超出快照卷大小;
2、快照卷应该是只读的;
3、跟原卷在同一卷组内;

lvcreate  -L #  -n  SLV_NAME -s  -p  r /PATH/TO/LV
   -L指定大小 –n名称    -s表示为快照卷    -p  只读  要做快照的源卷
[iyunv@wlm ~]# lvcreate -L 100M -n lv01_snap -s -p r /dev/vg01/lv01

  Logical volume "lv01_snap" created

[iyunv@wlm ~]# mount /dev/vg01/lv01_snap /mnt/
mount: block device /dev/mapper/vg01-lv01_snap is write-protected, mounting read-only

进行备份是可以从快照卷进行备份,备份完毕后可以卸载删除
[iyunv@wlm ~]# lvremove /dev/vg01/lv01_snap
Do you really want to remove active logical volume lv01_snap? [y/n]: y
  Logical volume "lv01_snap" successfully removed


管理LVM管理配置要用到的命令有:
     vgextend vg0 /dev/sdaz *将第三个物理卷添加进vg0物理卷组*
    fdisk -l :查看系统中都认到了那些物理硬盘
    pvdisplay:查看系统中已经创建好的物理卷
    pvcreate:创建一个新的物理卷
    pvremove:删除一个物理卷(也就是从物理卷中删除一个LVM标签)
    vgdisplay:查看系统中的卷组
    vgcreate:创建一个新的卷组
    vgreduce:从卷组中删除一个物理卷(也就是缩小卷组)
    vgremove:删除一个卷组
    lvdisplay:查看系统中已经创建好的逻辑卷
    lvcreate:创建一个新的逻辑卷
    lvreduce:缩小逻辑卷(也就是从一个逻辑卷中减少一些LE)
    lvremove:从系统中删除一个逻辑卷
    mkfs:基于逻辑卷创建一个相应类型的文件系统
    mkdir -p $mount_piont:创建一个挂载目录
    创建好的文件系统位于:
    /dev/$create_vg_name/$lv_name
    mount /dev/$create_vg_name/$lv_name $mount_piont:挂载文件系统
    lvextend -L 2G /dev/vg01/lv01 要扩张到2G(扩张后的物理边界)
    resize2fs -p /dev/vg01/lv01 要扩张到2G(扩张后的逻辑边界)




如果某一块磁盘或者分区故障了如何将数据快速转移到相同的卷组其他的空间去。

1、通过pvmove命令转移空间数据

2、通过vgreduce命令将即将坏的磁盘或者分区从卷组vgdata里面移除除去。

3、通过pvremove命令将即将坏的磁盘或者分区从系统中删除掉。

4、手工拆除硬盘或者通过一些工具修复分区。



删除整个逻辑卷

1、先通过umount命令卸载掉逻辑卷lvdata1

2、修改/etc/fstab里面逻辑卷的挂载信息,否则系统有可能启动不起来。

3、通过lvremove 删除逻辑卷lvdata1

4、通过vgremove 删除卷组vgdata

5、通过pvremove 将物理卷转化成普通分区。


删除完了,别忘了修改分区的id标识。修改成普通Linux分区即可。


总结:LVM逻辑卷是Linux里面一个很棒的空间使用机制,因为分区在没有格式化的情况下是没有办法加大或者放小的。通过LVM可以将你的磁盘空间做到灵活自如。





运维网声明 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-41841-1-1.html 上篇帖子: solaris10下看端口被哪个进程占用 下篇帖子: 在Ubuntu 14.04中使SublimeText 3支持中文输入法 中文输入法 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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