LVM设置小记
以前的LVM笔记,现在慢慢的整理出来了
PV VG LV
PV为基础 VG可以增加 LV也可以增加
PV物理卷如分区或是RAID VG为卷组 LV为逻辑卷或分区
[root@pc ~]# fdisk -l 显示分区信息
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 978 7855753+ 83 Linux
/dev/sda2 979 1043 522112+ 82 Linux swap / Solaris
Disk /dev/sdb: 4294 MB, 4294967296 bytes /dev/sdb一共4G大小
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 4294 MB, 4294967296 bytes /dev/sdc一共4G大小
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
物理卷的操作(PV)
PV是指物理卷,physical volume(PV),它可以是物理硬盘分区,也可以是整个硬盘或是做好的软件RAID卷
[root@pc ~]# pvcreate /dev/sdb 创建PV卷,这是使用了整个硬盘
Physical volume "/dev/sdb" successfully created 显示pv已经顺利建立
默认的PE为4MB,这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组时指定更大的PE。PE大小范围为8KB到512MB,并且必须总是2的倍数,使用-s指定
[root@pc ~]# pvdisplay 显示pv卷的信息
--- NEW Physical volume ---
PV Name /dev/sdb PV的名称,很重要,删除PV时就是使用这个名称
VG Name
PV Size 4.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID WQ8sJF-T79g-mdn3-ARRD-fElc-FKGt-CeGytS
[root@pc ~]# pvscan 查看pv卷的信息
PV /dev/sdb VG vg0 lvm2 [4.00 GB / 4.00 GB free]
Total: 1 [4.00 GB] / in use: 1 [4.00 GB] / in no VG: 0 [0 ]
删除PV
[root@pc ~]# pvremove /dev/sdb 这里的/dev/sdb是上面显示的PV Name
卷组的操作(VG)
[root@pc ~]# vgcreate vg0 /dev/sdb 将整个sdb做为vg0卷组
Volume group "vg0" successfully created 显示vg0已经顺利建立
在建立VG时也可以指定多个分区或硬盘,也可以同时指定分区和硬盘
格式为vgcreate vg0 /dev/sdb /dev/sdc1
其中vg0是卷组的名称,也可以使用其它的名称
[root@pc ~]# vgdisplay 显示VG卷组的信息
--- Volume group ---
VG Name vg0 VG的名称,很重要,删除VG时就是使用这个名称
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.00 GB
PE Size 4.00 MB
Total PE 1023
Alloc PE / Size 0 / 0
Free PE / Size 1023 / 4.00 GB
VG UUID v7lHK2-VjXs-n7pD-v1wk-Xd2F-3vbu-ovX4b1
[root@pc ~]# vgscan -v 用vgscan扫描lvm文件系统
Wiping cache of LVM-capable devices
Wiping internal VG cache
Reading all physical volumes. This may take a while...
Finding all volume groups
Finding volume group "vg0"
Found volume group "vg0" using metadata type lvm2
[root@pc ~]# vgrename vg0 test vgrename可以修改刚才创建的vg的名字
Volume group "vg0" successfully renamed to "test"
[root@pc ~]# vgdisplay 再次使用vgdisplay查看时VG卷名已经变成test
--- Volume group ---
VG Name test
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 4.00 GB
PE Size 4.00 MB
Total PE 1023
Alloc PE / Size 0 / 0
Free PE / Size 1023 / 4.00 GB
VG UUID v7lHK2-VjXs-n7pD-v1wk-Xd2F-3vbu-ovX4b1
[root@pc ~]# vgchange -a n vg0 休眠卷,在删除卷时要休眠卷,是卷,不是卷组
0 logical volume(s) in volume group "vg0" now active
[root@pc ~]# vgremove test 删除test卷组,将它从LVM中删除
Volume group "test" successfully removed
[root@pc ~]# vgcreate vg0 /dev/sdb 重新将/dev/sdb加入到LVM中
Volume group "vg0" successfully created
[root@pc ~]# vgscan -v 显示vg的信息
Wiping cache of LVM-capable devices
Wiping internal VG cache
Reading all physical volumes. This may take a while...
Finding all volume groups
Finding volume group "vg0"
Found volume group "vg0" using metadata type lvm2
[root@pc ~]# lvcreate -L2G -n lv vg0 在vg0卷组中建立一个2G的lv卷
Logical volume "lv" created
[root@pc ~]# lvcreate -i2 -I4 -l1024 -n lv vg0
i2参数是指交叉存放数据,2是指使用两块硬盘
I4是指交叉存放数据时采用的块大小,这里是4KB
n是指lv名称
L是指大小
l是指数据块,1Mb一般是256个块(4K大小),可以通过指定块的多少来决定分区的大小
[root@pc ~]# lvdisplay 显示一下lv卷的信息
--- Logical volume ---
LV Name /dev/vg0/lv
VG Name vg0
LV UUID Blj3l3-0VXg-iNVP-3Ehk-BvZz-Mn0q-KV4N8h
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 32
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0
[root@pc ~]# pvmove /dev/sdb /dev/sdc
/dev/sdb: Moved: 40.6%
/dev/sdb: Moved: 84.4%
/dev/sdb: Moved: 100.0%
在两个卷之间移动数据,如果你是以交错方式存放数据的话,千万不要打断,要是打断的话,自求多福吧。
[root@pc ~]# lvremove /dev/vg0/lv 删除卷,这个卷不能被挂载,不然无法删除。
/dev/cdrom: open failed: Read-only file system
Do you really want to remove active logical volume "lv"? [y/n]: y
Logical volume "lv" successfully removed
successfully removed,顺利的干掉了,这个世界清静了
调整空间,如果使用的是ReiserFS文件系统
[root@pc ~]# lvextend -L+1G /dev/vg0/lv 直接使用lvextend加空间就行了,
/dev/cdrom: open failed: Read-only file system
Extending logical volume lv to 3.00 GB
Logical volume lv successfully resized
[root@pc ~]# resize_reiserfs -f /dev/vg0/lv 用reiserfs的分区调整工具调整
可不用卸载分区,直接调整
减小空间
[root@pc ~]# resize_reiserfs -s-1G /dev/vg0/lv先使用reiserfs的分区调整工具调整,减少1G
[root@pc ~]# lverduce-L-1G /dev/vg0/lv 然后使用lverduce减少空间就行了,
/dev/cdrom: open failed: Read-only file system
Extending logical volume lv to 3.00 GB
Logical volume lv successfully resized
所有的操作不用umount
ext3的减少,要先umount分区
先显示出要减小的卷的块数量,本例中是535552,1G的块数量是262144
[root@pc ~]# mke2fs -n /dev/vg1/lv1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
268192 inodes, 535552 blocks
26777 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=549453824
17 block groups
32768 blocks per group, 32768 fragments per group
15776 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
减小1G的空间时这样计算 535552-262144=273408
[root@pc ~]# resize2fs /dev/vg1/lv1 273408
然后使用lvreduce减小空间
[root@pc ~]# lvreduce -L -1G /dev/vg1/lv1
最后直接mount分区就可以了