安装LVM
首先确定系统中是否安装了lvm工具:
[root@www root]# rpm –qa|grep lvm
lvm-1.0.3-4
如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安
装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。
安装了LVM的RPM软件包以后,要使用LVM还需要配置内核支持LVM。RedHat默认内核是支持LVM的,如果需
要重新编译内核,则需要在配置内核时,进入Multi-device Support (RAID and LVM)子菜单,选中以下
两个选项:
[*] Multiple devices driver support (RAID and LVM)
<*> Logical volume manager (LVM) Support
然后重新编译内核,即可将LVM的支持添加到新内核中。
为了使用LVM,要确保在系统启动时激活LVM,幸运的是在RedHat7.0以后的版本,系统启动脚本已经具有
对激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下内容:
# LVM initialization
if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then
action $"Setting up Logical Volume Management:" /sbin/vgscan && /sbin/vgchange -a y
其中关键是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据文
件/etc/lvmtab和/etc/lvmtab.d/*;vgchange -a y命令激活系统所有卷组。
相关知识点:
LVM(logical volume manager) 逻辑卷管理器
其中主要分为这几个概念
1物理卷-简称PV
物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,
也可以是硬盘中的某一个分区
2卷组-简称VG
卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
3逻辑卷-简称LV
逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,
逻辑卷可以属于一个卷组,也可以属于不同的多个卷组
4 物理区域-简称PE
物理区域是物理卷中最小的可分配储存单元
5 逻辑区域-简称-LE
逻辑区域是逻辑卷中可用于分配的最小储存单元
6 卷组描述区域-简称VGDA
用于描述物理卷,卷组,逻辑卷分配的所由信息
一个建立逻辑卷的流程如下PV-VG-LV
物理卷包含卷组,卷组包含逻辑卷
一、LVM概述
LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系
统之下的一个逻辑层,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高了磁盘管理
的灵活性。
/boot分区不能基于LVM创建,必须独立出来。
1.PV(Physical Volume,物理卷)
物理卷是LVM机制的基本储存设备,通常对应为一个普通分区。物理卷一般直接使用设备文件
名,如dev/sdb1等。用于转换成物理卷的普通分区,需要用fdisk工具将分区类型的ID标记号改为
“8e”,即文件系统为Linux LVM。
2.VG(Volume Group,卷组)
卷组是由一个或多个物理卷组成的一个整体,在卷组中可以动态地添加或移除物理卷,卷组
名称由用户自行定义。
3.LV(Logical Volume,逻辑卷)
逻辑卷是建立在卷组之上的,与物理卷没有直接关系。逻辑卷就是从卷组中切出的一小块空
间,作为用户创建文件系统的基础。使用mkfs工具在逻辑卷上创建文件系统后,即可挂载到Linux
系统中的目录下使用了。
二、PV物理卷的管理
1.pvscan命令,扫描系统中的所有物理卷
[root@localhost ~]#pvscan
2.pvcreate命令,创建物理卷
[root@localhost ~]#pvcreate 分区设备文件名称
3.pvdisplay命令,显示物理卷的详细信息
[root@localhost ~]#pvdisplay
4.pvremove命令,将物理卷还原成普通分区
[root@localhost ~]#pvremove 物理卷名称
三、VG卷组管理
1.vgscan命令,扫描系统中建立的卷组
[root@localhost ~]#vgscan
2.vgcreate命令,将一个或多个物理卷创建成一个卷组
[root@localhost ~]#vgcreate 卷组名 物理卷名1 物理卷名2 …
3.vgdisplay命令,显示系统中各卷组的详细信息
[root@localhost ~]#vgdisplay
4.vgextend命令,用于扩展卷组的磁盘空间
[root@localhost ~]#vgextend 需要被扩展的卷组名 新的物理卷名
5.vgremove命令,删除指定的卷组
[root@localhost ~]#vgremove 卷组名
四、LV逻辑卷管理
1.lvscan命令,扫描系统中建立的逻辑卷
[root@localhost ~]#lvscan
2.lvcreate命令,创建逻辑卷
[root@localhost ~]#lvcreate -L 容量大小 -n 逻辑卷名 卷组名
3.lvdisplay命令,显示系统中逻辑卷的详细信息
[root@localhost ~]#lvdisplay
4.lvextend命令,用于动态扩展逻辑卷的空间
[root@localhost ~]#lvextend -L +容量大小 /dev/卷组名/逻辑卷名
调整逻辑卷的容量后,需要执行“resize2fs /dev/卷组名/逻辑卷名”命令,重新识别文
件系统的大小。
5.lvremove命令,用于删除指定的逻辑卷
[root@localhost ~]#lvremove /dev/卷组名/逻辑卷名
==========================================一个很好的例子================================================
创建过程
a)为逻辑卷管理器分配物理卷
我这里使用一个分区来作/dev/hda6(原为ext3)
#fdisk hda
>;t
>;6
>;8e (为LVM分区)
>;w
重起
#pvcreate /dev/hda6
使用
#pvdisplay /dev/hda6查看是否建立
这样就建立好了物理卷
b) 在物理卷中建立卷组
#vgcreate vg0 /dev/hda6 其中vg0为要建立的卷组名程.这里的PE值我们使用默认的4M如需要增大可以使用-L 选想,记住一旦
设定以后不可更改PE的值 ,vg0名字可以自己定义
#vgdisplay 查看是否建立成功
c) 在卷组中建立逻辑卷
#lvcreate -L 100M -n vg1 vg0
其中-L 选项表示你想的逻辑卷大小,以后可以用命令增减 -n指定逻辑卷的名程和卷组的名程,也可以使用绝对路径来达到上述
目的
#lvdisplay /dev/vg0/vg1
查看是否建立成功
d) 为逻辑卷建立文件系统
#mkfs.ext3 /dev/vg0/vg1
然后挂载尝试是否建立成功
#mount /dev/vg0/vg1 /disk6
这样一个逻辑卷就基本成型了
如果要每次开机都自动挂接上在 fstab修改
[root@TestAs4 ~]# more /etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=/u01 /u01 ext3 defaults 1 2
/dev/mapper/vg0-vg1 /disk6 ext3 defaults 1 2
/dev/mapper/vg0-vg2 /disk7 ext3 defaults 1 2
LABEL=SWAP-hda5 swap swap defaults 0 0
/dev/hdd /media/cdrom auto pamconsole,fscontext=system_u:object_r:removable_t,exec
,noauto
,managed 0 0
[root@TestAs4 ~]#
4.逻辑卷的管理
a)增加新的物理卷到卷组
当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间
# pvcreate /dev/hda7
# vgextend vg0 /dev/hda7
这里注意hda7必需为LVM分区
b) 扩充和减小逻辑卷的容量
#lvextend -L +500M /dev/vg0/vg1
#ext2online /dev/vg0/vg1
-L 表示增减空间 +表示加 -表示建
#lvextend -L -500M /dev/vg0/vg1
#ext2online /dev/vg0/vg1
这里要注意文件系统必需是ext2或ext3,而且需要卸载文件系统来执行,减小的时候需要知道剪掉空间的大小,不然会造成丢失
在reiserfs文件系统中未作测试
c) 删除逻辑卷-卷组-物理卷 (必需按照先后顺序来执行删除)
#lvremove /dev/vg0/vg1 删除逻辑卷
#vgremove /dev/vg0 删除卷组
这里有一个问题,如果建立的卷组是活动的,他就不能删除
这里需要使用一个命令来是他变成固定的,以便删除
#vgchage -a n /dev/vg0
-a 参数指定卷组是否是活动的,n表示固定,y表示活动
#vgremove /dev/vg0
成功
物理卷的删除,移除/etc下的lvmconf 和lvmtab的两个文件,然后将分区转换为linux的就可以了
4 检查物理卷,卷组,逻辑卷
分别使用3个命令
1 pvscan 检查物理卷
2 vgscan 检查卷组
3 lvscan 检查逻辑卷
补充资料:
创建文件系统:
推荐使用reiserfs文件系统,来替代ext2和ext3:
创建了文件系统以后,就可以加载并使用它:
# mkdir /data/wwwroot
# mount /dev/web_document/www1 /data/wwwroot
如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:
/dev/web_document/www1 /data/wwwroot reiserfs defaults 1 2
减少逻辑卷的容量
使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:
# umount /data/wwwroot
# resize_reiserfs -s-2G /dev/web_document/www1
# lvreduce -L-2G /dev/web_document/www1
# mount -treiserfs /dev/web_document/www1 /data/wwwroot
激活卷组
为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
# vgchange -a y web_document