一个逻辑卷[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 用于描述物理卷,卷组,逻辑卷分配的所由信息
- 物理介质 The physical media
- 你应该感受“物理”这个单词有极大的延伸,虽然我们刚开始假设它仅仅是一个硬盘,或者一个分区。例如,/dev/hda,/dev/hda6,/dev/sda。你可以转换一个块设备上任何连续块到一个。。。
-
- 物理卷 Physical Volume (PV)
- 一个PV只不过是有许多管理数据添加在它里面的物理介质--一旦你添加了它,LVM就认为它是。。。的一个持有者。
-
- 物理分区 Physical Extents (PE)
- 物理分区真的象一些大的数据块,通常有几MB。PE可以分配给一个。。。
-
- 卷组 Volume Group (VG)
- 一个VG是由许多物理分区组成的(可能来自多个物理卷或硬盘)。虽然这可能容易让你认为一个VG就是由几个硬盘组成的(例如/dev/hda和/dev/sda),但是更确切的说,它包含由这些硬盘提供的许多PE。
-
- >从这个卷组,PE可以分配给一个。。。
-
- 逻辑卷 Logical Volume (LV)
- Yes,我们最终到达某处。一个逻辑卷是我们工作的最终结果,这里是我们存储信息的地方。这等同于传统分区的想法。
- 象用通常的分区一样,在逻辑卷上你能代表性的创建一个。。。
-
- 文件系统 Filesystem
- 文件系统是你想它成为的形态:标准的 ext2,ReiserFS,NWFS,XFS,JFX,NTFS,等等。。。对Linux内核来说,在通常的分区和逻辑卷之间没有差别。
我试着画了一个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。 |