返回列表 回复 发帖

存储管理.逻辑卷管理.文件系统入门.讲义PDF

存储管理,逻辑卷管理,文件系统入门讲义

1.逻辑卷管理概念
5个概念:物理卷(physical volumes)-卷组(VG)-物理分区(PPartitions)-逻辑卷(LV)-逻辑分区(LP)
每个独立的硬盘称作物理卷(PV),并有一个名字(如hdisk0);
所有的物理卷属于一个称作rootvg的卷组(VG);
所有在一个VG中的PV被分为相同大小的物理分区(PP);
每个VG中可以定义一个或多个逻辑卷(LV),LV是位于PV上的信息的组合,在LV上的数据可以连续或者不连续地出现在PV
每个LV包含一个或多个逻辑分区(LP),每个LV相当至少一个PP,如果对LV指定了镜象,就要有双倍的PP被分配用来存储每个LP的备份.
LV可以提供许多系统需要的服务(如页面空间),但是每个存储了一般系统/用户数据或程序的LV都包含一个单独的日志式的文件系统(JFS),每个JFS包含一群页面大小(4K)的块.AIX4.1以后,一个给出的文件系统可以被定义为拥有小于4k的片断.系统安装完毕后,有一个VG(rootvg),包含一套系统启动的基本的LV和其它在安装脚本中指定的VG.
本帖隐藏的内容需要回复才可以浏览


2.逻辑卷管理器
操作系统命令/库子程序/其它工具允许建立和控制LV存储,成为逻辑卷管理器(LVM).LVM通过简单而灵活地在存储空间的逻辑视图和实际物理盘之间映射来管理磁盘资源.

2.1 LVM配置数据
描述LMV的组件的数据存放在好几个地方.理解这些关于VG/LV/PV的描述性的数据放在几个地方是很重要的.
1)ODM 数据库
ODM数据库包含了所有PV/VG/LV的配置信息.这些信息与VGDA中的信息互为镜象.ODM数据也和LV控制块中的信息相互镜象;
2)VG描述区(VGDescriptorArea)
VGDA位于每个物理卷的开头,它包含所有属于本VG的LV和PV的信息.VGDA被几乎所有的LVM命令更新.VGDA产生每个VG的自述.AIX可以读取每个磁盘的VGDA,从VGDA中,可以获知哪些PV和LV属于这个卷组.每个盘至少包含一个VGDA,时间的变化很重要,VGDA中的时间戳用于确定哪个VGDA正确地反映了VG的状态.如果VG中一个盘出错,VGDA可能无法同步磁盘,这样磁盘上的VGDA就无法在磁盘不运行的时候更新.所以需要一种方法来更新VGDA刚在线的磁盘,这就是处理进程要做的.
当磁盘被创建为一个PV(以mkdev命令)的时候,VGDA也被创建,这时会在盘开始保留一段空间给VGDA.当PV被分派到一个VG(用mkvg或extendvg)的时候实际的VG信息就被写到VGDA中去.当一个PV从VG中删除的时候(用reducevg),VG信息也从VGDA中删除.
3)VG状态区(VGSA)
VGSA包含了PP和PV的状态信息.如VGSA知道一个VG中的PV是否不可用.VGDA和VGSA都有非常重要的开始和结束时间戳.时间戳可以让LVM了解最近的VGDA和VGSA的拷贝在时间上的变化.
LVM要求选择VGDA的时间戳和选择VGSA的时间戳是相同的.
4)LV控制块(LVCB)
LVCB位于每个LV的开头.它包含了LV的一些信息,占用几百个字节.可以使用getlvcb命令获取某个LV的LVCB信息并显示出来.如:getlvcb -TA hd2显示了hd2 LV的LVCB信息.

