LVM基本应用,扩展及缩减应用

  • 什么是LVM 1.LVM(Logical Volume Manager)逻辑卷管理是在linux2.4内核以上实现的磁盘管理技术。它是linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是在linux系统上可以使用LVM这种磁盘管理机制,对于其他的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件 2.LVM的工作原理其实很简单,它就是将底层的物理磁盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再针对对分区进行操作,而是通过一个叫逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层服务是感觉不到的,因为呈现给上层服务是以逻辑卷的方式。
  • LVM的优缺点 1.优点: ①.可以在系统运行的状态下动态的扩展文件系统的大小。 ②.文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。 ③.可以增加新的磁盘到LVM的存储池中。 2.缺点:②.当卷组中的一个磁盘损坏时,整个卷组都会受到影响。 ①.在从卷组中移除一个磁盘的时候必须使用reducevg命令(这个命令要求root权限,并且不允许在快照卷组中使用)。 ②.当卷组中的一个磁盘损坏时,整个卷组都会受到影响。 ③.因为加入了额外的操作,存贮性能受到影响。
  • LVM的名词解释 如上图所示: 1.PV(物理卷) PV物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区,磁盘等)比较,却包含有与LVM相关的管理参数 2.VG(卷组) LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成,可以在卷组上创建一个或多个"LVM分区"(逻辑卷),LVM卷组由一个或多个物理卷组成。 3,LV(逻辑卷) LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home,或者/usr等) 4.PE(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候制定(默认为4MB),如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。 VG,PE,LV之间的关系如下:
  • LVM的实现
1.首先先创建PV:
    与PV相关的管理的有:pvcreate,pvdisplay,pvs,pvscan,pvremove,pvmove
   	 pvcreate:将实体partition创建成为PV;
   	 pvscan:搜寻目前系统里面任何具有PV的磁碟;
   	 pvdisplay:显示出目前系统上面的PV标志
   	 pvremove:将PV属性移除,让该partition不具有PV属性.
   	 (1):先准备块设备,
   	 (2):然后创建pv:pvcreate [-f] /dev/sda{4,5,6}
   	 (3):查看pv信息:pvdisplay  /dev/sda{4,5,6}
2.创建VG:
  ```

与VG相关的一些管理命令: vgcreate:就是主要创建VG的命令, vgscan:搜寻系统上面是否有VG存在 vgdisplay:显示系统上面的VG的状态 vgextend:在VG内添加额外的PV vgreduce:在VG内移除PV vgchange:配置VG是否启动(active) vgremove:删除一个VG (1)新增一个vg,并指明其包含哪个或哪些pv实现: vgcreate VGNAME /dev/PV1 ... -s|--physicalextentsize Size[m|UNIT] -t|--test -v|--verbose ... (2)此时如果想要增加VG的容量: vgextend VG_NAME /dev/sda# vgdisplay

    3.创建LV:
     ```
  与LV相关的一些管理命令有:
			 lvcreate:创建lv
			 lvscan:查询系统上的lv
			 lvdisplay:显示系统上的LV的状态
			 lvextend:在LV里面添加容量
			 lvreduce:在LV里面减少容量
			 lvremove:删除一个LV
			 lvresize:对LV进行容量大小的调整
			 lvcreate的用法:
			    lvcreate -L|--size Size[m|UNIT] -L|--size Size[m|UNIT]
	4.文件系统阶段:
	  ```

要想真正的使用lvm就必须对lv进行格式化挂载 (1)mkfs -t ext3 /dev/NAME_VG/NAME_LV (2)mkdir /mnt/lvm (3)mount /dev/NAME_VG/NAME_LV /mnt/lvm

* 扩容LV

1.用fdisk配置新的具有system ID的partiton 2.利用pvcreate创建PV 3.利用vgextend将PV加入VG_NAME 4.利用lvresize将新的加入的PV内的PE加入VG_NAME中 5.透过resize2fs将文件系统的容量重新添加

  • 缩减LV 1.先卸载已经挂载的LV 2.强制进行磁盘检测:e2fsck -f /dev/VG_NAME/LV_NAME 3.resizefs /dev/VG_NAME/LV_NAME 500M(逻辑边界缩减) 4.lvreduce -L 500M /dev/VG_NAME/LV_NAME 5.mount /dev/NAME_VG/NAME_LV /mnt/lvm