Chinaunix首页 | 论坛 | 博客
  • 博客访问: 395158
  • 博文数量: 85
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1707
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-27 11:18
个人简介

学无止境……

文章分类

全部博文(85)

分类: LINUX

2014-10-23 15:38:38

LVM图解


PE = Physical Extent (默认为4M)
PV = Physical Volume
VG = Volume Group
LV = Logic Volume

  1. +------------PV----------------+ +-------------PV---------------+
  2. /dev/sda <--- | ____ ____ ____ ____ | | ____ ____ ____ ____ | ---> /dev/sdb
  3. | |PE| |PE|....|PE| |PE| | .... | |PE| |PE|....|PE| |PE| |
  4. +------------------------------+ +------------------------------+
  5. | |
  6. | |
  7. \_/ \_/
  8. +---------------------------VG----------------------------+
  9. | ____ ____ ____ ____ ..... ____ ____ ____ |
  10. | |PE| |PE| |PE| |PE| ..... |PE| |PE| |PE| |
  11. +---------------------------------------------------------+
  12. | | |
  13. | | |
  14. \_/ \_/ \_/
  15. +------LV1-----+ +------LV2-----+ +------LV3-----+
  16. | ____ ____ | | ____ ____ | | ____ ____ |
  17. | |PE| .. |PE| | | |PE| .. |PE| | | |PE| .. |PE| |
  18. +--------------+ +--------------+ +--------------+

LVM创建流程

从上面的图解中,我们可以三步创建出 LV:

  1. 1.把磁盘初始化为PV ---> 2.基于PV创建VG ---> 3.VG内划分LV

创建出LV后即作为系统可用的逻辑磁盘,可在上面创建文件系统后挂载使用。

  1. 4.LV上创建文件系统 ---> 5. 挂载/使用

LVM实战

战场一: 空磁盘划分LVM,并挂载使用.
  1. 1. #fdisk -l --- 查看磁盘信息
  2. 2. #pvcreate /dev/sdb /dev/sdc  --- 初始化磁盘为物理卷
  3. #pvdisplay
  4. 3. #vgcreate vg_name /dev/sdb /dev/sdc --- 把物理卷中的 PE 添加至卷组中
  5. #vgdisplay
  6. 4. #lvcreate -n lv_name -L 4G vg_name --- 从 VG 取出所需的 PE 创建 LV,创建好的 LV 将在 /dev/vg_name/lv_name 中
  7. #lvdisplay
  8. 5. #mkfs.ext4 /dev/vg_name/lv_name --- 在 LV 上创建文件系统
  9. 6. #mount /dev/vg_name/lv_name /mount_point --- 挂载 LV 就可以使用了
战场二: 逻辑卷拉伸

拉伸逻辑卷前,首先要确保 VG 中剩余足够多的PE.,如果 VG 有足够的PE ,则不需要重新创建PV来拉伸VG.

① 首先拉伸卷组:

  1. 准备好新磁盘,并格式化为 PV,为拉伸卷组提供PE

    1. #pvcreate /dev/sdd
  2. 把新创建的 PV 并入 VG

    1. #vgextend vg_name /dev/sdd
    2. #vgdisplay

② 再扩容 LV

  1. #lvextend -L +10G /dev/vg_name/lv_name
  2. #lvdisplay

③ 最后更新文件系统.(文件系统可能不能自动识别 扩容的LV,需要手动更新)

  1. #resize2fs /dev/vg_name/lv_name
战场三: 逻辑卷缩小

逻辑卷的缩小必须严格按照步骤来,否则将损坏数据.

  1. 首先卸载挂载的 LV

    1. #umount /dev/vg_name/lv_name
  2. 然后缩小文件系统

    1. #resize2fs /dev/vg_name/lv_name 5G
  3. 最后才缩小 LV

    1. #lvreduce -L -5 /dev/vg_name/lv_name
  4. 重新挂载 LV 使用

    1. #mount /dev/vg_name/lv_name /mount_point
战场三: 卸载加入到 VG 中的 PV

同缩小逻辑卷一样,需要注意:确保整个系统所剩空间充足. 避免数据的损坏

  1. ##pvmove /dev/sdd /dev/sdb --- 将sdd中的数据传到sdb中
  2. #vgreduce vg_name /dev/sdd --- 把sdd从 vg 中移除
  3. #vgdisplay

注意事项:

  1. 使用 fdisk 工具格式化过的硬盘分区不能创建 LVM
  2. 除非必要,尽量不要缩小 LVM 相关单元.操作过程中一定要注意系统磁盘剩余空间




阅读(1606) | 评论(0) | 转发(0) |
0

上一篇:编译OpenWrt - 索引

下一篇:没有了

给主人留下些什么吧!~~