一个逻辑卷[LV]可以跨多个卷组[VG]
文件系统建立在逻辑卷基础上,如果逻辑卷不建立文件系统,那么该逻辑卷就是裸设备。[在LV上没有用NEWFS建立文件系统,那这个LV就还是裸设备,只当它建立文件系统之后,便不能成为裸设备。]
问题:一个逻辑卷可以建立多少个裸设备?
-----------hp unix-------------------------
物理卷(Physical Volume)称为PV:
指物理上的硬盘,一个硬盘就是一个PV;
逻辑卷(Logical Volume)称为LV:
相当于对大硬盘进行逻辑分区,一个VG里可有若干个LV。
逻辑卷组(Logical Volume Group)称为VG:
一个VG包含整数个PV,可理解为一个大硬盘。
文件系统(File System):
在逻辑卷的基础上,可建立文件系统,然后MOUNT到一个目录下,这样就可以文件存取的方式来使用这块硬盘了。当然,您也可以不建文件系统,而直接把LV当作裸设备,以TRUNK方式来存取数据,许多数据库都是用这种方式存取数据。
-----linux-----
1物理卷-简称PV
物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区
2卷组-简称VG
卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
3逻辑卷-简称LV
逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组
4 物理区域-简称PE
物理区域是物理卷中最小的可分配储存单元
5 逻辑区域-简称-LE
逻辑区域是逻辑卷中可用于分配的最小储存单元
6 卷组描述区域-简称VGDA
用于描述物理卷,卷组,逻辑卷分配的所由信息
我试着画了一个ASCII图来使这些形象化。
一个物理卷,包含了许多物理分区:
+-----[ Physical Volume ]------+
| PE | PE | PE | PE | PE | PE |
+------------------------------+
一个卷组,包含了2个物理卷(PV)有6个物理分区:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--------------+ +---------------+ |
+---------------------------------------+
我们现在做更进一步扩展:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--+---+---+---+ +-+----+----+---+ |
| | | | +-----/ | | |
| | | | | | | |
| +-+---+---+-+ +----+----+--+ |
| | Logical | | Logical | |
| | Volume | | Volume | |
| | | | | |
| | /home | | /var | |
| +-----------+ +------------+ |
+---------------------------------------+
---true64------
*磁盘介质Disk Media,显示为DM,对应于物理硬盘或其的一个分区。
*细分磁盘SubDisk,显示为SD,是在磁盘介质上对空间作进一步细分。
*卷束Plex,显示为PL,建立在SD上,多个卷束可以构成镜像卷或RAID5卷。
*逻辑卷Volume,显示为V,用于建立文件系统或被数据库使用。
*磁盘组 Disk Group,显示为DG,磁盘组包括所有关于逻辑卷的定义和空间。
*文件系统 File System:在逻辑卷的基础上,可建立文件系统,然后MOUNT到一个目录下,这样就可以文件存取的方式来使用这块硬盘了。当然,也可以不建文件系统,而直接把Volume当作裸设备,以TRUNK方式来存取数据,许多数据库都是用这种方式存取数据。
----------------hp unix 逻辑卷管理------------
明确了上述概念,我们再来进一步了解在HP-UX下正确使用硬盘的顺序及相应命令:
1. 先建物理卷:
操作如下:pvcreate -f /dev/rdsk/cCdDtT
需要注意的是这里必须使用硬盘的字符设备文件
2. 再建逻辑卷组:
# mkdir /dev/vg0X X:0_f,逻辑卷组名
# mknod /dev/vg0X/group c 64 0x0X0000
# vgcreate vg0X /dev/dsk/cCdDtT
3. 然后划分逻辑卷:
# lvcreate -L size vg0X
size:该逻辑卷大小
4. 在LV上建文件系统:
# newfs -F file_system_type /dev/vg0X/rlvolY
file_system_type:文件系统类型,包括hfs和vxfs,注意此时用该逻辑卷的字符设备文件。
5. 将此文件系统Mount到一个目录下:
# mkdir /directory
# mount /dev/vg0X/lvolY /directory
操作截至到这里,已经可以使用这个硬盘了。但有时可能在现有的环境下,需要添加、删除逻辑卷,或者是需要扩大文件系统。我们可以这样做:
1. 添加逻辑卷
1)添加文件系统卷。例如:在vg01上添加一个200M的文件系统卷,卷名为data,mount到目录/sample 上。
A、创建逻辑卷,在系统提示符下键入命令:
# lvcreate -L 200 -n data /dev/vg01
B、在逻辑卷data上创建文件系统:
# newfs -F hfs /dev/vg01/rdata
注意:如果是vxfs文件系统,则用# newfs -F vxfs /dev/vg01/rdata
C、创建目录/sample,并将逻辑卷data mount 到/sample.
# mkdir sample”
# mount /dev/vg01/data /sample
D、用bdf命令,将会看到/dev/vg01/data mount 到 /sample上。
2) 添加非文件系统卷(raw data volume)。仍让我们以上述操作为例。
A、创建逻辑卷,在系统提示符下键入命令:
# lvcreate -L 200 -n data /dev/vg01
B、创建目录/sample,并将逻辑卷data mount 到/sample.
# mkdir sample
# mount /dev/vg01/data /sample
C、用bdf命令,将会看到/dev/vg01/data mount 到 /sample上。
2. 删除逻辑卷
例如:删除 vg01 中名为 data 的逻辑卷,mount 到/sample。
1) 卸载所要删除的逻辑卷:
A、首先用 umount 命令将逻辑卷 data 从/sample上卸载下来:
# umount /sample
B、若系统提示设备忙,不能卸载;则在根目录系统提示符下,键入以下命令,进入单用户:
# shutdown -y 0
在单用户下,先将所有逻辑卷mount上,键入命令:
# mount -a
用bdf命令看该逻辑卷是否已经mount上,如果mount上,键入以下命令:
# umount /sample
2) 删除逻辑卷 /dev/vg01/data ,用命令:
# lvremove /dev/vg01/data
3. 扩大文件系统
1) 扩大文件系统,首要任务是要找到这个文件系统所对应的逻辑卷。只有首先扩大逻辑卷,给文件系统以足够大的空间,才能扩大文件系统。
2) 为扩大逻辑卷,先进单用户,在根目录系统提示符下,键入命令:
# shutdown -y 0
3) 进入单用户后,先将所有文件系统mount上,键入命令:# mount -a
4) 用bdf命令看该文件系统是否已经mount上,如果mount上,用命令 #umount文件系统名umount该文件系统。例如,想要扩大“/usr”到500M ,就键入命令:
# umount /usr
5) 用命令: # lvextend -L 500 /dev/vg00/lvol4
这里,假定 /usr 对应 /dev/vg00/lvol4
6) 用命令:
# extendfs /dev/vg00/lvol4 扩大文件系统。
注意:如果是vxfs文件系统,则用
# extendfs -F vxfs /dev/vg00/lvol4
7) 用命令:
# mount /dev/vg00/lvol4 /usr
将文件系统 mount 到 /usr
这样,文件系统“/usr”就被扩大了,
8) 用命令:
# init 3 进入原来多用户运行级。
4. UNIX 的文件系统
UNIX的文件系统是树状结构,一般指在一个逻辑卷上的文件的集合。从根部开始,在表面上看,文件系统好象是一个整体,但实际上,文件系统可以分成不同的部分,单独占据一块逻辑卷,就是一个文件系统。
------------AIX--------------------------------------------
aix的lvm
AIX中逻辑存储的限制
卷组(VG) 255个/每个系统
物理卷(PV)32个/每个卷组
物理分区(PP)1016个/每个物理卷
逻辑卷(LV)256个/每个卷组
逻辑分区(LP)32512个/每个逻辑卷
AIX系统逻辑卷:
Paging Space:/dev/hd6,用于存储虚拟内存中信息的固定的磁盘空间
Journal Log:/dev/hd8,用于记录系统中文件系统结构的改变
Boot LV:/dev/hd5,用于系统启动映象的物理上连续的磁盘空间
AIX系统文件系统:
/(root):系统启动进程所需的重要的系统设备信息及应用程序的存储空间
/usr:/dev/hd2,系统命令、信息库以及应用程序的存储空间
/var:/dev/hd9var,系统的日志文件和打印数据文件的存储空间
/home:/dev/hd1,系统中用户数据的存储空间
/tmp:/dev/hd3,系统临时文件和用户工作的存储空间
LVM操作命令:
# lsvg [–o | –l | –p] [VG_Name]查看系统中VG的信息
-o:查看系统中活动的VG列表
-l:查看属于指定VG的LV的信息
-p:查看属于指定VG的PV的信息
如:# lsvg –o | lsvg –i –l
查看系统中属于活动VG的LV的信息
注意:当用# lsvg –p VG_Name命令查看属于指定VG的PV信息时,系统将给出VG中每
个PV上的空闲PP的分布情况(FREE DISTRIBUTION)。如:
# lsvg –p rootvg
rootvg:
PV_NAMEPV_STATETOTAL PPsFREE PPsFREE DISTRIBUTION
hdisk0active1595224..00..00..00..28
hdisk1active1597832..02..00..12..32
FREE DISTRIBUTION的含义如下:
外部边界..外部中间..中心..内部中间..内部边界
outer edge..outer middle..center..inner middle..inner edge
# lslv [–l | –m] [LV_Name]查看系统中LV的信息
-l:查看属于指定LV的LP的分配方式(intra-physical volume)
-m:查看指定LV中的LP与PP之间的映射关系(inter-physical volume)
注意:当用# lslv –l lv00命令查看属于指定LV的信息时,系统将给出指定LV的LP数
及其拷贝数,符合内部物理卷(intra-physical volume)分配方针的PP所占整个
LV包含PP数的比例,以及PP在每个PV上的分布情况(DISTRIBUTION)。
如: # lslv –l lv00
lv00:/home/john
PVCOPIESIN BANDDISTRIBUTION
hdisk0010:000:00030%000:000:007:003:000
COPIES的含义如下:
第一个拷贝所占的PP数:第二个拷贝所占的PP数:第三个拷贝所占的PP数
010:000:000
IN BIND的含义如下:
符合内部物理卷分配方针的PP数占整个LV的PP数的比例
30%
DISTRIBUTION的含义如下:
外部边界..外部中间..中心..内部中间..内部边界
outer edge..outer middle..center..inner middle..inner edge
# lspv [–l | –p] [PV_Name]查看系统中PV的信息
-l:查看指定PV上的所有LV的信息
-p:查看指定PV上所有LP与PP之间的映射关系
# mkvg –y VG_Name [–s PP_Size | –n] PV_Name创建新的VG
-y VG_Name:指定新创建的VG名
-s PP_Size:指定VG中的PP的大小(缺省为4MB(PV的大小小于4.5GB))
-n:指定系统启动时不激活新创建的VG
如:创建一包含三个PV的PP大为4MB的VG
# mkvg –s 4 –y newvg hdisk1 hdisk2 hdisk3
# chvg –a n[y]VG_Name更改VG的启动特性
-a n[y]:更改系统启动时不自动激活VG(-a n)或自动激活VG(-a y)
# extendvg –f VG_Name PV_Name扩展VG的大小
-f:强制将原属于其他VG的PV加入此VG
# reducevg [–d] VG_Name PV_Name缩小VG的大小
-d:强制将此VG中的PV移出此VG
注意:AIX中没有删除VG的命令,欲删除一个VG,只要将此VG中的PV全部移除即可。
# reorgvg VG_Name LV_Name [LV_Name]重新安排VG中LV的分配策略
注意:为了改善系统中磁盘的性能,可以将使用频繁的LV放在VG的中心。
# varyonvg [–s] VG_Name激活一个VG
-s:将VG置为系统管理模式(不允许用户访问此VG)
# varyoffvg [–s] VG_Name关闭一个VG
-s:将VG置为系统管理模式(不允许用户访问此VG)
注意:当从系统中移出一个VG时,应先使用此命令关闭VG。
使用此命令时,VG上的所有LV(系统LV除外)都应处于关闭状态。
# importvg –y VG_Name –f PV_Name接入一个VG
-y VG_Name:指定欲接入的VG名
-f PV_Name:指定任一属于欲接入VG的PV名
# exportvg VG_Name输出一个VG
注意:将一个VG从系统A移至系统B的正确步骤为:
系统A:# umount all
# varyoffvg VG_Name
# exportvg VG_Name
系统B:# impoertvg –y VG_Name –f PV_Name
# varyonvg VG_Name
# rmlv [–f] LV_Name删除一个LV
-f:不要求用户确认直接删除LV
注意:不要删除一个还包含有JFS的LV或Paging Space逻辑卷。
正确的步骤为:先用SMIT将LV中的JFS删除,再删除LV。
# chlv –n New_LV_Name更换LV的名字
# migratepv [–l LV_Name] Source_PV Target_PV将一个PV上的数据移至另一个PV
-l LV_Name:指定欲迁移的LV名
注意:迁移PV上的数据时,要求目标PV(Target_PV)的大小大于源PV(Souce_PV),
且目标PV与源PV必须在同一个VG中。
注意:当增加一个LV的拷贝数(增加LV的镜像)时,必须用# syncvg命令使LV及其拷
贝同步(同步镜像)。
FS的管理:
JFS的结构:超级块(Superblock)、I节点(inodes)、数据块(间接块)。
超级块中包含FS的大小、标识、空闲空间列表、磁盘片段(Fragment)大小
以及nbpi(决定FS中inodes的数目)。
I节点中包含文件的大小、文件所有者、文件的权限、文件的创建和访问的
时间以及指向数据块的指针。
数据块中包含实际的数据,缺省大小为4KB。(间接块中包含指向数据块的
指针)。
注意:超级块(Superblock)的备份放在块31(Block 31)用于超级块的恢复。
磁盘片段(Fragment)用于将数据块分割成更小段,以充分利用数据块的空间。但
是采用磁盘片段会影响系统的性能。AIX可以采用的磁盘片段大小为:512、1024、
2048、4096 Bytes。