2.2磁盘quorum
每个VG中的物理盘至少有一个VGDA/VGSA.一个盘中VGDA的数量根据VG中的盘的总数而变化.变化规律如下:
VG中有一个PV两个VGDA在一个盘上
VG中有两个PV两个VGDA在一个盘上,一个在另外一个盘上
VG中有两个以上的PV每个盘上有一个VGDA
quorum是一种状态,这种状态确保一个VG中一半以上的PV是可以访问的,是活动的VGDA/VGSA的数量决策,它可以确保在发生磁盘出错的时候的数据完整性.
如果quorum失败,VG会关闭自身,使磁盘不再可以由LVM访问,防止磁盘进一步读写而导致的数据丢失.另外错误日志中也会记录该错误.这也暗示了磁盘镜象的某些注意的地方,在一个双盘镜象的系统中,如果第一个盘出错那么就丢失了66%的VGDA,整个VG就变得不可用.这就失去了镜象的目的.由于这种原因,两个以上的盘(通常是奇数)提供了更高的可用性,特别是想使用镜象的时候.
也可以关闭任何VG的quorum保护.关闭quorum保护可以使一个VG在出现前面的情况的时候仍然在线.这种能力提供了相对廉价的镜象方案,但是有数据丢失的危险.磁盘出错后,数据可以访问,但是不再被镜象了.
2.3磁盘镜象
磁盘镜象是两个或三个PP的联合与每个LV中的LP的联合.当数据被写到LV中的时候,也被写入与该LV的LP关联的PP中,所以镜象数据提高了数据的可用性.AIX和LVM提供了在LV级别上的镜象工具.如果镜象建立,当LV创建的时候就可以实现.
mklv命令允许为每个LV选择一到两个额外副本.镜象也可以被加入到一个已经存在的LV中,需要使用mklvcopy命令.采用以下镜象选项可以进一步提高数据可用性:三个数据副本比两个数据副本更可靠;
把LP副本分布在不同的PV上比分配在一个PV上可靠.进一步地,可以把数据副本存放在不同适配器上的不同PV中.
mirrorvg命令镜象一个VG中所有的LV.相同的功能也可以对VG中的每个LV用mklvcopy命令人工完成.使用mklvcopy时,要被镜象的目标物理驱动器必须是该VG的成员.使用语法:
mirrorvg [ -S | -s ] [ -Q ] [ -c Copies] [ -m ] VolumeGroup [ PhysicalVolume .. ]
默认情况下,mirrorvg试图镜象LV到VG中的任何盘上.mirrorvg命令使用LV被镜象时的默认设置镜象LV.如果想改变镜象创建策略,必须用mklvcopy手工去创建所有的镜象.
也可以使用smitty mirrorvg完成VG镜象:
三重镜象一个VG:mirrorvg workvg -c 3 workvg,在workvg中的LV中的LP就有三个副本.
默认镜象rootvg:mirrorvg rootvg rootvg就有两个数据副本
在镜象VG中替换失败盘:unmirrorvg workvg hdisk7>;>;reducevg workvg hdiak7>;>;rmdev -l hdisk7 -d.替换失败的磁盘,然后命名为hdisk7:extendvg workvg hdisk7>;>;mirror workvg.默认情况下,mirrorvg将试图为workvg中的LV创建两个副本,试图创建新的镜象到被替换的磁盘.但是,如果原系统是三重镜象的,可能就没有新的镜象创建到hdisk7上,因为该LV中的其它副本可能已经存在.
同步新创建的镜象:mirrorvg -S -c 3 workvgc参数指出mirrorvg后每个LV必须有的副本数.而-S参数指出立即返回mirrorvg命令并完成VG的后台同步.当镜象同步的时候不会显示出来,但是一旦准备好,可以立即被系统使用.
创建一个原样的镜象VG: mirrorvg -m datavg hdisk2 hdisk3-m参数允许在PP层次镜象一个LV,该LV的PP可以组织已经在源副本上组织好的数据.
rootvg镜象:rootvg镜象完成,要完成以下任务:
1.bosboot命令从RAM文件系统和核心创建一个引导镜象.该命令在自定义新的镜象盘上的引导记录时是被要求使用的.
2.bosboot命令总是为硬盘保存设备配置数据,不更新NVRAM中的引导设备列表,要修改列表,使用bootlist.
3.最后,mirrorvg命令关闭quorum功能.要关闭rootvg的该功能系统必须重启.注意:如果bosboot命令没有成功创建引导盘,不要重启.这个问题应该被解决并且bosboot命令成功完成运行.bosboot要求一些/tmp和目标保存的文件系统中的空间(如果该镜象存在).
非rootvg镜象:如果一个非rootvg被镜象,quorum状态是去活的.要使所有quorum去活,所有开放的LV必须被关闭.然后VG varyoff再vary on使quorum改变生效.如果VG的vary on没有完成,尽管镜象正常运行,但quorum的改变没有生效.
rootvg和非rootvg镜象:系统dump设备(主:/dev/hd6次:/dev/sysdumpnull)不应被镜象,在某些系统中,页面设备和dump设备是相同的,而用户想对页面设备做镜象.当mirrorvg探测到一个dump设备和页面设备相同时,该LV就会自动被镜象.如果mirrorvg发现dump设备和页面设备在不同的LV,页面设备自动镜象,而dumpLV不会.dump设备可以用sysdumpdev命令来查询和修改.
附件: 您所在的用户组无法下载或查看附件
AIX - IBM小机 / 服务器.存储交流

