Linux系统逻辑卷管理

来源:互联网 发布:手机淘宝2015旧版本5.5 编辑:程序博客网 时间:2024/05/19 13:28

lvm

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz
Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版
1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

*物理卷(Physical Volume,PV)指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。*卷组(Volume Group,VG)类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。*逻辑卷(Logical Volume,LV)类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
  1. 1建立LVM
首先要fdisk建立分区,特别要注意的是Linux的LVM的格式为8e作之前用此命令监控watch -n 1 'pvs;echo ====;vgs; echo ====;lvs; echo ====;df -h /mnt'df -h /mnt                    ##查看/mnt可以使用的设备的情况1 fdisk /dev/vdb              ##建立分区2 pvcreate /dev/vdb1          ##将分区转化成物理卷3 vgcreate vg0 /dev/vdb1      ##把物理卷制作成一个物理组4 lvcreate -L 100M -n lv0 vg0 ##在这个物理组中建立出一个设备 -L 指定设备大小 -n 指定设备名字

这里写图片描述
这里写图片描述

5 mkfs.xfs /dev/vg0/lv0          ##格式化逻辑卷6 mount /dev/vg0/lv0 /mnt/       ##挂载逻辑卷

这里写图片描述

1.2 扩展LVM
注:在xfs系统中,xfs文件系统只能扩大不能缩减

1 lvextend -L 150M /dev/vg0/lv0     ##扩大lvm设备到150M2 xfs_growds /dev/vg0/lv0           ##将xfs文件系统扩大到设备一样大小3 fdisk /dev/vdb                    ##再建立一个分区4 partprobe                         ##同步分区信息表5 pvcreate /dev/vdb2                ##在pv中增加一块设备6 vgextend vgo /                    ##将新建立的设备增加到vg0中7 lvextend -L 300M /dev/vg0/lv0     ##扩大到300M8 xfs_growfs /dev/vg0/lv0           ##将xfs文件系统扩大到设备

这里写图片描述

这里写图片描述

这里写图片描述

  1. 3收缩LVM
    注:xfs系统不能缩减,etx4系统可以,所以进行缩减的时候,先将xfs格式文件转化为ext4,格式化前必须取消挂载
1 umount /mnt/                  ##取消挂载2 e2fsck -f /dev/vg0/lv0        ##检测磁盘内容防止内容丢失3 resize2fs /dev/vg0/lv0 200M   ##磁盘分区缩减4 mount /dev/vg0/lv0 /mnt/      ##挂载5 lvreduce -L 200M /dev/vg/lv0  ##磁盘设备缩减到200M

这里写图片描述
这里写图片描述

  1. 4LVM快照
1 umount /mnt/                                  ##取消挂载2 lvcreate -L 40M -n lvmkz -s /dev/vg0/lv0      ##快照大小一般是原设备的1/5, -s是模板对象3 mount /dev/vg0/lvmkz /mnt/                    ##挂载4 umount /mnt/                                  ##取消挂载5 lvremove /dev/vg0/lvmkz                       ##删除快照6     lvcreate -L 20M -n lvmkz -s /dev/vg0/lv0  ##重新拍照   .......下图可知在拍照前建立的文件,删除后,再拍照可以恢复。因为挂载到上面的只是数据备份,删除了也不会影响原文件。但是在照片之后的会被永久性删除。

这里写图片描述

  1. 4删除LVM
    删除顺序和建立顺序相反umount /mnt/
    umount /mnt/
1 df2 umount /mnt/3 df4 lvremove /dev/vg0/lvmkz            ##删除快照5 lvremove /dev/vg0/lv0              ##删除逻辑卷6 vgremove  vg0                      ##删除物理组7 pvremove  /dev/vdbn(n=1..n-1,n)    ##删除物理卷8 pvs9 vgs10lvs

这里写图片描述