赞
踩
目录
注意:xfs的不能缩容也不能用resize2fs,只有xfs_growfs。
不论哪个系统都不能用e2fsck,因为e2fsck可能会丢失数据。
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,是磁盘管理的一种工具,就目前基本上所有操作系统均支持。LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。
这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(VG Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成。一个卷组由一个或多个物理卷组成。

从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。
下图是磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图:



a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;
Command (m for help): n 注:添加分区
Partition type:
p primary (0 primary, 0 extended, 4 free) 注:0个主分区,4个空闲分区
e extended 注:扩展分区
Select (default p): p 注:添加主分区,默认主分区;
Partition number (1-4, default 1): 3 注:添加主分区3
First sector (2048-39843839, default 2048): 注:直接回车,主分区3的开始位置。默认为2048,默认就好;
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2099200-209715199, default 209715199): +2G 注:指定分区大小,用+2G来指定大小为2G。



输入p查看分区情况,发现分区已被删除。


如果想LVM文件系统挂载随机启动需要修改/etc/fastab文件。



pvcreate /dev/sdb1
pvcreate /dev/sdb2

vgcreate vgsxqiu /dev/sdb1 /dev/sdb2

lvcreate -n lvsxqiu01 -L 2G vgsxqiu 注:使用VG组vgsxqiu中的1G创建lvsxqiu01
lvcreate -n lvsxqiu02 -l 30%VG vgsxqiu 注:使用现VG组vgsxqiu中的30%创建lvsxqiu02
lvcreate -n lvsxqiu03 -l 100%free vgsxqiu 注:使用现VG组vgsxqiu中剩余的空间创建lvsxqiu02


mkfs.ext4 /dev/vgsxqiu/lvsxqiu01
mkfs.ext4 /dev/vgsxqiu/lvsxqiu02
mkfs.ext4 /dev/vgsxqiu/lvsxqiu03
mkdir /orasxqiu01
mkdir /orasxqiu02
mkdir /orasxqiu03
mount /dev/vgsxqiu/lvsxqiu01 /orasxqiu01
mount /dev/vgsxqiu/lvsxqiu02 /orasxqiu02
mount /dev/vgsxqiu/lvsxqiu03 /orasxqiu03



LV可以进行在线扩容,所以不需要解挂载。但LV必须是离线缩容,需要解挂载。

umount /orasxqiu01
缩容可能会破坏缓冲区的数据,所以需要先resize2fs。
resize2fs /dev/mapper/vgsxqiu-lvsxqiu01
lvreduce -L 1.5G /dev/mapper/vgsxqiu-lvsxqiu01

resize2fs /dev/mapper/vgsxqiu-lvsxqiu01

用df -h可以查看到现在lvsxqiu01为1.5G。

LV可以进行在线扩容,所以不需要解挂载。但LV必须是离线缩容,需要解挂载。
lvextend -L +0.5G /dev/mapper/vgsxqiu-lvsxqiu01
![]()
lvextend -l +100%free /dev/mapper/vgsxqiu-lvsxqiu01(表示将vg的free空间扩容到lvsxqiu01)
(若没有使用resize2fs命令,则df -h看到的lvsxqiu01大小仍为1.5G)
resize2fs /dev/mapper/vgsxqiu-lvsxqiu01

LVM的卸载过程与LVM的创建过程相反
umount /orasxqiu01
umount /orasxqiu02
umount /orasxqiu03
lvremove /dev/mapper/vgsxqiu-lvsxqiu01
lvremove /dev/mapper/vgsxqiu-lvsxqiu02
lvremove /dev/mapper/vgsxqiu-lvsxqiu03

vgremove /dev/mapper/vgsxqiu
![]()
pvremove /dev/sdb1
pvremove /dev/sdb2

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。