10-3 LVM(逻辑卷管理器)

LVM(逻辑卷管理器)

  • 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小
  • 允许在多个物理设备间重新组织文件系统
    • 将设备指定为物理卷
    • 用一个或者多个物理卷来创建一个卷组
    • 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
    • 在物理卷上创建的逻辑卷是由物理区域(PE)组成
    • 可以在逻辑卷上创建文件系统

10-3 LVM(逻辑卷管理器)

层次关系:

  1. 先由硬盘或者分区生成pv(物理卷)
  2. 再由pv生成vg(卷组)
  3. 再由vg生成lv(逻辑卷)

LVM介绍

  • LVM: Logical Volume Manager, Version 2
  • dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块
  • 设备名:/dev/dm-#
  • 软链接:
    • /dev/mapper/VG_NAME-LV_NAME
      • /dev/mapper/vol0-root
    • /dev/VG_NAME/LV_NAME
      • /dev/vol0/root

更改文件系统的容量

LVM可以弹性的更改LVM的容量:
通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量

pv管理工具:

  • 显示pv信息
    • pvs:简要pv信息显示
    • pvdisplay
  • 创建pv
    • pvcreate /dev/DEVICE
  • 删除pv
    • pvremove /dev/DEVICE

vg管理工具:

  • 显示卷组
    • vgs
    • vgdisplay
  • 创建卷组
    • vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
    • PhysicalDevicePath [PhysicalDevicePath...]
  • 管理卷组
    • vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
    • vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  • 删除卷组
    • 先做pvmove,再做vgremove

lv管理工具:

  • 显示逻辑卷
    • lvs
    • Lvdisplay
  • 创建逻辑卷
    • lvcreate -L #[mMgGtT] -n NAME VolumeGroup
    • lvcreate -l 60%VG -n mylv testvg
    • lvcreate -l 100%FREE -n yourlv testvg
  • 删除逻辑卷
    • lvremove /dev/VG_NAME/LV_NAME
  • 重设文件系统大小
    • fsadm [options] resize device [new_size[BKMGTEP]]
    • resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
    • xfs_growfs /mountpoint

扩展和缩减逻辑卷

(ext系列文件系统支持缩减,xfs文件系统不支持缩减)

  • 扩展逻辑卷:
    • lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
    • resize2fs /dev/VG_NAME/LV_NAME
    • lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME
  • 缩减逻辑卷:
    • umount /dev/VG_NAME/LV_NAME
    • e2fsck -f /dev/VG_NAME/LV_NAME
    • resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
    • lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
    • mount

创建逻辑卷示例

  • 创建物理卷
    • pvcreate /dev/sda3
  • 为卷组分配物理卷
    • vgcreate vg0 /dev/sda3
  • 从卷组创建逻辑卷
    • lvcreate -L 256M -n data vg0
    • mkfs.xfs /dev/vg0/data
  • 挂载
    • mount /dev/vg0/data /mnt/data

跨主机迁移卷组

  • 源计算机上
    • 1 在旧系统中,umount所有卷组上的逻辑卷
    • 2 禁用卷组
      • vgchange –a n vg0
      • lvdisplay
    • 3 导出卷组
      • vgexport vg0
      • pvscan
      • vgdisplay
      • 拆下旧硬盘
  • 在目标计算机上
    • 4 在新系统中安装旧硬盘,并导入卷组:vgimport vg0
    • 5 vgchange –ay vg0 启用
    • 6 mount所有卷组上的逻辑卷

逻辑卷管理器快照

  • 快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝
  • 对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适
    的选择
  • 快照只有在它们和原来的逻辑卷不同时才会消耗空间
    • 在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所改变才会使用这些空间
    • 当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
    • 快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的数据
    • 建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照
  • 快照就是将当时的系统信息记录下来,就好像照相一般,若将来有任何数据改动了,则原始数据会被移动到快照区,没有改动的区域则由快照区和文件系统共享
  • 由于快照区与原本的LV共用很多PE的区块,因此快照与被快照的LV必须在同
    一个VG中.系统恢复的时候的文件数量不能高于快照区的实际容量

使用LVM快照

  • 为现有逻辑卷创建快照
    • lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
  • 挂载快照
    • mkdir -p /mnt/snap
    • mount -o ro /dev/vg0/data-snapshot /mnt/snap
  • 恢复快照
    • umount /dev/vg0/data-snapshot
    • umount /dev/vg0/data
    • lvconvert --merge /dev/vg0/data-snapshot
  • 删除快照
    • umount /mnt/databackup
    • lvremove /dev/vg0/databackup
上一篇:【Java面试题】44 java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?


下一篇:linux共享上网设置