3.物理卷管理

3.物理卷管理
讨论:加入新磁盘/改变PV属性/监控PV
3.1 PV配置:三种方法
a)该方法用于可以在连接磁盘前关机的情况.当系统在加入一个磁盘后引导,cfgmgr命令在系统引导时运行,它可以自动配置磁盘.引导完成,以root用户登录,运行lspv,查看新盘.显示如下
hdisk1nonenone
或者hdisk100005264d21adb2enone
其中第二行中的16位号码是PV的ID.如果输出以PVID显示新的磁盘,他可以用于LVM的配置.如果新盘没有PVID,要使用3.2节说明的方法把一个盘创建为一个PV,然后该盘才可以被LVM使用.
b)这种方法适用于不能在连接磁盘前关机的情况.运行lspv列出已经配置的物理盘,显示如下:
hdisk0000005265ac63976rootvg
然后运行cfgmgr配置所有新发现的设备.再次运行lspv查看新盘条目,例如:
hdisk1nonenone
或者hdisk100005264d21adb2enone
一旦确认了新配置的盘名,使用6.3.2描述的创建PV方法来使该盘可以被LVM使用.
c)该方法适用于不能在连接磁盘前关机的情况.该方法要求知道以下信息:盘如何连接的(subclass)/磁盘类型(type)/盘连接到哪个系统接口(parent name)/盘的逻辑地址(连接到哪里).如果知道以上信息,使用以下方法配置该盘,通过pv=yes属性来确保该盘是一个可用的PV:
mkdev -c disk -s subclass -t type -p parentname -w whereconnected -a pv=yes
pv=yes属性使磁盘成为一个PV并以独特的PVID写入引导记录.
3.2把一个磁盘变为一个PV
一个新盘必须被配置为PV才可使用.可以通过指派一个PVID使一个磁盘变为一个PV:chdev -l hdisk1 -a pv=yes.这个命令对于已经是PV的磁盘没有影响.
3.3修改PV属性
讨论两个可以被chpv命令修改的PV属性:
为一个PV设置分配许可:一个PV的分配许可决定了该PV上的未指派到LV中的PP是否可以被分配使用.设置分配许可要定义PV中一个新PP的分配是否被允许.以下的命令用于关闭hdisk1的分配许可:chpv -a n hdisk1,要打开,把n该为y即可.
设置一个PV的可用性:一个PV的可用性定义了该PV是否可以完成任何逻辑输入输出操作.当一个PV被从系统删除或失败时应该被设为不可用.以下命令用于设置PV的状态为不可用:chpv -v r pvname,这将去活PV中所有的VGDA和VGSA副本,该PV也不会参与未来的quorum检查上的vary.关于该卷的信息也会从其它在一个VG中的PV的VGDA中删除.要设为可用,把以上命令的r改为a即可.注意:chpv命令在运行时使用/tmp目录的空间存储信息,如果失败,可能是由于/tmp空间太少.
3.4删除PV
如果一个PV可以从系统删除,那么它必须是没有配置的.使用rmdev命令把hdisk1的状态从available改变到defined状态:rmdev -l hdisk1.此后,该PV的定义将仍然保留在ODM中,如果加上-d参数,则从ODM中删除.
3.5列出PV信息
一个正确地配置在系统中的PV可以被指派到VG中并随后用于建立LV和文件系统.自由的PP的信息和磁盘上的扇区可用性非常有用.使用lspv命令可以获得这些信息.
a)列出系统中的PV:不带参数运行,结果如下:
# lspv
hdisk0 00615147ce54a7ee rootvg
hdisk1 00615147a877976a rootvg
如果带-C和-c class参数也会连同每个PV的状态列出系统中的PV,结果如下:
# lsdev -C -c disk
hdisk0 Available 40-58-00-0,0 16 Bit SCSI Disk Drive
hdisk1 Available 40-58-00-1,0 16 Bit SCSI Disk Drive
hdisk2 Available 20-68-L SSA Logical Disk Drive
hdisk3 Available 20-68-L SSA Logical Disk Drive
hdisk4 Available 20-68-L SSA Logical Disk Drive
hdisk5 Available 20-68-L SSA Logical Disk Drive
hdisk6 Available 20-68-L SSA Logical Disk Drive
b)列出PV属性:下面是用lspv命令找到更多信息的例子:
# lspv hdisk1
PHYSICAL VOLUME: hdisk1 VOLUME GROUP: rootvg
PV IDENTIFIER: 00615147a877976a VG IDENTIFIER 00615147b27f2b40
PV STATE: active//VG STATE可以用varyonvg命令来修改,其取值有三个:active/complete(所有PV是活动的),active/partial(一些PV没有激活),ina- ctive(VG没有活动).
STALE PARTITIONS: 0 ALLOCATABLE: yes//STALE PP是失效PP,ALLOCATABLE的值表示系统是否允许分配新的在该PV上的PP
PP SIZE: 4 megabyte(s) LOGICAL VOLUMES: 13//PP SIZE是VG属性是在用mkvg命令建立VG的时候定义的VG的最小片断大小
TOTAL PPs: 238 (952 megabytes) VG DESCRIPTORS: 1//VGDESCRIPTORS描述了包含该PV的VG中VGDA的个数
FREE PPs: 71 (284 megabytes)
USED PPs: 167 (668 megabytes)
FREE DISTRIBUTION: 48..02..00..00..21//概括了自由PP依据它们所在的PV的位置的分布状况.
USED DISTRIBUTION: 00..46..47..47..27
每栏的左边列出了PV本身的信息,右边是该PV所属的VG的信息.

