博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

2008GOGOGO

quekchdream.cublog.cn
LVM使用手册 (2)
Start

 将在卷组testvg上建立一个1500MB的线性LV,其命名为testlv,对应的块设备为/dev/testvg/testlv
# lvcreate -i2 -I4 -l100 -nanothertestlv testvg
将在卷组testvg上建立名为anothertestlvLV,其大小为100LE,采用交错方式存放,交错值为2,块大小为4KB
如果需要LV使用整个VG,可首先用vgdisplay 查找 Total PE 值,然后在运行lvcreate时指定,如:
# vgdisplay testvg | grep "Total PE"
Total PE 10230
# lvcreate -l 10230 testvg -n mylv
将使用卷组testvg的全部空间创建逻辑卷mylv
在创建逻辑卷后,就可在其上创建文件系统并使用它。
命令lvcreate的常用方法:
lvcreate [options] -n
逻辑卷名 卷组名 [PV1 ... ]
其中的常用可选项有:
"-i Stripes
:采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量。
"-I Stripe_size
:采用交错方式时采用的块大小(单位为KB)Stripe_size必须为2的指数:2N N=2,3...9
"-l LEs
:指定LV的逻辑块数。
"-L size
:指定LV的大小,其后可以用KMG表示KBMBGB
"-s
:创建一已存在LVsnapshot卷。
"-n name
:为LV指定名称。
3.8
删除LV
为删除一个逻辑卷,必须首先从系统卸载其上的文件系统,然后可用lvremove删除,如:
# umount /dev/testvg/testlv
# lvremove /dev/testvg/testlv
lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y
lvremove -- doing automatic backup of volume group "testvg"
lvremove -- logical volume "/dev/testvg/testlv" successfully removed
3.9
扩展LV
为逻辑卷增加容量可用使用lvextend,即可以指定要增加的尺寸也可以指定扩容后的尺寸,如
# lvextend -L12G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将扩大逻辑卷testlv的容量为12GB
# lvextend -L+1G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended
将为LV testlv再增大容量1GB13GB
LV扩容的一个前提是:LV所在的VG有足够的空闲存储空间可用。
在为LV扩容之后,应同时为LV之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容方法。
3.9.1 ext2/ext3
除非内核已有ext2online 补丁,否则在改变ext2/ext3文件系统的大小时应卸载它:
# umount /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
# mount /dev/testvg/testlv /home
这里假设testlv安装点为/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。
LVM发行包中有一个称为e2fsadm的工具,它同时包含了lvextendresize2fs的功能,如:
# e2fsadm -L+1G /dev/testvg/testlv
等价于下面两条命令:
# lvextend -L+1G /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
但用户仍需首先卸载文件系统。
3.9.2 reiserfs
ext2不同,Reiserfs不必卸载文件系统,如:
# resize_reiserfs -f /dev/testvg/testvl
3.9.3 xfs
SGI XFS
文件系统必须在安装的情况下才可改变大小,并且要使用安装点而不是块设备,如:
# xfs_growfs /home
3.10
缩小LV
逻辑卷可扩展同样也可缩小,但应在缩小LV之前首先减小文件系统,否则将可能导致数据丢失。
3.10.1 ext2/ext3
可以使用LVM的工具e2fsadm操作,如:
# umount /home
# e2fsadm -L-1G /dev/testvg/testvl
# mount /home
如果采用resize2fs,就必须知道缩少后卷的块数:
# umount /home
# resize2fs /dev/testvg/testvl 524288
# lvreduce -L-1G /dev/testvg/testvl
# mount /home
3.10.2 reiserfs
在缩小reiserfs时,应首先卸载它,如:
# umount /home
# resize_reiserfs -s-1G /dev/testvg/testvl
# lvreduce -L-1G /dev/testvg/testvl
# mount -treiserfs /dev/testvg/testvl /home
3.10.3 xfs
无法实现。
3.11
PV间转移数据
若要把一个PVVG中移除,应首先把其上所有活动PE中的数据转移到其它PV上,而新的PV必须是本VG的一部分,有足够的空间。如要把PV1:/dev/hda1上的数据移到PV2:/dev/sda1上可用命令:
# pvmove /dev/hdb1 /dev/sdg1
如果在该PV之上的LV采用交错方式存放,则这个转移过程不能被打断。
建议在转移数据之前备份LV中的数据。
3.12
系统启动/关闭
"
为使系统启动时可自动激活并使用LVM,可将以下几行添加到启动 rc 脚本中:
/sbin/vgscan
/sbin/vgchange -a y
这些行将浏览所有可用的卷组并激活它们。要注意的是,它们应在安装卷组上的文件系统操作之前被执行,否则将无法正常安装文件系统。
"
在系统关机时,要关闭LVM,这可将以下这行添加到关机 rc 脚本中,并确保它在卸装了所有文件系统后执行:
/sbin/vgchange -a n
4
磁盘分区问题
4.1
一个磁盘上的多个分区
LVM
允许PV建立在几乎所有块设备上,如整个硬盘、硬盘分区、Soft RAID
# pvcreate /dev/sda1
# pvcreate /dev/sdf
# pvcreate /dev/hda8
# pvcreate /dev/hda6
# pvcreate /dev/md1
所以在一块硬盘上可以有多个PV/分区,但一般建议一块硬盘上只有一个PV
"
便于管理,易于处理错误
"
避免交错方式中性能下降。LVM不能辨别两个PV是否在同一硬盘上,故当采用交错方式时,会导致性能更差。
但在某些情况下可采用:
"
把已存在的系统合并到LVM中。在一个只有少数硬盘的系统中,转换为LVM时需在在各分区之间转移数据。
"
把一个大硬盘分给不同的VG使用。
当一个VG的有不同的PV在同一硬盘时,创建交错方式的LV时应注意使用哪一个PV
4.2 Sun disk labels
仅在SUNSPARC系统中有此问题。
5
建立LVM用例
在本节中,将在3SCSI硬盘:/dev/sda/dev/sdb/dev/sdc上按步建立LVM
5.1
准备分区
首先要做的是初始化硬盘,建立PV,这将会删除硬盘上的原有数据。在此,用整个硬盘为PV
# pvcreate /dev/sda
# pvcreate /dev/sdb
# pvcreate /dev/sdc
pvcreate
在每个硬盘的起始端建立卷组描述区( volume group descriptor area, VGDA)
5.2
创建卷组
利用上面三个PV建立卷组:
# vgcreate test_vg /dev/sda /dev/sdb /dev/sdc/
然后可用vgdisplay 查看/验证卷组的信息:
# vgdisplay
--- Volume Group ---
VG Name test_vg
VG Access read/write
VG Status available/resizable
VG # 1
MAX LV 256
Cur LV 0
Open LV 0
MAX LV Size 255.99 GB
Max PV 256
Cur PV 3
Act PV 3
VG Size 1.45 GB
PE Size 4 MB
Total PE 372
Alloc PE / Size 0 / 0
Free PE / Size 372/ 1.45 GB
VG UUID nP2PY5-5TOS-hLx0-FDu0-2a6N-f37x-0BME0Y
其中最重要的前三条要正确,且VS size是以上三个硬盘容量之和。
5.3
建立LV
在确定卷组test_vg正确后,就可在其上创建LVLV的大小可在VG大小范围内任意选择,如同在硬盘上分区。
5.3.1
建立线性方式LV
test_vg上建立一个大小为1GB的线性方式LV
# lvcreate -L1G -ntest_lv test_vg
lvcreate -- doing automatic backup of "test_vg"
lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created
5.3.2
建立交错方式LV
test_vg上建立一个大小为1GB的交错方式LV,交错参数为4KB
# lvcreate -i3 -I4 -L1G -ntest_lv test_vg
lvcreate -- rounding 1048576 KB to stripe boundary size 1056768 KB / 258 PE
lvcreate -- doing automatic backup of "test_vg"
lvcreate -- logical volume "/dev/test_vg/test_lv" successfully created
注意:如果使用 -i2参数,则LV将仅使用test_vg中的两块硬盘。
5.4
建立文件系统
LV test_lv创建后,就可在其上建立文件系统,
如,ext2/ext3系统:
# mke2fs /dev/test_vg/test_lv
如,reiserfs
mkreiserfs /dev/test_vg/test_lv
5.5
测试文件系统
安装LV
# mount /dev/test_vg/test_lv /mnt
# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 1311552 628824 616104 51% /
/dev/test_vg/test_lv 1040132 20 987276 0% /mnt
则可以通过/mnt访问LV
6
使用snapshot 做备份

Google
 

发表于: 2008-01-03,修改于: 2008-01-03 14:45,已浏览538次,有评论0条 推荐 投诉

给我留言
版权所有 ChinaUnix.net 页面生成时间:12.67283