通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
资源搜索:
热门搜索:Linux VB C语言 PhotoShop Flash TCP/IP
   首页 | 文章 | 软件 | 动画 | 资源 | 励志 | 骗术 | 论坛 | 邮箱 | 会员中心 | 军事 | 科技 | 博客 | 图片 | 商城 | 最新更新 | 800g资源 | 爱心黑客
您现在的位置: 爱国者黑客 >> 资源 >> 操作系统 >> AIX >> 应用技术 >> 文章正文
红皮书第五章-存储管理
责任编辑:admin   更新日期:2005-8-6
Y Prefix ] LogicalVolume Copies [ PhysicalVolume ... ].注意:尽管该命令可以分割开放的LV以及其中已经mount的文件系统,但这么做如果被多处理器系统同时访问可能会失去两个LV之间的连贯性,在分割这些LV的时候,有丢失数据数据损坏的危险。
要分割属于有3个副本的oldlv的LV每个LP的副本并创建newlv,使用:splitlvcopy -y newlv oldlv 2,结果oldlv中有两个副本,newlv中有两个副本。
6.5.7列出LV:系统安装时会自动创建以下LV:
hd5引导LV,只在系统引导时可用;
hd6默认页面LV;
hd8默认日志空间;
hd4用于根文件系统;
hd2/usr文件系统;
hd9var/var文件系统;
hd3/tmp文件系统;
hd1/home文件系统.
列出这些LV用命令:lsvg|lsvg –il.

lslv命令用于察看与lv有关的属性.如:lslv newlv

6.5.8LV大小=PP大小×分配到LV的LP数×镜象数

六.日志文件系统管理
文件系统是文件/目录以及其他结构的集合.文件系统还可能包含引导块,超级块,位图和一个或多个分配组(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域的值表示是否支持大文件.

七.解决文件系统问题
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.

八.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报告文件系统中的空间信息
1. While using the SMIT install menus

上一页  [1] [2] [3] [4] 下一页

  • 上一篇文章:
  • 下一篇文章:
  • 热门文章
    Olldbg常见问题
    汇编语言的艺术(组合语言的艺术)--观
    汇编语言的艺术(组合语言的艺术)--准
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言的艺术(组合语言的艺术)--基
    汇编语言---程式设计 (4)
    虚拟8086模式
    SYS命令使用说明
    javascript + CSS 实现动态菜单显
    推荐文章
    自制Windows XP SP2自动安装光盘
    SQLServer注入工具改进版 v1.02
    使用photoshop CS进行自然美肤
    Photoshop绘制诺基亚手机
    PHOTOSHOP制作秋日之梦
    PHOTOSHOP鼠绘名模王爱萍
    Photoshop制作晶莹飞溅的水珠
    教你用PHOTOSHOP做放大镜
    鼠绘美女及服装修画全过程