LVM-逻辑卷管理器创建过程
1.系统环境
linux as4 P42.0/512M/80G IDE接口
2. 想关概念
LVM(logical volume manager) 逻辑卷管理器
其中主要分为这几个概念
1物理卷-简称PV
物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区
2卷组-简称VG
卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
3逻辑卷-简称LV
逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组
4 物理区域-简称PE
物理区域是物理卷中最小的可分配储存单元
5 逻辑区域-简称-LE
逻辑区域是逻辑卷中可用于分配的最小储存单元
6 卷组描述区域-简称VGDA
用于描述物理卷,卷组,逻辑卷分配的所由信息
一个建立逻辑卷的流程如下
PV-VG-LV
物理卷包含卷组,卷组包含逻辑卷
3.创建过程
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 检查逻辑卷
--------------------------------------------------------------------------
一、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/卷组名/逻辑卷名
=============================================================
LVM管理大分区
lvs 查看lv使用情况
sdb一共13个分区1-13
pvcreate /dev/sdb1
pvcreate /dev/sdb3
.
.
.
pvcreate /dev/sdb13
vgs 查看总vg使用情况
vgcreate mediavg /dev/sdb1
vgextend mediavg /dev/sdb2
vgextend mediavg /dev/sdb3
.
.
.
vgextend mediavg /dev/sdb13
vgs
lvcreate -L 500G -n medialv00 mediavg
lvcreate -L 500G -n medialv01 mediavg
.
.
.
lvcreate -L 500G -n medialv30 mediavg
mkfs.ext3 -m 0 /dev/mapper/mediavg-medialv00
.
.
.
mkfs.ext3 -m 0 /dev/mapper/mediavg-medialv30
pvs 检查pv使用情况
可以写个循环
[root@media1 tmp]# more mkfs_mk.sh
#!/bin/bash
for file in `seq -w 0 30`
do
mkfs.ext3 -m 0 /dev/mapper/mediavg-medialv$file
done
[root@media1 mnt]# more mkmount2.sh
#!/bin/sh
for file in `seq -w 0 30`
do
mount /dev/mapper/mediavg-medialv$file /mnt/disk$file
done
扩大LV
lvextend -L +1000G /dev/mapper/mediavg-medialv00
.
.
.
lvextend -L +1000G /dev/mapper/mediavg-medialv30
增大文件系统(这一步容易疏忽)
resize2fs /dev/mapper/mediavg-medialv00
.
.
resize2fs /dev/mapper/mediavg-medialv30
遇到需要挂载第二块硬盘的问题 第二块硬盘做了LVM
经过查找 找到了解决办法 备忘一下
#fdisk -l
[root@localhost /]# fdisk -l
Disk /dev/sda: 36.7 GB, 36778545152 bytes
255 heads, 63 sectors/track, 4471 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2463 19679625 83 Linux
/dev/sda3 2464 3949 11936295 83 Linux
/dev/sda4 3950 4471 4192965 5 Extended
/dev/sda5 3950 4471 4192933+ 82 Linux swap / Solaris
Disk /dev/sdb: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 8924 71681998+ 8e Linux LVM
Disk /dev/sdc: 36.7 GB, 36703934464 bytes
255 heads, 63 sectors/track, 4462 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 13 104391 83 Linux
/dev/sdc2 14 4462 35736592+ 8e Linux LVM
[root@localhost /]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 -- 68.36G 68.36G
/dev/sdc2 VolGroup00 lvm2 a- 34.06G 32.00M
sdc2就是我要挂接的
[root@localhost /]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
[root@localhost /]# lvscan
inactive '/dev/VolGroup00/LogVol00' [32.09 GB] inherit
inactive '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
可以看到新修改的VolGroup00是inactive状态
[root@localhost /]# vgchange -a y
2 logical volume(s) in volume group "VolGroup00" now active
[root@localhost /]# lvscan
ACTIVE '/dev/VolGroup00/LogVol00' [32.09 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [1.94 GB] inherit
好了,现在可以挂载了
[root@localhost /]# mount -t ext3 /dev/VolGroup00/LogVol00 /d1
--------------------------------------------
vgchange -a n cctv
使用上面这种方面停止掉了VG
再次启用那个VG
vgchange -a y cctv
-----------------------------------------------
lvm pv误格式化恢复
2009-05-04 10:49
今天误将lvm中的一个pv格式化,lvm部分信息丢失。
[root@localhost lvm]# pvdisplay Couldn't find device with uuid 'P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8'. --- Physical volume --- PV Name /dev/hda2 VG Name VolGroup00 PV Size 148.94 GB / not usable 0 Allocatable yes (but full) PE Size (KByte) 32768 Total PE 4766 Free PE 0 Allocated PE 4766 PV UUID iwb4XU-KKnJ-eu3A-HBuf-xIS2-GoaV-K6gM42 --- Physical volume --- PV Name unknown device VG Name VolGroup00 PV Size 149.03 GB / not usable 0 Allocatable yes PE Size (KByte) 32768 Total PE 4769 Free PE 7 Allocated PE 4762 PV UUID P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8
试了 vgreduce --removemissing VolGroup00 [root@localhost lvm]# vgreduce --removemissing VolGroup00 Couldn't find device with uuid 'P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8'. Couldn't find all physical volumes for volume group VolGroup00. Couldn't find device with uuid 'P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8'. Couldn't find device with uuid 'P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8'. LV VolGroup00/LogVol00 in use: not removing Failed to deactivate LV LogVol00 无效
最后尝试使用原先的uuid直接重新添加新硬盘 pvcreate --uuid P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8 /dev/hdc1 Physical volume "/dev/hdc1" successfully created 恢复成功。 [root@localhost lvm]# pvdisplay --- Physical volume --- PV Name /dev/hda2 VG Name VolGroup00 PV Size 148.94 GB / not usable 0 Allocatable yes (but full) PE Size (KByte) 32768 Total PE 4766 Free PE 0 Allocated PE 4766 PV UUID iwb4XU-KKnJ-eu3A-HBuf-xIS2-GoaV-K6gM42 --- Physical volume --- PV Name /dev/hdc1 VG Name VolGroup00 PV Size 149.03 GB / not usable 0 Allocatable yes PE Size (KByte) 32768 Total PE 4769 Free PE 7 Allocated PE 4762 PV UUID P022eH-A8VQ-EcG3-rILJ-0oWF-Ni88-sVEwP8 [root@localhost lvm]# vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 |