在Oracle 9iR2以前,在IBM AIX上使用lv raw(裸设备)作为Oracle数据文件的话,lv头部是存在一个4k的lv管理区的。正因为这个4k的lv头部,会导致8k以及8k以上的Oracle block(Oracle块)在使用这样的lv的时候,或者是lv strip(lv条带)的时候,可能会导致一个block跨在2个pv上面。最严重的后果就是,如果os写了一个pv上的半个块之后,来不及写下一个pv上的半个块(如果是在同一个pv则可以保证一个block同时被更新),这个时候系统崩溃或者掉电,将导致这个块前后不一致,也就是块corrupted:ORA-01578, 00000, “ORACLE data block corrupted (file # %s, block # %s)”。
为了改变这个现状,AIX在Oracle 9iR2以后,引进了一种新的LV类型,也就是“Z”类型LV,这种类型的LV通过lslv lv_name或者lslv -L lv_name可以看到它的类型为:DS_LVZ
#lslv -L lv_test_2g_001
......
DEVICESUBTYPE : DS_LVZ
或者,Oracle的dbfsize也可以检查
$dbfsize /dev/rlv_test_2g_001
Database file: /dev/rlv_test_2g_001
Database file type: raw device without 4K starting offset
Database file size: 261248 8192 byte blocks
如以上的结果,则显示这个LV是没有4k头部的”Z”类型的LV,如果是普通类型的lv,LV类型是DS_LV,这种类型的LV,在lslv的命令中没有任何SUBTYPE类型说明。
这样的LV需要特定的VG才能支持,因为它没有lv的头部了,那么,lv肯定就要靠VGDA来管理了。
这样的LV就是Big VG或者是5.3开始引进的Scalable-type VG,加上原始的VG,那么,在最新的5.3系统中,将有3中VG类型的差别,而5.2则只有big VG与普通VG。
通过mkvg -B可以创建big vg,通过mkvg -S可以创建Scalable-type VG,至于这两个VG类型上的差别,可以查看man mkvg,我在这里只说明它们在对“Z”类型LV,也就是DS_LVZ类型(没有4k头部的lv)以及普通DS_LV类型的lv上的差别。
1、对于Big VG,是唯一允许同时存在这两种LV类型的VG,如果我们指定-T O(注意,这里是大写的字母O),则创建DS_LVZ类型的LV,否则,创建普通类型的LV。如
#mklv -y’lv_test’ -t’raw’ -T O testvg 8 hdisk3
2、对于普通的VG,不管你使用什么命令创建lv,都是普通的DS_LV类型的LV
3、对于Scalable-type VG类型的VG,不管你使用什么方式的命令创建lv,都是扩展的DS_LVZ类型的LV
到这里,AIX应当只终于有一个彻底的解决方案了,根据你的实际情况,你可以选择不同的VG来管理你的LV。
问题似乎说的很清楚了,解决方案也很完美了,那么,结束了吗?没有,因为有bug
在文件集
bos.rte.lvm 5.2.0.97 (5200-09-03) and later
bos.rte.lvm 5.3.0.53 (5300-05-04) and later
的这个版本,包括以后,出现了一个bug,正确的OS版本应当是5305或者是5209?(5.2的小版本我不太清楚是哪一个,只能靠检查文件集版本了)以后,big vg出现了一个bug,就是使用-T O,创建成功的DS_LVZ类型的LV,在经过chlv或者是其它lvm命令,如varyoff/varyon之后,这个标志会消失。这个情况是比较可怕的,如你采用新创建的lv创建了数据文件,但是,后来,因为HA切换或者其它原因varyoff/varyon了这个VG,甚至exportvg/importvg了这个VG,新的LV在数据库看来,不是DS_LVZ类型的LV,数据库将试图跳过4k的偏移,但是偏移其实是不存在的。具体解决方案就是,请使用scalable类型的VG或者是打以上的补丁:
Problem is caused by defect IY94343 in AIX Operating System.
Solution is to apply fix: http://www-1.ibm.com/support/docview.wss?uid=isg1IY94343
其实,除了AIX自己的LVM,veritas的LVM管理在AIX上也有同样的问题,为了解决这个问题,veritas LVM推出了一种叫DS_VMZ类型的LV for aix。为了支持这个类型,Oracle 9205或者10.1以后,有一个对应的patch需要注意:patch 3712203:
3712203 BACKPORT THE ZSUBTYPE PATCH FOR VERITAS DEVICE FOR 9.2.0.X AND 10.1.0.X.
相关讨论,可以参考
http://www.dbanotes.net/database/aix_raw_lvm_4k_offset.html
通过lspv可以查看系统所有的可用硬盘(也可以叫物理卷,对应本地的物理硬盘或者是SAN环境下的,存储阵列中的LUN),如
#lspv
hdisk0 00cc2a6eb5f5891f rootvg active
hdisk1 00cc2a6ec7d0891d rootvg active
hdisk6 none None
hdisk7 none None
hdisk8 none None
hdisk9 none None
hdiskpower0 00cc2a6e0353c224 vg_db active
hdisk10 none None
hdisk11 none None
hdisk12 none None
hdisk13 none None
hdiskpower1 00cc2a6e035920ce vg_db active
如上面的结果所示,hdisk0-1属于rootvg,下面的hdisk(x)与以及通过Powerpath合并路径之后的hdiskpower0与hdiskpower1,属于vg_db,也可以通过lsdev查看其属性。
#lsdev -Cc disk
hdisk0 Available 09-08-00-8,0 16 Bit LVD SCSI Disk Drive
hdisk1 Available 09-08-00-9,0 16 Bit LVD SCSI Disk Drive
hdisk6 Available 0C-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk7 Available 0C-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk8 Available 0E-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk9 Available 0E-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk10 Available 0C-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk11 Available 0C-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk12 Available 0E-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdisk13 Available 0E-08-02 EMC CLARiiON FCP RAID 1/0 Disk
hdiskpower0 Available 0E-08-02 PowerPath Device
hdiskpower1 Available 0E-08-02 PowerPath Device
从上面可以看到,hdisk0-1是本地SCSI硬盘,hdisk6-13是EMC的Raid 10磁盘,是存储的LUN在多个路径下的产物,hdiskpower0/1则是Powerpath合并后的可用物理卷,真正对应到存储的LUN。
具体的对应信息,可以参考powerpath的命令:
#powermt display dev=all
每个硬盘的详细信息还可以通过
#lsattr -El hdisk0
#lscfg -vl hdisk0
等命令查看
如果有硬盘出错,或者有问题,可以通过
#rmdev -dl hdisk(x)删除,-d表示从ODM库中完全清除
对SAN环境下的磁盘,如果过多,可以采用如下方法
如删除EMC的hdiskpower[x]
#powermt remove dev=all
#lsdev -Ctpower -cdisk -F name | xargs -n1 rmdev -dl
#rmdev -dl powerpath0
#删除EMC CLAR硬盘
#lsdev -CtCLAR* -F name | xargs -n1 rmdev -dl
或者直接删除光纤卡所对应的SAN环境的硬盘,这种做法比较狠,一般不建议采用,-R参数表示删除该设备的所有子设备,属于一种级联删除。
#rmdev -dl fcs(x) -R
硬盘删除后,如果想重新使用,需要使用cfgmgr来重新识别或者是重新启动都可以,如采用cfgmgr命令来识别
#cfgmgr -v
如果磁盘在删除之前拥有pvid与vg,那么重新认将不影响原来的pvid与vg ,所以不需要重新 importvg。如果新认到的磁盘没有pvid,只有被分配给一个VG才可以使用。
相应命令:
#chdev -l hdisk1 -a pv=yes
如果是yes换成clear,则表示清除pvid,当然,你也可以通过创建VG来获得PVID。
注意:在HA的环境下,如果主节点已经把VG给varyon了,这个时候备用节点如果删除后重新认盘,是得不到PVID的,因为改PV已经被主节点锁定,如果在业务不是太忙的情况下,可以采用
主节点 #varyonvg -b -u vg_name
备节点 # chdev -l hdisk1 -a pv=yes 或者删除后重新认 # cfgmgr -v
主节点 # varyonvg vg_name
以上的-b -u是一个破锁的过程,这样后vg就可以被备用节点读取了。
在系统维护过程中,因为操作错误或其他特殊原因,有可能使某一PV上的LVCB和VGDA与其对应的ODM库不一致,导致ODM库紊乱,对PV的有关操作无法进行,这时可采用如下两个AIX命令加以解决:
#redefinevg -d hdisk_name vg_name
该命令以指定PV上的LVM信息重新定义给定VG的ODM库。
#synclvodm -P -v vgname
该命令同步或重建给定VG的ODM库和LVM信息,其中-P表示保持原来的所有者,-v表示显示详细信息。
很多情况下,在errpt中会收到这样的报错信息:
837E0DE7 1112202205 P O dumpcheck The largest dump device is too small.
对于这样的错误信息,一般都是主dump设备的空间太小。
在AIX 52以上,主dump设备都是建立在rootvg上的一个叫lg_dumplv的逻辑卷上。
我们可以采用如下方法改变该逻辑卷的大小
1、估算dump设备所需要的大小
# sysdumpdev -e
0453-041 Estimated dump size in bytes: 89758105
2、改变主dump设备的位置
#sysdumpdev -P -p ‘/dev/hd6′
primary /dev/hd6
secondary /dev/sysdumpnull
copy directory /var/adm/ras
forced copy flag TRUE
always allow dump FALSE
dump compression ON
以上是把主dump设备的位置先换到hd6,也可以采用sysdumpdev -p /dev/sysdumpnull,把主dump设备临时换到空dump设备上。
3、更改lg_dumplv的大小或者是重新以大的尺寸创建该lv
# extendlv lg_dumplv 2
最后的数字表示新增加的pp数目
4、改变主dump设备回lg_dumplv
# sysdumpdev -P -p’/dev/lg_dumplv’
primary /dev/lg_dumplv
secondary /dev/sysdumpnull
copy directory /var/adm/ras
forced copy flag TRUE
always allow dump FALSE
dump compression ON
5、运行检测程序,看是否还报错。
#/usr/lib/ras/dumpcheck
有些比较重要的LV,则希望能通过单独的镜相来解决数据保护问题,Aix提供mklvcopy来做LV的镜相。用smit mklvcopy或者如下命令
# mklvcopy lv_test 2 hdisk2
则表示把lv_test做一份拷贝到hdisk2,采用不同步方式,需要采用如下的命令来手工同步。如(注意参数是L的小写):
# syncvg -l lv_test
如果想在做镜相的时候就同步,可以在smit中指定SYNCHRONIZE=yes或者命令中增加参数-k
# mklvcopy -k lv_test 2 hdisk2
LV的镜相解除可以用smit rmlvcopy或者是如下命令(最后是数字1或者是2)
#rmlvcopy lv_test 1 [hdisk2]
注意,镜相最多可以做2份,连本身在一起3份,解除lv拷贝的时候,最后的数字一定要比拷贝份数小。是否同步成功,或者同步状态可以通过lslv lvname或者lslv -l lvname来查看。如
#lslv lv_test
......
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 128 megabyte(s)
COPIES: 2 SCHED POLICY: parallel
……
由于LV创建完成以后再镜相,如果lv比较大的话,这个速度会比较慢,这样的话,也可以考虑在创建lv的时候直接镜相。如采用smit mklv,并注意如下两个选项即可 :
Number of COPIES of each logical 2
partition
Allocate each logical partition copy yes
on a SEPARATE physical volume?
想镜相rootvg中的磁盘(假定是hdisk0),镜相到hdisk1
检查hdisk1是否能启动
#bootinfo -B hdisk1
1
如果返回1,则表示选择的磁盘可以被AIX引导,其它值表示该磁盘不适合做rootvg的镜相,因为不能被引导
以下步骤分别是
增加hdisk1到rootvg,如果hdisk1以前被被的VG使用过而不能被增加到rootvg,可以使用强制参数-f。
#extendvg -f rootvg hdisk1
开始做镜相,-m参数表示精确的复制,这里耗费的时间将比较长,如果想在后台操作,可以增加-S参数,这个同步操作将在后台慢慢完成,如果参数是-s,指是表示完成镜相,需要手工完成同步。
#mirrorvg -S -m rootvg hdisk1
0516-1124 mirrorvg: Quorum requirement turned off, reboot system for this
to take effect for rootvg.
0516-1126 mirrorvg: rootvg successfully mirrored, user should perform
bosboot of system to initialize boot records. Then, user must modify
bootlist to include: hdisk0 hdisk1.
初始化引导记录和设备
#bosboot -a -d hdisk1
bosboot: Boot image is 20703 512 byte blocks.
初始化引导列表
#bootlist -m normal hdisk0 hdisk1
对于以上命令的执行结果,可以通过如下命令来查看启动列表
#bootlist -m normal -o
hdisk0
hdisk1
如果是后台同步的情况下,可以通过如下命令来查看已经同步的情况
#lsvg -l rootvg
rootvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 66 132 2 open/stale N/A
hd8 jfs2log 1 2 2 open/stale N/A
hd4 jfs2 1 2 2 open/syncd /
hd2 jfs2 6 12 2 open/stale /usr
hd9var jfs2 1 2 2 open/stale /var
hd3 jfs2 1 2 2 open/stale /tmp
hd1 jfs2 1 2 2 open/stale /home
hd10opt jfs2 1 2 2 open/stale /opt
lg_dumplv sysdump 4 4 1 open/syncd N/A
注意以上的,open/syncd表示打开,已经同步完成的lv,open/stale表示打开,但是还没有完成同步的lv
如果没有同步,可以通过命令syncvg来手工同步,如
#syncvg -l hd3
也可以手工同步整个vg或者是pv,如
#syncvg -v rootvg
如果想解除镜相,可以执行如下的命令,一般是哪个盘有问题解除哪个盘,hd5等启动信息将存在于剩下的盘中。
#unmirrorvg rootvg hdisk1
0516-1144 unmirrorvg: rootvg successfully unmirrored, user should perform
bosboot of system to reinitialize boot records. Then, user must modify
bootlist to just include: hdisk0.
执行如下命令,清除拿掉盘的启动信息
#chpv -c hdisk1
然后执行如下命令,把它从rootvg 中拿掉
#reducevg rootvg hdisk1
注意,如果拿掉了该盘,或者重新做镜相的话,注意重新做bosboot与bootlist。
另外,migratepv可以在两个pv上来移动lv,如移动hd5
#migratepv -l hd5 hdisk0 hdisk1
在用以上的命令来移动引导信息如hd5的时候,需要在目标盘上有足够大小的连续空间来存放hd5,否则,该命令将失败。如果以上命令来移动hd5成功,也需要重新做bosboot与bootlist。
最后,查看系统引导盘的信息,如hd5在哪个磁盘上,可以用如下的命令
#lslv -m hd5
hd5:N/A
LP PP1 PV1 PP2 PV2 PP3 PV3
0001 0001 hdisk0 0001 hdisk1
xntpd是一个关于网络时间协议的守护进程,它遵循了因特网时间服务器的通用标准。在启动 xntpd 时, xntpd 会读取/etc/ntp.conf 配置文件来确定网络中系统时钟服务器,以ntp 服务器的系统时间为标准,来调整本机的系统时间。
可以用 ntpq 命令来显示 xntpd 进程的内部变量。使用 ntp 时应注意,xntpd 服务器和 xntpd 客户端的时钟不能相差超过1000秒。若有大于1000秒的偏移,在客户端启动 xntpd 守护进程前,用 data 命令或 ntpdate 命令调整本机的系统时间,使偏移量在1000秒之内。 然后启动 xntpd.
如果想设置NTP客户端,与时间服务器同步,可以采用如下步骤
1、客户端查询NTP服务器
ntp客户端使用 ntpdate 命令来确认是否可用指定的 ntp 服务器进行时间同步,命令的结果会显示客户端与服务器的时间偏移。
#ntpdate -d 192.168.30.221
……
18 Mar 10:52:54 ntpdate[23578]: step time server 192.168.30.221 offset 86323.068272 sec
若时间间隔大于1000秒,使用ntpdate 进行调整, 如:
#date
Tue Mar 18 11:06:29 BEIST 2003
#ntpdate 192.168.30.221
19 Mar 11:06:51 ntpdate[23832]: step time server 192.168.30.221 offset 86403.402607 sec
#date
Wed Mar 19 11:06:54 BEIST 2003
2、编辑 NTP 客户端上的 /etc/ntp.conf文件
内容如下:
#vi /etc/ntp.conf
—————————-
#broadcastclient
server 192.168.30.221
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
—————————-
其中的 server 192.168.30.221表明, 此客户端与IP地址为192.168.30.221的NTP服务器进行时间同步。
3、在NTP客户端启动xntpd守护进程
# startsrc -s xntpd
也可通过调用smitty,使 xntpd 在以后重启服务器时能自动启动。
# smit xntpd
选择Start Using the xntpd Subsyste
选择BOTH方式,表示立即启动以及系统下次启动的时候将自动启动
通过如下命令可以看到,其实xntpd是tcpip服务组的一个子服务而已
#lssrc -g tcpip
Subsystem Group PID Status
inetd tcpip 303118 active
snmpd tcpip 651356 active
xntpd tcpip 589898 active
……
同样,/etc/rc.tcpip可以看到如下的内容,表示该服务随TCPIP服务组一起启动
# Start up Network Time Protocol (NTP) daemon
start /usr/sbin/xntpd “$src_running”
4、如果以上完成,即可查询xntpd的状态
当 system peer 不为 ‘insane’ 时, 表明客户端已与服务器端成功地进行了同步。这个时间可能需要等待几分钟。
# lssrc -ls xntpd
Program name: –/usr/sbin/xntpd
Version: ——-3
Leap indicator: 00 (No leap second today.)
Sys peer: ——192.168.30.221
检查硬件是否支持64bit,可以用如下命令
#bootinfo -y
64
或者
#/usr/bin/getconf HARDWARE_BITMODE
64
如果如上面返回64,则表示硬件系统本身支持64bit。但是,硬件支持不表示OS就一定是64bit的,因为POWER硬件平台支持32位与64位两个模式,而AIX 5L又有32位与64位内核,所以在P系列的机器上可以运行32bit内核的OS(主要是跟aix 4.3或者以前版本兼容)。在作为数据库应用的情况下,我们希望OS的核心也是64位的,可以通过如下命令来查看OS核心是否是64位的。
#bootinfo -K
64
如果是64,表示OS内核是64bit的,如果返回32,表示OS内核是32位的。
在 AIX 5.2 中,缺省安装的是 32 位内核。在 AIX 5.3 以后,缺省情况下会在 64 位硬件上安装 64 位内核,在 32 位硬件上安装 32 位内核。
将32位内核转变为64位内核。
- ln -sf /usr/lib/boot/unix_64 /unix
- ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix
- bosboot -ad /dev/ipldevice
- shutdown -Fr
将64位内核转变为32位内核。
- ln -sf /usr/lib/boot/unix_mp /unix
- ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix
- bosboot -ad /dev/ipldevice
- shutdown -Fr
改变以后的结果,可以通过如下命令来查询获得
#ls -l /unix
lrwxrwxrwx 1 root system 21 Mar 24 2005 /unix -> /usr/lib/boot/unix_64
在以上的命令中,可能输出的有如下三种内核链接方式:
/unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel
/unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel
/unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel
注意:AIX 5L Version 5.3 不支持单处理器内核。另外,对32位的系统不能使用64位的内核,对64位的系统可以使用32位的内核。
lsattr可用来查看内存大小,如:
#lsattr -El sys0 -a realmem
realmem 5898240 Amount of usable physical memory in Kbytes False
或者是
#lsdev -Cc memory
L2cache0 Available L2 Cache
mem0 Available Memory
#lsattr -El mem0
goodsize 5760 Amount of usable physical memory in Mbytes False
size 5760 Total amount of physical memory in Mbytes False
lsdev则可以用来查询cpu的信息,如
#lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
这里表示有三颗可用的cpu。
lsattr则可以分别列出这些CPU的主频等信息
#lsattr -El proc0
frequency 1656400000 Processor Speed False
state enable Processor state False
type PowerPC_POWER5 Processor type False
其实,通过vmstat等命令,也完全可以查看cpu与内存的信息,如
#vmstat
System Configuration: lcpu=3 mem=5760MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
1 1 140906 1326590 0 0 0 0 0 0 427 5 52 0 0 99 0
最上方就显示了cpu个数为3,内存为5760M。下面的详细信息则是机器自启动以来的统计信息,在memory部分,数字代表的4K字节的内存大小,而不是字节数,这个需要特别注意,在aix中,大部分的内存表示都是4K字节大小为单位的(内存页)
查看系统的序列号
#uname -uM
IBM,9113-550 IBM,0265AD8CF
其中9113-550是型号,65AD8CF就是序列号
查看系统的微码
#lsmcode
DISPLAY MICROCODE LEVEL 802811
IBM,9133-55A
The current permanent system firmware image is SF235_180
The current temporary system firmware image is SF235_185
The system is currently booted from the temporary firmware image.
Use Enter to continue.
从上面的结果可以看到,系统当前的微码为SF235_185
这个X windows主要可能是Oracle 安装的时候会用到,Aix默认的X win是CDE。
X win的正常运行,起码需要如下文件
#lslpp -l X11.apps.rte X11.apps.xterm X11.base.rte X11.motif.lib X11.motif.mwm
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
X11.apps.rte 5.2.0.30 COMMITTED AIXwindows Runtime
Configuration Applications
X11.apps.xterm 5.2.0.0 COMMITTED AIXwindows xterm Application
X11.base.rte 5.2.0.50 COMMITTED AIXwindows Runtime Environment
X11.motif.lib 5.2.0.60 COMMITTED AIXwindows Motif Libraries
X11.motif.mwm 5.2.0.40 COMMITTED AIXwindows Motif Window
Manager
Path: /etc/objrepos
X11.base.rte 5.2.0.50 COMMITTED AIXwindows Runtime Environment
如果以上包不够或者没有,可以采用如下方法安装CDE X win,首先插入第一张安装光盘到光驱,然后运行:
#smit install_bundle
安装路径选择/dev/cd0
INPUT device / directory for software [/dev/cd0]
安装选项选择CDE,如
# Bundle (Locations)
AllDevicesKernels
Alt_Disk_Install
App-Dev
CC_EVAL.DocServices
CC_EVAL.Graphics
CDE
DocServices
GNOME
最后选择安装设置,如。
* INPUT device / directory for software /dev/cd0
* BUNDLE CDE
* SOFTWARE to install [all]
……
ACCEPT new license agreements? yes
回车执行,安装提示插入其它光盘,直到最后安装执行完成。如果X win安装成功,可以用如下命令来启动X win:
#/etc/rc.dt
1、检查所需要的文件集
Powerpath4.3以上要求devices.pci.df1000f7.com 5.1.0.58以上,devices.fcp.disk.rte 5.2.0.17以上
检查文件集
# lslpp -l devices.pci.df1000f7.com devices.fcp.disk.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
devices.fcp.disk.rte 5.2.0.60 APPLIED FC SCSI CD-ROM, Disk,
Read/Write Optical Device
Software
devices.pci.df1000f7.com 5.2.0.60 APPLIED Common PCI FC Adapter Device
Software
Path: /etc/objrepos
devices.fcp.disk.rte 5.2.0.60 APPLIED FC SCSI CD-ROM, Disk,
Read/Write Optical Device
Software
devices.pci.df1000f7.com 5.2.0.60 APPLIED Common PCI FC Adapter Device
Software
对应的补丁要求(仅仅针对5.2版本)
#instfix -a -ivk IY60183
IY60183 Abstract: Open failure on ESS with FC df1000fa adapter
IY60183 Symptom Text:
Customer sees open failures to FC attached disks across a
McData or Cisco switch. I/O hangs.
across the FC adapter.
----------------------------
Fileset devices.pci.df1000f7.com:5.2.0.42 is applied on the system.
Fileset devices.pci.df1000fa.rte:5.2.0.1 is applied on the system.
All filesets for IY60183 were found.
#instfix -a -ivk IY62117
IY62117 Abstract: I/O hang after 1 second cable pull and recovery
IY62117 Symptom Text:
The customer will notice I/Os hanging or I/Os not recovering.
In the error log, there will be logs on the fcs device
indicating link may have gone down and may have come up, and
IOCB timeouts and error logs on fscsi device indicating NPORT
login timouts, and target reset timeouts, etc.
----------------------------
Fileset devices.pci.df1000f7.com:5.2.0.43 is applied on the system.
All filesets for IY62117 were found.
2、安装agent,先解压agent软件
注意:Agent的软件要求版本最好与存储本身的软件版本一致。
#unzip AIX_NAVIAGNTCLI_619.zip
进去到解压后的目录
# cd AIX_NAVIAGNTCLI_619
运行
#smit install_latest
安装目录选择[.],表示本目录
软件列表选择需要安装的naviagent,或者是默认全部(因为本目录下只有agent)
> NAVIAGENT ALL
+ 6.19.0.4 Navisphere Disk Array Management Tool (AGENT)
> NAVICLI ALL
+ 6.19.0.4 Navisphere Disk Array Management Tool (CLI)
选择接受许可协议
ACCEPT new license agreements? Yes
回车安装
如果安装成功,将会自动在/etc/inittab中增加
naviagent:2:wait:/etc/rc.agent > /dev/console 2>&1
安装完成后,在启动之前,还需要配置agent
#vi /etc/Navisphere/agent.config
在如下部分增加:
user root # only on this machine
#user sblue@picasso # individual user "sblue" on host "picasso"
#user lgreen@hannibal # individual user "lgreen" on host "hannibal"
user system@192.168.168.190
user system@192.168.168.191
红色部分为需要增加的部分
3、安装powerpath ODM补丁
# zcat EMC.AIX.5.2.0.3.tar.Z| tar -xvf -
x ./README.5203, 21598 bytes, 43 media blocks.
x ./EMC.AIX.5.2.0.3, 15360000 bytes, 30000 media blocks.
#smit install_latest
选择安装软件列表或者是全部(假定本目录下只有该补丁)
> EMC ALL
+ 5.2.0.3 EMC CLARiiON Fibre Channel Support Software
+ 5.2.0.3 EMC CLARiiON HA Concurrent Support
+ 5.2.0.3 EMC Symmetrix AIX Support Software
+ 5.2.0.3 EMC Symmetrix Fibre Channel MPIO Support Software
+ 5.2.0.3 EMC Symmetrix Fibre Channel Support Software
+ 5.2.0.3 EMC Symmetrix HA Concurrent Support
如果在Symmetrix或者是CLARiiON不足的环境,可能会包安装错误,根据实际环境决定这个错误是否有影响,如有Symmetrix,CLARiiON的安装则会报错,反之一样。
如果在非ha的环境下,EMC.Symmetrix.ha.rte与EMC.CLARiiON.ha.rte也可能会出现安装错误,如果是非ha就没有关系的了。
如一般在单机情况下使用Clariion存储,如cx700,cx3-80等等,只需要安装第一个文件集即可。
4、安装powerpath
#gunzip EMCpower.AIX.4.5.1.tar.gz
# tar xvf EMCpower.AIX.4.5.1.tar
x EMCpower_install, 9830400 bytes, 19200 media blocks.
#smit install_latest
安装目录选择本目录
软件列表选择Powerpath或者是全部(本目录下只有powerpath)
>EMCpower ALL
+ 4.5.1.0 PowerPath Base Driver and Utilities
+ 4.5.1.0 PowerPath Consistency Group Extension and Utilities
+ 4.5.1.0 PowerPath HighRoad Extension and Utilities
+ 4.5.1.0 PowerPath Multi_Pathing Extension and Utilities
+ 4.5.1.0 PowerPath Multi_Pathing Extension for Active Active
+ 4.5.1.0 PowerPath Multi_Pathing Extension for Active Passive
+ 4.5.1.0 PowerPath Multi_Pathing Extension for Clariion
回车,接受协议,开始安装。
安装完成后,在/etc/inittab中,会增加一行
rcemcpower:2:wait:/etc/rc.emcpower set_ipldevice > /dev/console 2>&1
安装之后,需要输入序列号
#emcpreg -install 输入powerpath序列号
以下是powerpath的管理命令
# powercf -q
#powermt config 产生Emcpower设备
#powermt display dev=all 查看所有Emcpower设备及状态
#powermt display paths 查看光纤卡到EMC的路径
注意:先安装odm补丁,再安装powerpath,安装完成后需要重新启动一下。
安装过的补丁与powerpath可以通过如下命令查看
# lslpp -l EMC*
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
EMC.CLARiiON.fcp.rte 5.2.0.3 COMMITTED EMC CLARiiON Fibre Channel
Support Software
EMCpower.base 4.5.1.0 COMMITTED PowerPath Base Driver and
Utilities
EMCpower.consistency_grp 4.5.1.0 COMMITTED PowerPath Consistency Group
Extension and Utilities
EMCpower.hr 4.5.1.0 COMMITTED PowerPath HighRoad Extension
and Utilities
EMCpower.multi_path 4.5.1.0 COMMITTED PowerPath Multi_Pathing
Extension and Utilities
EMCpower.multi_path_aa 4.5.1.0 COMMITTED PowerPath Multi_Pathing
Extension for Active Active
EMCpower.multi_path_ap 4.5.1.0 COMMITTED PowerPath Multi_Pathing
Extension for Active Passive
EMCpower.multi_path_clariion
4.5.1.0 COMMITTED PowerPath Multi_Pathing
Extension for Clariion
Path: /etc/objrepos
EMC.CLARiiON.fcp.rte 5.2.0.3 COMMITTED EMC CLARiiON Fibre Channel
Support Software
5、卸载powerpath
注意,确保先停止agent
# /etc/rc.agent stop
删除powerpath盘
#powermt remove dev=all
删除所有hdiskpower*与hdisk*,如
删除EMC的hdiskpower[x]
#lsdev -Ctpower -cdisk -F name | xargs -n1 rmdev -dl
#rmdev -dl powerpath0
#删除EMC CLAR硬盘
#lsdev -CtCLAR* -F name | xargs -n1 rmdev -dl
卸载软件
# smit remove
在SOFTWARE name上,用F4或者Esc+4打开列表
AIX-rpm-5.2.0.50-1
EMC.CLARiiON.fcp.rte
EMC.Symmetrix.aix.rte
> EMCpower.base
> EMCpower.consistency_grp
> EMCpower.hr
> EMCpower.multi_path
> EMCpower.multi_path_aa
> EMCpower.multi_path_ap
> EMCpower.multi_path_clariion
并用F7或者Esc+7多选,选中EMCpower的部分,就是powerpath的安装软件包。
在如下选项中
PREVIEW only? (remove operation will NOT occur) no
REMOVE dependent software? no
EXTEND file systems if space needed? no
DETAILED output? no
确认不是仅仅是review,REMOVE dependent software一般采用默认值no即可,如果确认需要,可以采用yes来删除依赖的相关软件。
回车执行完后,powerpath就卸载删除了。
6、故障处理
在一些老的powerpath版本如4.2上面,如果hdiskpower出现混乱,如pvid的混乱或者是minor does not match with the hdiskpower number这样的事情,如
#ls -Ralsi dev|pg|grep hdiskpower
4258 0 brw------- 1 root system 47, 12 Mar 28 14:48 hdiskpower0
4392 0 brw------- 1 root system 47, 13 Mar 28 14:48 hdiskpower1
4394 0 brw------- 1 root system 47, 14 Mar 28 14:48 hdiskpower2
可以采用如下方法重新做
vary off volume groups on SAN (if any):
- for i in $(lsdev -Cc disk | grep hdiskpower | awk '{print $1}')
- do
- odmdelete -q name=$i -o CuAt
- odmdelete -q name=$i -o CuDv
- odmdelete -q value3=$i -o CuDvDr
- done
#odmdelete -q name=powerpath0 -o CuDv
#odmdelete -q name=powerpath0 -o CuAt
#rm /dev/powerpath0
这里移除老的powermtpath软件
#cd /dev; rm hdiskpower*; rm rhdiskpower*
#savebase -v
#reboot
这里再安装新的powerpath软件,并重新配置
# powermt config
或者
vary off volume groups on SAN (if any):
#cd /dev
#echo hdiskpower* | xargs -n1 rmdev -dl
# rmdev -dl powerpath0
每一个光纤卡执行
#rmdev -Rdl fcs(x)
执行cfgmgr与emc_cfgmgr
最后执行
#powermt config