c)列出PV上的LV分配信息:以-l参数列出hdisk1上的LV信息:lspv -l hdisk1.显示结果:

d)列出PV上的PP分配:用lspv -p hdisk1找出更多关于PP分配到LV中的范围和这些PP使用的磁盘区域的详细信息.显示信息如下:

一些注释:
PP RANGE当前行分区申请的PP的范围
STATE分区是否被分配了,取值为:used或free
REGION该分区在磁盘区域上的位置
LV NAME该分区所属的LV名
TYPE在LV中文件系统的类型
MOUNTPOINT文件系统的mount点

e)列出PP分配表:可以用lspv -M命令对一个LV进行磁盘整理,提高磁盘I/O性能.可以经过分析输出决定是否整理系统,显示如下:

第一列为命令指定的盘指出了PP(如果一组相邻分区都是自由的,将会显示分区范围),第二列指出了哪个LV的哪个LP被分配到该PP.
f)迁移PV中的内容:属于一个或多个指定的LV的PPs可以从一个PV移动到一个或多个其它在VG中的PV.这要使用migratepv命令.注意:该命令不能在不同VG之间移动数据.6.5.5讲述了如何在VG之间移动数据.要在VG内移动一个失败的盘中的数据有以下步骤:
1)确定哪些盘在VG中,确认目的和源PV在一个VG中.执行lsvg -p rootvg可以确认.然后进行第三步;
2)如果计划迁移到一个新盘,又需要完成以下步骤 1)用lsdev -Cc disk确认磁盘为PV;
(2)如果磁盘被显示可用,确认该盘不属于其它VG:lspv PVNAME;
(3)如果磁盘不可用,要检查或安装磁盘;
(4)加入新盘到VG中:extendvg VGname hdisknumber;

