Linux lvm管理使用

Linux lvm管理使用

1.LVM概述

LVM是什么:LVM:Logical Volumn Manager(l逻辑卷管理)

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

 

2.LVM的功用:

 将一个或多个底层块设备映射成一个逻辑设备(底层设备可以是任意的块设备,支持使用RAID来创建LVM

 

3.LVM工作原理:

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在

2.LVM的功用:

 将一个或多个底层块设备映射成一个逻辑设备(底层设备可以是任意的块设备,支持使用RAID来创建LVM

 

3.LVM工作原理:

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。

 

4.LVM的特点:

 LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!

  

底层块设备:Block Device

  • PV: Physical Volume 物理卷(底层块设备)

  • PE:(Pysical Extent 物理拓展 把底层的物理设备,任意组织成类似扩展分区这种形式)

  • VG:(Volumn Group 卷组(卷组由物理卷组成,卷组的空间大小由物理卷中PE大小来决定 

  • LV: Logical Volume逻辑卷(把一个PE或者多个PE组合起来,当作一个逻辑卷来使用,划成一个单位或者文件系统,就是一个逻辑卷)

  

存储空间边界:物理边界,逻辑边界

  • 扩展:先扩展物理空间,在扩展逻辑空间

  • 裁剪:先裁剪逻辑空间,在裁剪物理空间(裁剪时逻辑空间不能少于物理空间大小)

  

5.   如何使用逻辑卷:

LVM块设备:可以是分区文件系统,也支持RAID

创建过程pv-->vg-->lv

LVM常用命令:

  • PV pvcreatepvmovepvdisplaypvremovepvspvscan  

  • VGvgcfgrestorevgdisplay vgcreate vgreducevgs vgextend

  • LVlvdisplaylvscanlvextendlvreducelvcreatelvmlvmdiskscanlvremovelvs  

      

5.1.  PV:创建、删除、及查看

创建pv [root@www~]# pvcreate /dev/sdb{1,2} (pvcreate后面跟上需要创建的块设备)

wKiom1VQXkGhrA5eAAEi34baNkk991.jpg

查看pv [root@www~]# pvspvs查看当前系统上已经创建了那些pv

wKioL1VQX_fiOgqVAABTLLwKvt0337.jpg

[root@www ~]# pvdisplay 显示pv详细信息

wKioL1VQYCKgBAMVAAGBl7b2VYo689.jpg

查看指定pv

wKiom1VQXqngl7lxAADMLvdLGqU385.jpg

移除pv [root@www~]# pvremove /dev/sdb1

wKioL1VQYH3ROhyfAAB8y04BEfQ295.jpg

5.2.   VG:创建、查看、扩展、删除

创建vg[root@www ~]# vgcreate myvg /dev/sdb1vgcreate+卷组名称+指定pv可以是多个)

wKioL1VQYMnyLb_bAABAZ98dLWQ809.jpg

查看vg[root@www ~]# vgs

wKioL1VQYPPSDn3mAABXlLnA1Fs979.jpg

查看vg详细信息[root@www ~]#vgdisplay 

wKiom1VQX1DgtH4PAAD-qczjpu8827.jpg

扩展vg[root@www ~]# vgextend myvg /dev/sdb2 

wKioL1VQYR-SrD9pAACTMrrzdTQ655.jpg

移除vg[root@www ~]# vgreduce myvg /dev/sdb1

wKiom1VQX6bQV5NwAADFjIGDkYE512.jpg

(注:移除前先把pv移除保证数据移动到同组vg中)

5.3.   创建、查看、扩展、删除lv

创建lv[root@www ~]# lvcreate -L 3G -n mylv myvg (lvcreate+指定大小+lv名称+vg名称)

wKioL1VQYaSx-UAXAAChaJ-HOys015.jpg

lv的访问路径

wKiom1VQYCuxz8ANAAF2FxcTExw810.jpg

格式化lv[root@www ~]# mke2fs -t ext4/dev/myvg/mylv 

wKiom1VQYGCjH6_CAAI5lp-ruc4714.jpg

挂载lv[root@www ~]# mount /dev/myvg/mylv/data

wKioL1VQYaSBM3W8AAE7IC_KOFA142.jpg

wKioL1VQYaSAfAMYAAEURucGtcg429.jpg

如何扩展逻辑卷:

扩展物理边界[root@www~]# lvextend -L 5G /dev/myvg/mylv (把mylv扩展至5G)

扩展逻辑边界[root@www ~]# resize2fs/dev/myvg/mylv 

wKiom1VQYGDTd1JkAAO2CMKfnKU761.jpg

如何缩减逻辑卷

第一步,先卸载文件系统[root@www ~]# umount /dev/myvg/mylv 

第二步,强制执行检测,并确保最后输出是没有问题的[

wKioL1VQYdmxQS83AAECexmWDnE826.jpg

缩减逻辑边界[root@www ~]# resize2fs/dev/myvg/mylv 3G

wKiom1VQYXyTYkLeAACeZwkAvh0440.jpg

缩减物理边界[root@www ~]# lvreduce -L 3G /dev/myvg/mylv 

wKiom1VQYafQTloZAADCfJtniv8221.jpg

缩减完成,重新挂载[root@www ~]# mount /dev/myvg/mylv /data

wKiom1VQYdzC2XTtAADGtwriwAQ846.jpg

5.4.   创建、挂载、卸载、删除快照

创建快照卷[root@www ~]# lvcreate -L 1G -n mylv-snap -p r -s/dev/myvg/mylv 

[root@www~]# lvcreate -L 1G -nmylv-snap -p r -s /dev/myvg/mylv 

Logicalvolume "mylv-snap" created

生产环境中创建快照的步骤:a先将设备挂载更改权限为只读,b在创建快照,c更改mount权限为读写

[root@www~]# mount -o remount,ro /dev/myvg/mylv /data

[root@www~]# lvcreate -L 1G -n mylv-snap -p r -s /dev/myvg/mylv

[root@www~]# mount -o remount,rw /dev/myvg/mylv /data

wKioL1VQY-nSRJkPAABzewJz_X4515.jpg

挂载快照[root@www ~]# mount/dev/myvg/mylv-snap /mylv-snap

wKioL1VQZMjQLX4fAAFOFKXDnII444.jpg

移除快照[root@www ~]# lvremove /dev/myvg/mylv-snap(先卸载挂载点再移除快照)

wKiom1VQY37gE_JGAACorhq2ILc122.jpg

删除:移除lv、移除vg

先卸载挂载点[root@www ~]# umount/mylv-snap/

移除逻辑卷   [root@www ~]#lvremove myvg

wKiom1VQZGKCHjIiAACorhq2ILc934.jpg

先卸载挂载点[root@www ~]# umount/data

移除卷组[root@www ~]# vgremovemyvg

wKiom1VQZIyABcehAADg0aAFGvM675.jpg

移除pv[root@www ~]# pvremove/dev/sdb{1,2}

wKioL1VQZiDiHSnvAAB2qUm1dfY308.jpg

总结:    

  • 物理磁盘被格式化为PV,空间被划分为一个个的PE

  • 不同的PV加入到同一个VG中,不同PVPE全部进入到了VGPE池内

  • LV基于PE创建,大小为PE的整数倍,组成LVPE可能来自不同的物理磁盘

  • LV现在就直接可以格式化后挂载使用了

  • LV的扩充缩减实际上就是增加或减少组成该LVPE数量,其过程不会丢失原始数据

 

    

 


你可能感兴趣的:(linux,lvm,评估)