分类: LINUX
2011-05-13 22:54:51
lvcreate
lvscan
lvdisplay
lvextend
lvreduce
lvremove
lvresize
2.创建逻辑卷LV
[root@san iscsi]# lvcreate -L 184M -n date vg0
Rounding up size to full physical extent 192.00 MB
Logical volume "date" created
[root@san iscsi]# lvscan
ACTIVE '/dev/vg0/date' [192.00 MB] inherit
[root@san iscsi]# lvdisplay
--- Logical volume ---
LV Name /dev/vg0/date
VG Name vg0
LV UUID PAyJph-B9K2-P15u-Zkl3-pBxs-e0TG-DCuRzq
LV Write Access read/write
LV Status available
# open 0
LV Size 192.00 MB
Current LE 12 -- 注 12*16MB=192MB,和之前的PE 是1:1
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
六、挂载逻辑卷LV1. lv的格式化
[root@san vg0]# mkfs.ext3 /dev/vg0/date
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
49152 inodes, 196608 blocks
9830 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
24 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@san vg0]# mkdir -p /u01/backup
[root@san vg0]# mount /dev/vg0/date /u01/backup
[root@san vg0]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext3 1984016 651076 1230528 35% /
tmpfs tmpfs 349016 0 349016 0% /dev/shm
/dev/mapper/vg0-date
ext3 190403 5664 174909 4% /u01/backup
挂载成功之后,就可以使用了。
七、LVM的容量调整
LVM的容量调整可以在多个环节进行调整,比如:可以在物理卷上,VG上,以及LV上,都可以进行容量的扩展,这也是LVM它的一个优势所在。
1.添加物理卷(PV)
首先应卸载在使用过程中的LV,然后必须保证该磁盘的类型是lvm类型,才能添加进来。
[root@san vg0]# umount /dev/mapper/vg0-date
[root@san vg0]# pvcreate /dev/sda7
Physical volume "/dev/sda7" successfully created
[root@san vg0]# pvscan
PV /dev/sda5 VG vg0 lvm2 [96.00 MB / 0 free]
PV /dev/sda6 VG vg0 lvm2 [96.00 MB / 0 free]
PV /dev/sda7 lvm2 [101.94 MB]
Total: 3 [293.94 MB] / in use: 2 [192.00 MB] / in no VG: 1 [101.94 MB]
2.添加VG的容量
把上面新添加的LVM磁盘加入到vg0卷组中。
[root@san vg0]# vgextend vg0 /dev/sda7
Volume group "vg0" successfully extended
[root@san vg0]# vgdisplay
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 288.00 MB
PE Size 16.00 MB
Total PE 18
Alloc PE / Size 12 / 192.00 MB
Free PE / Size 6 / 96.00 MB
VG UUID A9w4ho-3Fdo-ELYl-VRqY-yhaZ-61rt-68sXsi
3.添加LV的容量
把新加入LVM磁盘的容量加入LV中。
[root@san vg0]# lvextend -L +90M /dev/vg0/date
Rounding up size to full physical extent 96.00 MB
Extending logical volume date to 288.00 MB
Logical volume date successfully resized
这里要注意,如果是lvextend -L 90MB /dev/vg0/date, 则表示增加到90m。 如果有加号,就表示增加90M。
[root@san vg0]# lvscan
ACTIVE '/dev/vg0/date' [288.00 MB] inherit
[root@san vg0]# resize2fs -f /dev/vg0/date
resize2fs 1.40.8 (13-Mar-2008)
Resizing the filesystem on /dev/vg0/date to 294912 (1k) blocks.
The filesystem on /dev/vg0/date is now 294912 blocks long.
如果不做这一步, LV的容量没有真正的加入进LV卷中,因为相关信息写入到了磁盘超级块中。
4.挂载使用
[root@san vg0]# mount /dev/vg0/date /u01/backup
[root@san vg0]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext3 1984016 651128 1230476 35% /
tmpfs tmpfs 349016 0 349016 0% /dev/shm
/dev/mapper/vg0-date
ext3 285599 6168 267635 3% /u01/backup
八、LVM的卸载方法
LVM卸载的方法与分区的删除方法类似,就是最后创建的最先删除。顺序如下:
先删除LV
再删除VG
最后PV
以前的LVM的分区应用fdisk转换成其它类型的文件系统,当普通分区使用。
九、LVM的卸载过程1.umount取消挂载
[root@san vg0]# umount /dev/vg0/date
[root@san vg0]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext3 1984016 651148 1230456 35% /
tmpfs tmpfs 349016 0 349016 0% /dev/shm
2.删除LV逻辑卷
[root@san vg0]# lvremove /dev/vg0/date
Do you really want to remove active logical volume "date"? [y/n]: y
Logical volume "date" successfully removed
3.删除VG卷组
[root@san vg0]# vgchange -a n vg0
0 logical volume(s) in volume group "vg0" now active
[root@san vg0]# vgremove vg0
Volume group "vg0" successfully removed
对vgchange 命令的说明,先看帮助:
[root@san vg0]# vgchange --help
vgchange: Change volume group attributes
vgchange
[-A|--autobackup {y|n}]
[--alloc AllocationPolicy]
[-P|--partial]
[-d|--debug]
[-h|--help]
[--ignorelockingfailure]
[--ignoremonitoring]
[--monitor {y|n}]
[-t|--test]
[-u|--uuid]
[-v|--verbose]
[--version]
{-a|--available [e|l]{y|n} | - 这个是我们使用的参数,表示状态可用不可用,有两个值:y和n。
-c|--clustered {y|n} |
-x|--resizeable {y|n} |
-l|--logicalvolume MaxLogicalVolumes |
-p|--maxphysicalvolumes MaxPhysicalVolumes |
-s|--physicalextentsize PhysicalExtentSize[kKmMgGtTpPeE] |
--addtag Tag |
--deltag Tag}
[VolumeGroupName...]
4.删除PV
[root@san vg0]# pvscan
PV /dev/sda5 lvm2 [101.94 MB]
PV /dev/sda6 lvm2 [101.94 MB]
PV /dev/sda7 lvm2 [101.94 MB]
Total: 3 [305.83 MB] / in use: 0 [0 ] / in no VG: 3 [305.83 MB]
[root@san vg0]# pvremove /dev/sda5 /dev/sda6 /dev/sda7
Labels on physical volume "/dev/sda5" successfully wiped
Labels on physical volume "/dev/sda6" successfully wiped
Labels on physical volume "/dev/sda7" successfully wiped
十. 命令说明
pvcreate (创建物理卷)
pvdisplay (显示物理卷信息)
pvscan (扫描物理卷)
pvmove (转移物理卷资料)
pvmove /dev/hda1 /dev/hda2 (转移/dev/hda1资料到/dev/hda2)
pvmove /dev/hda1 (转到/dev/hda1资料到别的物理卷)
pvremove (删除物理卷)
vgcreate (创建卷组)
vgdisplay (显示卷组信息)
vgscan (扫描卷组)
vgextend (扩展卷组) vgextend vg0 /dev/hda2 (把物理卷/dev/hda2加到vg0卷组中)
vgreduce (删除卷组中的物理卷) vgreduce vg0 /dev/hda2 (把物理卷/dev/hda2从卷组vg0中删除)
vgchange (激活卷组) vgchange -a y vg0 (激活卷组vg0) vgchange -a n vg0 (相反)
vgremove (删除卷组) vgremove vg0 (删除卷组vg0)
lvcreate (创建逻辑卷)
lvdisplay (显示逻辑卷信息)
lvscan (扫描逻辑卷)
lvextend (扩展逻辑卷) lvextend -l +5G /dev/vg0/data (扩展逻辑卷/dev/vg0/data 5个G)
mke2fs(查看LV的block数),如:mke2fs -n /dev/vg0/date. 注意,这里一定要加-n。 这里只是查看block数,如果不加,就把分区格式化了。 从这个命令可以得出Block size和blocks,这两个数的乘积就是分区大小。
resize2fs(调整文件系统大小) resize2fs -f /dev/vg0/date 剩余的block数
lvreduce (介绍LV大小) lvreduce -L-50M /dev/vg0/date,调整lv分区大小,减小50M
lvremove (删除逻辑卷)
十一. RHEL5中LVM修复方法
现在很多人对逻辑卷不是很细心,在做逻辑卷时可能会导致系统崩溃。在此我向各位提供自己修复逻辑卷的一点心得。
首先说下因为逻辑卷而造成系统瘫痪的的原因。在做逻辑卷的时候造成文件系统和逻辑卷的大小不统一而造成的系统瘫痪。
其实修复很简单,但你的系统瘫痪后会进入Linux的修复系统。由于进入修复模式后所有的文件和目录都为只读,需要从新挂载成可读可写。
#mount -o remount,rw /
进入/etc/fstab这个文件将需要修复的逻辑卷注释掉。进入系统进行修改。
或者直接进行修改:
#lvm lvexdent -L 200M /dev/vgname/lvname
#resize2fs /dev/vgname/lvname 200M