3)确认目标盘有足够的空间 1)确认源盘PP数目:lspv SourceDiskNumber|grep "USED PPs";
(2)确认目标盘上的自由PP数目:lspv DestDiskNumber|grep "FREE PPs",把所有目标盘上的自由PP相加,如果和大于源盘上使用的PP数,就有足够的空间.
4)要移动一个在非rootvg中的PV的数据的时候,请跳到第5步.否则进行该步.查看是否bootLV(hd5)在源盘上:lspv -l SrcDiskNum|grep hd5,没有输出,则可以进行第5步.如果有输出,运行migratepv -l hd5 SrcDiskNum DstDiskNum(注意:如果VG在并发模式vary on,migratepv命令不可用,而且该命令无法迁移条带化LV,这种情况下要使用cplv拷贝数据,再用rmlv删除旧数据;
该命令运行要有root用户权限.).下一步就会得到一条关于警告应该在目标盘上完成bosboot命令的消息(注意:如果bootLV被从一个PV上迁移了,源盘上的引导记录应该被清除,如果清除失败,可能会导致系统挂起.这样当运行bosboot命令时,也必须运行mkboot -c);
运行mkboot -c命令清除源盘的引导记录.
5)执行smitty migratepv迁移数据.
6)按下F4列出PV,选择源PV;
7)默认的目的PV是VG中随意的可用的PV,如果想选择,按F4;
如果愿意,在Move only data belonging to this LV域显示并选择一个LV.这就会只移动分配到指定的LV的该盘上的PP;
9)回车开始移动;
10)如果磁盘失败,用reducevg VGname SrcDskNum从VG中删除源盘;
11)在从机器上拆下失败的硬盘的之前,运行rmdev -l SrcDskNum -d;
其它migratepv的用途:用该命令从hdisk1移动PPs到hdisk6和hdisk7(均在一个VG):migratepv hdisk1 hdisk6 hdisk7
用该命令从hdisk1移动在某LV上的PP到hdisk6:migratepv -l lv02 hdisk1 hdisk6
AIX - IBM小机 / 服务器.存储交流

6.日志文件系统管理

