LVM概述

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理

的一种机制;

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

通过LVM,管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可,也就是我们常说的动态调整分区的大小。


LVM创建

a.添加硬盘或创建分区

linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 ...,sdb,sdb1...,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是以ha命名。分区的目的就是便于管理。  

b.创建物理卷physical volume

理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

c.创建卷组Volume Group)

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

d.创建逻辑卷(logical volume 

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr)

注意:

PVVGLV三者关系:把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,而在地球上划分一个区域并标记为亚洲,那么亚洲就相当于一个LVM

e.创建文件系统spacer.gif

f.格式化及挂载使用


创建演示

此演示在kali linux创建。

首先查看分区情况及挂载情况

wKioL1jR5IvgcGjfAAiAQyd2Gdg516.png-wh_50

创建分区,分区类型为主类型,创建之后用p查看。

wKiom1jR5JHBZgr6AAhaThEEkf0408.png-wh_50

改变分区格式为8e。LVM的分区格式

wKiom1jR5JeTouHGAAhmcfauszI153.png-wh_50

保存,退出。

使用partprobe在不重启的情况下重读分区

创建物理卷

wKiom1jR5KODQtgmAAgk7u1nseU652.png-wh_50

创建卷组

wKiom1jR5K6gWQX0AAc8bEoJmvQ122.png-wh_50

创建逻辑卷

-L:指定LV的大小

 -n:指定LV的名rainbow:表示从这个VG中划分LV

wKioL1jR5PGgnMfbAAewbLF61Ds110.png-wh_50

LV进行格式化(使用mkfs进行格式化操作),然后LV才能存储资料

LV分区挂载到指定的目录下,就可以像普通目录一样存储数据

wKioL1jR5PzzQKOPAAf7BxTs_x4187.png-wh_50

永久挂载:如果要在系统启动的时候启动LV,最好是将test1写入/etc/fstable 文件中

wKiom1jR5P_yno6VAAOBh5b--38802.png-wh_50


LVM扩容

当卷组中没有足够的空间用于扩展逻辑卷的大小时,就需要增加卷组的容量,而增加卷组容量的惟一办法就是向卷组中添加新的物理卷。 

利用vgextend命令将新的物理卷加入到卷组中。lvextend命令加入逻辑卷中。

wKiom1jR53fABptLAADJ5-QTuLA776.png-wh_50

e2fsck 预设只会对错误的档案系统检查,加上 -f 是强制检查。检查LVM设备对应inode和block之间的关系

 resize2fs命令文件系统管理 resize2fs命令被用来增大或者收缩未加载“ext2/ext3”文件系统的大小,使增加的容量生效。

wKiom1jR53fBjA2kAACGhaCAzbE701.png-wh_50



问题解决

1、fdisk 命令

a :设置可引导标记

b :修改bsd的磁盘标签

c :设置DOS操作系统兼容标记

d :删除一个分区

l :显示已知的分区类型

82Linux swap分区,83Linux分区,8eLinux LVM分区,

fd为系统级raid分区

m :显示帮助信息

n :增加一个新的分区

o :创建一个新的空白的DOS分区表

p :显示磁盘当前的分区表

q :退出fdisk程序,不保存任何修改

s :创建一个新的空白的Sun磁盘标签

t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)

u :改变显示记录单位

v :对磁盘分区表进行验证

w :保存修改结果并退出fdisk程序

x :特殊功能

2、创建物理卷时,Cant open /dev/sda1 exclusively.Mounted filesystem?

利用umount命令卸载文件系统

umount命令用于卸载已经加载的文件系统。利用设备名或挂载点都能umount文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。

3、pvcreate /dev/sdb1出现报错Can't initialize physical volume "/dev/sdb1"               of volume group "myvg" without -ff

这是由于没有卸载原有逻辑卷,逻辑卷组,物理卷的原因导致。利用pvremove、vgremove、lvremove进行卸载。

4、No free sectors available 整个磁盘已经划分并分配过。

一般来说,Linux系统根分区(一般是Ext2、Ext3、ReiserFS格式)是无法改变容量的,擅自删除改动,启动时无法进入系统,或者在GDM处出错。使用虚拟机下linux最好重新添加一块硬盘进行lvm分区。

5、相关概念

PE(physical extent)

每一个物理卷被划分为称为PE(Physical Extents)的基本单元,(我理解为物理块,下面的LE则是对应逻辑块)具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB 

LElogical extent

逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。