文档库 最新最全的文档下载
当前位置:文档库 › Linux LVM

Linux LVM

OS:AS4

概述
========================
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环
境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个
逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理
磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),
形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),
并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储
卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例
如按照使用用途进行定义:“development”和“sales”,而不是使用物理
磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不
必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展
文件系统跨越磁盘即可。

LVM基本术语
========================
前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文
件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系
统。首先我们讨论以下几个LVM术语:
* 物理存储介质(The physical media)
这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
* 物理卷(physical volume)
物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),
是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比
较,却包含有与LVM相关的管理参数。
* 卷组(Volume Group)
LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创
建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
* 逻辑卷(logical volume)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系
统(比如/home或者/usr等)。
* PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编
号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
* LE(logical extent)
逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在
同一个卷组中,LE的大小和PE是相同的,并且一一对应。


安装LVM软件
========================
查看LVM工具是否安装
# rpm -qa | grep lvm
lvm-0.9.18-1.0
lvm2-2.00.31-1.0.RHEL4

安装了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
fi

其中关键是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据
文件/etc/lvmtab和/etc/lvmtab.d/*;vgchange -a y命令激活系统所有卷组。

LVM的配置文件目录: /etc/lvm/


*************************************************
*************************************************
LVM常用命令
*************************************************
*************************************************
说明:这里的所有命令都支持"lvm-cmd -h"方式提供帮助


LVM物理卷方面的命令
-----------------------
# pvcreate LVM物理卷地址(即硬盘分区地址)
说明:创建物理卷,如:
#pvcreate /dev/sda1
将整个磁盘创建为物理卷的命令为:
# pvcreate /dev/hdb
建立好后,可以用pvdisplay查看该卷信息。
或用pvscan查找到该卷

#pvdisplay LVM物理卷地址(即硬盘分区地址)
说明:查看LVM物理卷相关信息,如查看是否被哪个LVM卷组使用及哪个LVM逻辑卷使用.

#pvscan
说明:查看所有LVM物理卷

#pvremove LVM物理卷地址(即硬盘分区地址)
说明:删除一个LVM物理卷.
此时就无法用pvscan找到该卷

其它命令
pvchange
pvmove
pvresize



LVM卷组方面的命令
-----------------------
#vgcreate -s PE值 LVM卷组名 LVM物理卷地址1 LVM物理卷地址2 [LVM物理卷地址3...]
功能:建立LVM卷组,PE值从8KB至512MB,且必须总是2的倍数.
由于内核原因,PE大小决定了逻辑卷的最大大小,4 MB 的PE决定了单个
逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷则创建卷组时
指定更大的PE。PE的大小是可配置的,默认为4MB.
PE值表示卷组上创建的所有逻辑卷都以PE值指定的大小为增量单位来进行扩充或缩减.
PE值的单位是KB,MB
PE该参数可以省略,默认为4MB.
如下命令
vgcreate vg00 /dev/hdb1 /dev/hdd2 /dev/hdc1
将三个LVM物理卷(/dev/hdb1,/dev/hdd2,/dev/hdc1)组织成一个LVM卷组,LVM卷组名称为vg00
新建的LVM卷组的设备文件为:/dev/[LVM卷组名],如上面的LVM卷组的设备文件为:/dev/vg00

#vgchange -a y [LVM卷组名]
说明:激活指定的LVM卷组

#vgextend [LVM卷组名] [新的LVM物理卷地址]
说明:当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,
就需要使用vgextend命令,如下:
#vgextend vg00 /dev/hdd2

#vgreduce [LVM卷组名] [被删除的LVM物理卷地址]
说明:Remove physical volume(s) from a volume group
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正
在使用,就要使用pvdisplay命令察看一个该物理卷信息.
如:
#vgreduce vg00 /dev/hdd2

#vgscan
说明:Search for all volume groups
查找LVM卷组

#vgdisplay
说明:查看指定卷组的相关信息,如PE大小及PE的个数等
如:# vgdisplay vg00 | grep PE
PE Size 4.00 MB
Total PE 3834
Alloc PE / Size 3834 / 14.98 GB
Free PE / Size 0 / 0
可利用vgdisplay的参数显示更详细的信息,如卷组由哪些硬件磁盘构成等等。
# vgdisplay -v vg00

#vgremove
说明:删除指定的LVM卷组

#vgrename old_vg_name new_vg_name
说明:给LVM卷组改名

其它命令
vgcfgbackup
vgconvert
vgcfgrestore
vgimport
vgsplit
vgmerge
vgck
vgexport
vgmknodes
vgs




LVM逻辑卷方面的命令
-----------------------
#lvcreate -l PE_num -n LVM逻辑卷名称 LVM卷组名称
#lvcreate -L size -n LVM逻辑卷名称 LVM卷组名称
说明:建立LVM逻辑卷.
“-l PE_num”用于通过设置PE数量来设置LVM逻辑卷的空间大小(计算办法:PE * PE_num)
“-L size”用于直接设置LVM逻辑卷的大小,size的单位是:MB,GB
可以用“vgdisplay”查看LVM卷组的空间及PE大小和数量
建立时需指定LVM逻辑卷名称.该LVM逻辑卷的设备文件名称为:
/dev/[LVM卷组名称]/[LVM逻辑卷名称]
如:#lvcreate -L 500MB -n lvg02 vg00
#lvscan lvg02
ACTIVE '/dev/vg00/lvg01' [512.00 MB] inherit
如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然
后在创建逻辑卷时指定,如下:
#vgdisplay vg00 | grep "Total PE"
Total PE 3834
#lvcreate -l 3834 -n lvg00 vg00
# lvscan
ACTIVE '/dev/vg00/lvg00' [14.98 GB] inherit

#lvscan
说明:列出所有的LVM逻辑卷及其地址

#lvdisplay LVM逻辑卷地址
说明:查看指定LVM逻辑卷的相关信息
必需是全地址,如:/dev/vg00/lvg01

#lvrename LVM卷组 old_LVM逻辑卷 neew_LVM逻辑卷
说明:给LVM逻辑卷改名


#lvremove /dev/vg00/lvg01
说明:删除逻辑卷以前首先需要将其从文件系数中卸载,然后删除.


#lvextend -L 12G /dev/vg00/lvg01 //将逻辑卷大小调整为12GB

#lvextend -L +1G /dev

/vg00/lvg0 //将逻辑卷大小增加1GB
说明:调整逻辑卷大小
该命令和lvcreate命令一样,可以通过size或PE数量两种方式
来增加调整逻辑卷大小

其它命令:
lvchange
lvmdiskscan
lvmsadc
lvreduce
lvresize
lvmchange
lvmsar

相关文档