6.日志文件系统管理
文件系统是文件/目录以及其他结构的集合.文件系统还可能包含引导块,超级块,位图和一个或多个分配组(allocation group).一个分配组包含磁盘i节点和片断.AIX支持三种文件系统:JFS/NFS/CDFS.每个JFS分别在不同的LV中.初始化时,系统会mount一些系统和引导需要的文件系统.NFS是一种分布式文件系统.
JFS把LV分为一些固定大小的逻辑块.逻辑块有以下组件构成:0逻辑块/超级块/分配组.0逻辑块是系统保留的,被引导程序或其他信息使用,不能被文件系统使用.超级块是从1到30块,包含诸如整个文件系统的块数(512k/块)文件系统名,文件系统日志设备,版本号和文件系统状态等数据.31块用来备份.文件系统中的逻辑块休止符被分为一些分配组.一个分配组包含i节点和数据块,当分配组被分配到目录或文件中去的时候会参考那些数据块.那些组可以被用于安排数据的物理位置.
6.6.1JFS的属性:i节点数/分配组大小/文件系统片断可访问能力/文件系统日志大小/最大文件系统容量,这些属性在文件系统被创建的时候就被定义了.
i节点数目:该数目决定了该文件系统中的文件数目和文件系统的大小.JFS提供了nbpi(Num of bytes per i-node)样式,该样式影响文件系统的i节点数.JFS支持的nbpi值有512/1024/2048…/131072.32768以后的值只在AIX4.2以后的支持.如果要创建一个8M的文件系统,其nbpi为4096,则每4096字节的数据就会得到一个i节点.这就使得该文件系统中最多有2048个节点,也就是说文件系统中最多2048个文件.JFS限制所有的文件系统中最多16M(2的24次方)个i节点.
分配组大小:JFS按i节点和块的分组为用户数据分割文件系统空间.分配组大小是8M/16M/32M/64M.每个分配组大小有一个关联的nbpi范围.具体如下:
Allocation Group size in MBMaximum number of i-nodes
8 512, 1024, 2048, 4096, 8192, and 16384
16 1024, 2048, 4096, 8192, 16384, and 32768
32 2048, 4096, 8192, 16384, 32768, and 65536
64 4096, 8192, 16384, 32768, 65536, and 131072
文件系统片断可访问性:JFS支持4种片断大小:512,1024,2048,4096字节的连续空间.JFS维护在i节点和块中的地址,一共有28位.每个片断必须可以可以通过一串0到2^28的数字访问.
JFS日志:JFS日志大小为4M,初始安装后,所有的在rootvg下的文件系统默认使用hd8作为日志文件的lv,默认大小为4M,大小为一个分区,如果文件系统超过2G或使用一个log的总计文件系统空间超过2G,默认log大小需要增加.JFS日志限制最大为256M.
最大JFS大小:在文件系统创建时定义的.例如选择文件片断为512,则文件系统最大为512×2^24=8G.当创建一个JFS,所有属性(nbpi/fragment size/分配组大小)都要考虑好.文件系统大小=nbpi*2^24=fragment size*2^28.
6.6.2创建文件系统
1.执行smitty crjfs;
2.选择Add a Standard JFS;
3.选择要创建的文件系统的VG;
4.在视图中输入文件系统大小(块数).如果想创建一个4M的文件系统,可以用4乘以2048得到块数;
5.在MOUNT POINT域输入想mount的全路径;
6.回车会显示创建过程.
注意:AIX中的所有I/O都是以4KB的块来进行的,但是这里空间的计算是以512K的块来计算的,这主要是为了和其他UNIX保持兼容.最小的文件系统大小是一个PP,因而如果指定的块数目不够一个PP,系统会仍然创建一个PP容量的文件系统.可以使用命令行方式来完成:crfs –v jfs –g VGNAME –a size=BLOCKS –m MOUNTPOINT.
6.6.3Mount一个文件系统
mount是一个使文件系统或文件或设备或特殊文件可用的操作.它是使一个文件系统可用的唯一方法.注意,如果mount点是一个已经mount过的文件夹,已mount的文件系统的根目录不许mount.通常容易出错的是执行pwd命令,没有查找已经mount完成的文件夹的许可,pwd命令将返回拒绝消息.如果设置mount的文件夹的目录许可为111就不会出现这种问题.
用命令行方式mount一个文件系统:mount /filesysX,如果知道设备连接到系统的名字,可以直接使用设备名mount最新创建的文件系统.如果想mount所有的文件系统,可以使用mount –a或all.
使用smit mount文件系统:执行smitty mount->;在视图中选择mount a filesystem回车->;在DIR over which to mount域按F4可以得到已经定义的文件系统的mount点.然后选择想mount的文件系统,回车选择->;按回车就可以mount成功.
自动mount:在系统初始化时,文件系统可以被自动mount,有两种类型的自动mount:1.那些在引导时要求的mount,/etc/filesystems文件关于这些文件系统的定义中有mount=automatic的描述.如果多用户初始化启动后运行了mount all,/etc/rc脚本不会试着再去mount这些文件系统.通常运行umount all,这些文件系统不会umount.
2.第二种是用户控制的,这些文件系统在初始化时被/etc/rc脚本的mount all命令执行.用户控制自动mount的定义在/etc/filesystems中有mount=true.
除以上两种方法之外,可以把在文件系统创建时的自动mount域中设置为true,或者使用chfs –A yes FILESYSTEM命令.
显示已mount的文件系统:mount
6.6.4删除文件系统:
1.使用mount命令检查当前mount的文件系统;
2.如果文件系统已mount,先umount并检查是否成功,如果未mount则继续;
3.运行smitty rmjfs;
4.按下F4得到所有在系统中定义的文件系统列表,选择要删除的回车;
5.如果要保留mount点,按回车完成,否则把RM mountpoint设为YES回车.
也可以在确认要删除的文件系统umount之后,使用命令rmfs FSname来完成.如果要删除mount点,带上-r参数.
6.6.5增加文件系统大小.如果文件系统的剩余空间太小,会出现不可预料的问题.
1.使用df命令得到文件系统的当前大小;
2.计算需要增加的块数;
3.在命令行方式下输入:chfs –a size=NewBlocks FileSysName
NewBlocks是增加后的大小,不是要增加的大小.
用smit方式的步骤:
1.运行smitty chjfs;
2.选择想改变的文件系统回车,会出现报告文件系统的信息;
3.在SIZE of filesystem域输入新块数,回车即可成功.
6.6.6减少文件系统大小:
1.对要减少的文件系统做一个备份,如/usr.备份命令可以使用4个,cpio/ backup/tar/savevg;
2.如6.6.4所述删除文件系统;
3.创建新的文件系统,使用更小的空间,要有相同的名字.
注意:如果创建的空间太小不能容纳已有数据,恢复将会失败,使用df -k命令看当前在文件系统中的数据的块数.
4.恢复文件系统备份.
也可用mksysb命令减少文件系统,在从一个mksysb恢复rootvg时,有一个选项是shrink磁盘上的文件系统.如果选择该项,VG中的LV和文件系统被重建为包含该数据的最小尺寸.用户定义的VG也可以用restvg –s人工恢复.
6.6.7文件系统连贯性
fsck命令检查文件系统连贯性并交互地修复文件系统.常用语法是:
fsck [ -n ] [ -p ] [ -y ] [ -d BlockNumber ] [ -f ] [ -ii- NodeNumber ][ -o Options ] [ -t File ] [ -V VfsName ] [ FileSystem1 - FileSystem2 ... ]
参数意义:
-f完成快速检查,如果系统被不正常关闭而文件系统已mount,容易受到影响.该参数提示fsck命令不要检查已经umount的文件系统.而fsck命令通过检查文件系统的超级块可以确定是否mount.无论一个文件系统是被mount还是被clear,只要被umount,都要设置此参数.如果文件系统被成功umount,不可能有任何其它问题.因为多数文件系统被成功umount,不再检查这些文件系统可以减少时间.
-p不要显示关于镜象的问题消息,但自动修复它们.该参数不允许大规模的许可(象-y参数一样),当系统正常启动时,该参数对完成自动检查很有用.应该把该参数作为系统启动过程的一部分.该参数允许并行检查.如果主超级块损坏,次超级块被校验并拷贝到主块.
-tFile如果fsck命令不能获得足够的内存保存被检查的文件系统的表, 在其他文件系统中指定一个草稿文件.如果不指定-t参数,而fsck命令需要一个草稿文件,系统会提示输入草稿文件名.如果指定了-p参数,fsck命令将会失败.如果草稿文件不是特殊用途文件,fsck命令结束时将删除文件.
-y设定用yes回答所有的被fsck命令提出的问题.该参数让fsck命令采取任何认为必要的操作.只有在文件系统严重损坏的时候才使用该参数.
Fsck命令检查并交互修复不一致的文件系统,应该在mount文件系统之前使用该命令.必须可以读取文件系统所在的设备文件.
通常,文件系统是一致的,fsck命令仅仅报告文件的数目,使用的块数,自由块数.如果文件系统不一致,fsck命令显示找到的不一致的信息并提示允许修复它们.如果文件系统不能修复,从备份恢复这些数据.
Mount不一致的文件系统可能导致系统冲突.如果不用样式指定文件系统名,fsck命令将check所有的文件系统(/etc/filesystem中的check=TRUE).
注意:默认情况下,/,/usr,/var,/tmp文件系统的在/etc/filesystem中的check属性设为False,因为:1.引导进程在这些文件系统明确运行fsck命令;
2.这些文件系统在脚本/etc/rc运行时被mount,fsck命令不会修改一个已mount的文件系统.fsck命令在mount的文件系统中上运行的结果是不可预知的.
6.6.8初始化JFS日志设备:logform命令初始化一个用于JFS日志设备的LV.该LV存储了关于文件系统大量改变的交互信息,并能在系统冲突时用于部分回滚操作.语法为:
logformLOGNAME
注意:该命令有破坏性,会清除所有在LV中的数据;
意外运行该命令会完全毁坏文件系统的数据.如果一个日志设备因为要被文件系统使用而开放,文件系统应该先umount再对日志设备运行logform.logform命令毁坏所有在设备上的日志记录,可能会造成文件系统数据的丢失.可用以下命令确认log日志被关闭了:lsvg –l VGNAME.
6.6.9JFS日志设备的位置:JFS日志LV应该被放置在一个与最经常读写的文件系统不同的PV中,最好放在一个最少读写的盘中,以增加并发资源使用.系统也支持每个文件系统有独立的JFS日志.但特别要考虑的是,应该尽量避免多个JFS日志放置到相同的盘上.
6.6.10支持大文件的文件系统:对于超过2G的文件,64位处理器可以不用任何特殊指令打开文件.4.2以前版本的没有潜在的支持大文件.在支持大文件的文件系统中,存储在4MB文件偏移量之前的文件数据被以4096字节的块分配,超过4M文件偏移量的以128K的大块保存.大块实际上是32个连续的小块.如132M的文件有1024个小块和1024个128K的大块.在规则的文件系统中,132M的文件要求33个独立间接块(每块以1024个4K的磁盘地址填满).但是大文件系统中只要求2个独立间接块.
察看文件系统是否支持大文件:lsfs –q FILESYS.其中的bf域的值表示是否支持大文件.

