第五章 第三节 LVM 4.17

LVM(逻辑磁盘管理)

   LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

   磁盘管理机制,可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。

    如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。

LVM包括 LV、(LE、) VG、(PE、) PV

  PV(Physical Volume)--物理卷

      在逻辑卷管理中处于最底层------->实际物理硬盘的分区、整个物理硬盘、raid设备

 VG(Volume Group)--卷组

      在 PV 之上,一个 VG 至少包括一个 PV,可在建立之后动态添加 PV。

     一个逻辑卷管理系统中,可有一个卷组,也可多个

LV(Logical Volume)--逻辑卷

    在 VG 之上,VG中未分配的空间可用于建立新的 LV,LV建立后可动态扩展和缩小空间。

    多逻辑卷可属于一个卷组,也可属于多个卷组

PE(Physical Extent)--物理块

   LVM默认使用4MB的PE区块。PE是整个LVM最小的储存区块

模拟raid5、分区、物理硬盘三种类型设备创建PV、VG、LV

  raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘添加八块硬盘

1、 安装LVM管理工具

检查系统中是否安装LVM管理工具

rpm –qa | greplvm

若未安装,则使用yum方式安装

   yum –y install lvm*

   rpm –qa | grep lvm

2、 四个硬盘新建一个raid5设备

新建分区(一个)并修改分区类型(fd)

     创建raid5 :mdadm –C/dev/md5 –ayes -l5 –n3 –x1 /dev/sd[b,c,d,e]1 -à

     添加配置文件并修改:

          echo DEVICE /dev/sd{b,c,d,e}1>> /etc/mdadm.conf

               mdadm –Ds >>/etc/mdadm.conf

格式化磁盘阵列:mkfs.exit4 /dev/md5

挂载:mkdir /mnt/raid5

         Mount /dev/md5 /mnt/raid5     

将挂载的信息写入/etc/fstab文件中。然后重启reboot ,再df -h

3、 一个硬盘创建一个分区(不用改类型)

4、 创建PV(创建之前需将/dev/md5解除挂载)

      pvcreate /dev/md5 /dev/sdf1/dev/sdg

查看PV

  pvdisplay 或者 pvs 或者 pvscan

5、 创建VG

  vgcreate vg0 /dev/md5 /dev/sdf1 /dev/sdg

     vg0是创建的VG设备名称。可以随便取

查看VG

    vgdisplay或者 vgs 或者 vgscan

6、 创建LV

lvcreate –L 5G –n lv1 vg0

-L:指定创建的LV的大小

-l:指定创建的LV的PE 数量

-n:LV的名字

上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

查看LV信息:

  lvdisplay

LV Path:LV的路径,全名

LV Name:LV的名字

VG Name:所属的VG

LV SizeLV:大小

再看VG的信息:vgs-->空余空间减少

7、 格式化LV

   mkfs.ext4 /dev/vg0/lv1

8、 挂载使用

   mkdir /mnt/lv1

   mount /dev/vg0/lv1 /mnt/lv1

将挂载信息写入/etc/fstab

二、LVM的扩容操作

1、 LV的扩容

查看vg0的剩余容量

对lv1进行扩容:lvextend –L +1G /dev/vg0/lv1(在lv1的原有基础上增加1G)

df –h 查看实际的磁盘容量(并没有变化)à 需对文件系统扩容

对文件系统进行扩容

  Resize2fs /dev/vg0/lv1

  df –h 以增加了

   查看测试数据

2、 VG的扩容

两种方法:

A.创建PV,然后对VG扩容

  pvcreate /dev/sdh

  vgetend vg0 /dev/sdh

B.向raid5 中新加一块硬盘;/dev/md5的大小变化后,调整PV的大小

  mdadm/dev/md5 –a /dev/sdh

  pvresize /dev/md5

三、LVM的缩减操作

1、 LV的缩减

A.  umount 文件系统:umount /mnt/lv1

B.  缩减文件系统:resize2fs /dev/vg0/lv1 1G

C.  检查磁盘:e2fsck –f /dev/vg0/lv1

D.  缩减LV:lvreduce/dev/vg0/lv1 –L 1G

      C与D缩减的大小必须一致

            1G表示缩减到1G

             -1G表示缩减了1G

E.挂载查看:

            mount/dev/vg0/lv1 /mnt/lv1  ;   df –h

F.查看测试数据

2、 VG的缩减

A.  unount 文件系统:umount /mnt/lv1

查看当前的PV详情:pvs

B.  从/dev/sdg 从vg0中移除

vgreduce vg0 /dev/sdg

查看vg0、pv的情况:vgs、pvs

四、删除LVM

umount 系统:umount /mnt/lv1

移除LV:lvremove /dev/vg0/lv1

移除VG:vgremove vg0

移除PV:pvremove /dev/md5 /dev/sdf1 /dev/sdg /dev/sdh

五、LVM快照

1、建立LV

2、创建快照:lvcreate –L 80M –s –n lv1snap /dev/vg0/lv1

3、将创建的快照挂载到/mnt/snapshot(会与/mnt/lv1里的东西一模一样)

4、对snapshot里的资料打包备份,准备还原:

   cd /mnt/snapshot   ;  tar zcvf /tmp/lvm.tar.gz

5、卸载并移除snapshot:umount/mnt/snapshot

6、卸载并格式化/mnt/lv1,清空数据:

   umount /mnt/lv1    ;   mkfs.ext4 /dev/vg0/lv1

7、恢复数据:

  挂载lv : mount /dev/vg0/lv1 /mnt/lv1

  解压:tar zxvf /tmp/lvm.tar.gz –C /mnt/lv1

 

猜你喜欢

转载自blog.csdn.net/caojm0/article/details/80005374