02 RedHat LVM逻辑卷管理Word文档下载推荐.docx
《02 RedHat LVM逻辑卷管理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《02 RedHat LVM逻辑卷管理Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
2.2工作原理4
3创建相应的磁盘分区5
3.1修改磁盘,创建相应的分区5
3.2使磁盘分区生效5
4创建PV5
4.1相关命令5
4.2创建物理卷5
5创建VG6
5.1相关命令6
5.2创建逻辑卷VG7
5.3在VG中删除与添加PV7
5.4PE和LV大小的关系和限制8
6创建逻辑卷LV9
6.1相关命令9
6.2创建逻辑卷LV9
7挂载逻辑卷LV10
7.1LV的格式化10
8LVM的删除方法和过程11
8.1umount取消挂载11
8.2删除LV逻辑卷11
8.3删除VG卷组11
8.4删除PV12
9命令说明12
1系统和软硬件环境说明
硬件环境:
X86主机平台
软件环境:
RedHatEnterpriseLinux4或更高版本
2LVM理论知识
LV
PV(PhysicalVolume):
物理卷,可以是单独磁盘,也可以是硬盘分区
VG(VolumeGroup):
卷组,是PV的组合,可以看成单独的逻辑磁盘
LV(LogicalVolume):
逻辑分区,当于物理分区的/dev/hdaX,只有逻辑卷才可以写数据
PE(PhysicalExtent):
物理范围,VG单元,类似于RAID的条带大小。
当多个PV组成一个VG时,LVM会在所有PV上做类似格式化的动作,将每个PV切成一块块的空间,这一块块的空间就称为PE,通常是4MB
LE(LogicalExtent):
逻辑范围,LV的组成单位。
大小为PE的倍数(通常为1:
1)
2.2工作原理
LVM在每个物理卷头部都维护了一个metadata,每个metadata中都包含了整个VG的信息,包括每个VG的布局配置、PV的编号、LV的编号,以及每个PE到LE的映射关系。
同一个VG中的每个PV头部的信息是相同的,这样有利于故障时进行数据恢复。
LVM对上层文件系统提供LV层,隐藏了操作细节。
对文件系统而言,对LV的操作与原先对Partition的操作没有差别。
当对LV进行写入操作时,LVM定位相应的LE,通过PV头部的映射表,将数据写入到相应的PE上。
LVM实现的关键在于在PE和LE间建立映射关系,不同的映射规则决定了不同的LVM存储模型。
LVM支持多个PV的Stripe和Mirror,这点和软Raid的实现十分相似。
使用LVM的优势:
•文件系统可以跨多个磁盘,因此大小不会受物理磁盘的限制。
•可以在系统运行状态下动态地扩展文件系统大小。
•可以增加新磁盘到LVM的存储池中。
•可以以镜像的方式冗余重要数据到多个物理磁盘上。
•可以很方便地导出整个卷组,并导入到另外一台机器上
使用LVM的限制:
•在从卷组中移除一个磁盘时必须使用reducevg,否则会出问题。
•当卷组中的一个磁盘损坏时,整个卷组都会受影响。
•不能减小文件系统大小(受文件系统类型限制)。
•因为加入了额外的操作,存储性能会受影响(使用Stripe的情况另当别论)
3创建相应的磁盘分区
3.1修改磁盘,创建相应的分区
[root@saniscsi]#fdisk-l
Disk/dev/sda:
42.9GB,42949672960bytes
255heads,63sectors/track,5221cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda1*1255204825683Linux
/dev/sda22563821020127+82Linuxswap/Solaris
/dev/sda3383522138869267+5Extended
/dev/sda538339510439183Linux
/dev/sda639640810439183Linux
/dev/sda740942110439183Linux
/dev/sda842243410439183Linux
这里创建了4个扩展分区,每个100M,用fdisk/dev/sda创建的,分区没有格式化
3.2使磁盘分区生效
[root@saniscsi]#partprobe
4创建PV
4.1相关命令
pvcreate创建PV
pvscan扫描PV
pvdisplay显示PV
pvremove删除PV
partprobe
4.2创建物理卷
[root@saniscsi]#pvcreate/dev/sda5/dev/sda6
Physicalvolume"
/dev/sda5"
successfullycreated
/dev/sda6"
[root@saniscsi]#pvscan
PV/dev/sda5lvm2[101.94MB]
PV/dev/sda6lvm2[101.94MB]
Total:
2[203.89MB]/inuse:
0[0]/innoVG:
2[203.89MB]
[root@saniscsi]#pvdisplay
"
isanewphysicalvolumeof"
101.94MB"
---NEWPhysicalvolume---
PVName/dev/sda5
VGName
PVSize101.94MB
AllocatableNO
PESize(KByte)0
TotalPE0
FreePE0
AllocatedPE0
PVUUIDhDtAhK-adlx-5Ex0-ogc1-Alvm-H274-a8u7c2
PVName/dev/sda6
PVUUIDSy1wPG-XnjQ-eYD5-91vj-Ug5b-EGgU-i30lCS
5创建VG
5.1相关命令
vgcreate创建VG
vgscan扫描VG
vgdispaly
vgextend
vgreduce
vgchange
vgremove
5.2创建逻辑卷VG
[root@saniscsi]#vgcreatevg0/dev/sda5/dev/sda6
Volumegroup"
vg0"
[root@saniscsi]#vgscan
Readingallphysicalvolumes.Thismaytakeawhile...
Foundvolumegroup"
usingmetadatatypelvm2
Device'
/dev/sda6'
hasbeenleftopen.
/dev/sda5'
[root@saniscsi]#vgdisplay
---Volumegroup---
VGNamevg0
SystemID
Formatlvm2
MetadataAreas2
MetadataSequenceNo1
VGAccessread/write
VGStatusresizable
MAXLV0
CurLV0
OpenLV0
MaxPV0
CurPV2
ActPV2
VGSize200.00MB
PESize4.00MB/*分配的块的大小默认为4M*/
TotalPE50
AllocPE/Size0/0
FreePE/Size50/200.00MB
VGUUIDiE7uoy-boR3-N6Cv-91Gf-G5vE-ftD6-gSGVlB
5.3在VG中删除与添加PV
[root@saniscsi]#vgreducevg0/dev/sda5
Removed"
fromvolumegroup"
[root@saniscsi]#vgextendvg0/dev/sda5
successfullyextended
5.4PE和LV大小的关系和限制
InordertolimittheLinuxkernelmemoryusage,thereisalimitof65,536physicalextents(PE)perlogicalvolume(LV).Hence,theLVMPEsizewilldirectlydeterminethemaximumsizeofalogicalvolume(LV)!
Forexample,4MBPEsize(thedefaultPEsize)willlimitsinglelogicalvolume(LV)to256GB,16MBPEsizewilllimitsingleLVtogrowbeyond1TB,etc.
BesidethePEsize,themaximumsizeofsingleLVisalsolimitedbyCPUarchitectureandLinuxkernelversion:
Linuxkernelversion2.4.xlimitthemaximumLVsizeto2TB.
SomeolderLinuxkernelpriorto2.4.x,themaximumLVsizeislimitedto1TB(causedbytheintegersignednessproblemsintheblocklayer).
Thecombinationof32-bitCPUandLinuxkernelversion2.6.x,thelimitoflogicalvolumesizeismaximizedat16TB.
ForLinuxkernel2.6.xrunningon64-bitCPU,themaximumLVsizeis8EB(extremelyterriblebigstorageforthistimebeing!
)
from:
这段问题里有如下2个重点信息:
1.PE的大小决定LV的容量,默认4M的PE最大支持的256G的LV。
16M的PE最大支持1TB的LV。
2.影响LV容量的还有CPU架构。
对于32bit下,Linux内核为2.6.X的支持16TB,64bit下,Linux内核为2.6.x的支持8EB。
所以如果要想支持大量的LV。
那么对在创建LV的时候,还需要指定PE的大小。
这个我们在vgcreate命令中加一个-s参数即可:
[root@saniscsi]#vgremovevg0
successfullyremoved
[root@saniscsi]#vgcreate-s16MBvg0/dev/sda5/dev/sda6
VGSize192.00MB
PESize16.00MB-这里我们看到PE改成16MB了
TotalPE12
FreePE/Size12/192.00MB
VGUUIDA9w4ho-3Fdo-ELYl-VRqY-yhaZ-61rt-68sXsi
6创建逻辑卷LV
6.1相关命令
lvcreate
lvscan
lvdisplay
lvextend
lvreduce
lvremove
lvresize
6.2创建逻辑卷LV
[root@saniscsi]#lvcreate-L184M-ndatevg0
Roundingupsizetofullphysicalextent192.00MB
Logicalvolume"
date"
created
[root@saniscsi]#lvscan
ACTIVE'
/dev/vg0/date'
[192.00MB]inherit
[root@saniscsi]#lvdisplay
---Logicalvolume---
LVName/dev/vg0/date
LVUUIDPAyJph-B9K2-P15u-Zkl3-pBxs-e0TG-DCuRzq
LVWriteAccessread/write
LVStatusavailable
#open0
LVSize192.00MB
CurrentLE12--注12*16MB=192MB,和之前的PE是1:
1
Segments2
Allocationinherit
Readaheadsectorsauto
-currentlysetto256
Blockdevice253:
0
7挂载逻辑卷LV
7.1LV的格式化
[root@sanvg0]#mkfs.ext3/dev/vg0/date
mke2fs1.40.8(13-Mar-2008)
Filesystemlabel=
OStype:
Linux
Blocksize=1024(log=0)
Fragmentsize=1024(log=0)
49152inodes,196608blocks
9830blocks(5.00%)reservedforthesuperuser
Firstdatablock=1
Maximumfilesystemblocks=67371008
24blockgroups
8192blockspergroup,8192fragmentspergroup
2048inodespergroup
Superblockbackupsstoredonblocks:
8193,24577,40961,57345,73729
Writinginodetables:
done
Creatingjournal(4096blocks):
done
Writingsuperblocksandfilesystemaccountinginformation:
Thisfilesystemwillbeautomaticallycheckedevery23mountsor180days,whichevercomesfirst.Usetune2fs-cor-itooverride.
[root@sanvg0]#mkdir-p/u01/backup
[root@sanvg0]#mount/dev/vg0/date/u01/backup
[root@sanvg0]#df-T
FilesystemType1K-blocksUsedAvailableUse%Mountedon
/dev/sda1ext31984016651076123052835%/
tmpfstmpfs34901603490160%/dev/shm
/dev/mapper/vg0-dateext319040356641749094%/u01/backup
挂载成功之后,就可以使用了
8LVM的删除方法和过程
VM卸载的方法与分区的删除方法类似,就是最后创建的最先删除,顺序如下:
先删除LV
再删除VG
最后PV
以前的LVM的分区应用fdisk转换成其它类型的文件系统,当普通分区使用
8.1umount取消挂载
[root@sanvg0]#umount/dev/vg0/date
/dev/sda1ext31984016651148123045635%/
8.2删除LV逻辑卷
[root@sanvg0]#lvremove/dev/vg0/date
Doyoureallywanttoremoveactivelogicalvolume"
?
[y/n]:
y
8.3删除VG卷组
[root@sanvg0]#vgchange-anvg0
0logicalvolume(s)involumegroup"
nowactive
[root@sanvg0]#vgremovevg0
successfullyremoved
对vgchange命令的说明,先看帮助:
[root@sanvg0]#vgchange--help
vgchange:
Changevolumegroupattributes
[-A|--autobackup{y|n}]
[--allocAllocationPolicy]
[-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|--logicalvolumeMaxLogicalVolumes|
-p|--maxphysicalvolumesMaxPhysicalVolumes|
-s|--physicalextentsizePhysicalExtentSize[kKmMgGtTpPeE]|
--addtagTag|
--deltagTag}
[VolumeGroupName...]
8.4删除PV
[root@sanvg0]#pvscan
PV/dev/sda6lvm2[101.94MB]
PV/dev/sda7lvm2[101.94MB]
3[305.83MB]/inuse:
3[305.83MB]
[root@sanvg0]#pvremove/dev/sda5/dev/sda6/dev/sda7
Labelsonphysicalvolume"
successfullywiped
Labelsonphysicalvolume