7.解决文件系统问题
6.7.1恢复错误的超级块:如果在使用fsck或者mount命令时,出现以下错误时,可能是超级块损坏:fsck: Not an AIX3 file system
fsck: Not an AIXV3 file system
fsck: Not an AIX4 file system
fsck: Not an AIXV4 file system
fsck: Not a recognized file system type
mount: invalid argument
这些问题可以通过恢复超级块备份来解决:dd count=1 bs=4k skip=31 seek=1 if=/dev/lv00 of=/dev/lv00.
对于AIX4:fsck –p /dev/lv00
一旦恢复进程完成,用fsck检查文件系统的完整性.
一般说来,超级块的恢复会恢复文件系统,如果没有恢复,重建文件系统然后恢复数据.
6.7.2不能umount文件系统
如果一个文件系统的任何参数仍然活动就不能被umount.下列情况可能让一个开放的参数留在mount的文件系统中:
1.文件系统中的文件打开了,对于这种情况可以用fuser命令检查活动状态,它为所有的在某个文件系统中有开放参数的进程返回ID:
fuser –xc /tmp
有开放参数的进程可以被杀死,然后就可以umount了.
2.文件系统可能由于核心进程打开了.fuser命令不会显示这些类型的参数,因为用户进程没有包括在内.但是genkex命令会报告所有的核心用户进程.
3.文件系统mount在另一个文件系统中,在umount一个文件系统之前,必须确认所有的mount在该文件系统mount点上的文件系统已经被umount.
4.一个进程在使用要umount的文件系统中的一个目录,fuer命令追加一个c到所有这些进程ID,-u参数区分进程的属主.可以和find命令一起使用.如:
find /home –type d –exec fuser –u {} \
意思是在/home目录下找到所有的目录,对每条记录执行fuser –u,然后回车.{}代表每条记录.对于一个交互进程,有一个确定的用户改变它们的工作目录到文件系统外.否则杀死该进程,就可以完成umount.

8.LVM命令总结
6.8.1PV命令:
getlvcb获取lvcb信息
lsdev列出ODM中的设备
chdev改变设备属性
mkdev加入设备
chpv改变PV状态
lspv显示一个VG中的PV的信息
migratepv从一个PV移动一个已分配的PP到一个或多个其他PV
6.8.2VG命令:
mirrorvg对VG镜象
unmorrorvg解除镜象
mkvg创建新VG
extendvg给一个VG加新的PV
reducevg从一个VG中删除一个PV
chvg改变VG属性
lsvg显示一个VG的信息
importvg安装一个VG
exportvg删除一个VG
reogrvg重组VG
syncvg同步VG
varyonvg使一个VG可用
varyoffvg使VG不可用
2.8.3LV命令
mklv创建LV
lslv列出LV属性
rmlv删除LV
extendlv增加一个LV的大小
chlv改变LV的属性
mklvcopy为一个LV增加副本
rmlvcopy从一个LV删除副本
6.8.4文件系统命令
chfs改变一个FS的属性
crfs加入一个FS
lsfs显示一个FS的属性
rmfs删除一个FS
mount使一个文件系统可用
umount使一个mount的文件系统或目录或文件不可用
fsck检查文件系统一致性并交互修复文件系统
df报告文件系统中的空间信息
AIX - IBM小机 / 服务器.存储交流
DDDDDDDDDDDDDDDDDDDDDDDDDD
asdsafsadfdgfhgjhgj
ding!!!!!!!!!!!!!!!!!!!!!!!!!!!
ddddddddddddddddddddddddd
gooooooooooooooooooooood
大哥好强的贴啊
不错不错!
返回列表