日历

2008 - 9
 123456
78910111213
14151617181920
21222324252627
282930    
«» 2008 - 9 «»

日志分类

文章搜索

日志文章

2008-05-29

AIX的异步IO配置详解

Author:NinGoo posted on NinGoo.net ]% 18/kf  
AIX的异步IO需要bos.rte.aio文件集的支持 |:, YC:Yi  
#lslpp -l bos.rte.aio U]BLDseS  
  Fileset                      Level  State      Description          <"[t\bG  
  ----------------------------------------------------------------------------  N"saLe.w  
Path: /usr/lib/objrepos 3eNRPpX-^  
  bos.rte.aio               5.3.0.62  COMMITTED  Asynchronous I/O Extension @$-{^[ 0t  
如何启用AIO 21Af=F  
- IE SqUH  
#mkdev -l aio0 0)*u/:f  
aio0 Available K$J7j$Bk  
#chdev -P -l aio0 -a autoconfig='available' E4G,qk  
aio0 changed _ecMy^T  
查看aio的配置信息 54,lbEIA  
#lsattr -El aio0 {K_2I'@  
autoconfig available STATE to be configured at system restart True v$u!!$!}  
fastpath   enable    State of fast path                       True dKQ ] ]z  
kprocprio  39        Server PRIORITY                          True <^V/z>*  
maxreqs    4096      Maximum number of REQUESTS               True ~A&}1qe]t  
maxservers 10        MAXIMUM number of servers per cpu        True Jd:6KQ  
minservers 1         MINIMUM number of servers                True 3h,)zJC+=  
其中,maxreqs表示同一时刻所允许的异步 I/O 请求,包括已经在处理的异步 I/O 请求和等待处理的异步 I/O 请求。maxservers和minservers参数指定了用于处理异步IO的进程数。默认的maxservers=10对于大多数系统来说,应该已经足够了, 这两个参数都是针对文件系统等的aio的,而raw设备的异步IO直接由内核进程完成,不依赖aioserver。autoconfig必须设置为available才会在下次启动时自动激活AIO。 s e'GF  
通过如下命令可以查询系统当前aioserver的个数,如果已经达到或者接近maxservers,则需要考虑增加该参数。 B <u1~(m.  
#pstat -a | grep aios | wc -l O>nQa w  
从AIX5.2开始,支持两种模式的AIO,一种是传统模式的,一种是posix的 #(Zx8  
#pstat -a | grep aio m}i Y(xj  
40 a   28088      1  28088     0     0     1  posix_aioserver 1i 6%J%  
67 a   43002      1  43002     0     0     1  aioserver z&6KVOL[  
Oracle在AIX平台上安装的时候要求必须开启AIO,在rootpre.sh脚本中包含了启动AIO的代码 =FxN|A:B  
# Asynchronous I/O 8Ql?_\   
echo "Configuring Asynchronous I/O..." | tee -a $LOG 69C%01P  
    aio=`lsdev -C -t aio|awk '{print $2}'` _9,q6-7  
    case $aio in D`R=x~S  
      *Available*) echo "Asynchronous I/O is already defined" | tee -a $LOG `Q5~}ca[  
                   ;; |e9PWg  
      *Defined*)   mkdev -l aio0 | tee -a $LOG x)aSdHGg"  
                   chdev -P -l aio0 -a autoconfig='available' vhVk'5$  
                   ;; tpxC\]>T~  
      *)   echo "Asynchronous I/O is not installed on this system." >> $LOG XHo*yR  
           cat << END jnL%N'|V C  
Asynchronous I/O is not installed on this system. /yv#pLJW9  
You will need to install it, and either configure it yourself using F"-& w_\  
'smit aio' or rerun the Oracle root installation procedure. 0!])tE}!  
END Ei*wQn'>  
                ;; =K f{xl  
    esac ODvd7.A,  
如何删除AIO /ri.k'j  
AIO是由内核提供支持的,首先将autoconfig改为defined然后重启系统 sS[s GKty  
#chdev -P -l aio0 -a autoconfig='defined' O&mBC\T^  
如果使用rmdev -dl aio0彻底删除了aio0的定义,则再次使用mkdev -l aio0的时候可能遭遇以下错误: h[*1u )  
mkdev: 0514-519 The following device was not found in the customized ,S]{qQD*  
        device configuration database: Fv)^wT]w~  
        name = 'aio0' S+#)4| 'NF  
这时需要先定义设备,才能添加设备,定义aio0设备可以通过smit aio选择Configure Defined Asynchronous I/O。 jv"[x{9i  
另外要提到的一点,就是Oracle的存储测试工具Orion,也是必须打开AIO的,否则会报如下错误: $-]:c}*v  
exec(): 0509-036 Cannot load program ./orion because of the following errors: dQpW$9IY  
        0509-130 Symbol resolution failed for /usr/lib/libc.a[aio_64.o] because: d,$|;:zS  
        0509-136   Symbol kaio_rdwr64 (number 0) is not exported from Z%K ?:(  
                   dependent module /unix. fsb.r0 L'  
        0509-136   Symbol listio64 (number 1) is not exported from e$LH ,Ak-]  
                   dependent module /unix. nc 6K%+G  
        0509-136   Symbol acancel64 (number 2) is not exported  from L9W=r<i`  
                   dependent module /unix. % Vx2 !T)  
        0509-136   Symbol iosuspend64 (number 3) is not exported from Mm;9oQ[  
                   dependent module /unix. " ^i6Hd:  
        0509-136   Symbol aio_nwait (number 4) is not exported from Oh?W6:(MZ  
                   dependent module /unix. uLAm<RShA  
        0509-136   Symbol aio_nwait64 (number 5) is not exported from m7H`#O#  
                   dependent module /unix. ;42EcV5w_  
        0509-136   Symbol aio_nwait_timeout (number 6) is not exported from Y>xC!r9(  
                   dependent module /unix. |)y$P/@Wg  
        0509-136   Symbol aio_nwait_timeout64 (number 7) is not exported from ZnwqVG=G  
                   dependent module /unix. aZ<! 2 <  
        0509-026 System error: Error 0 x@AD1+qk  
        0509-192 Examine .loader section symbols with the mtO4>_C.]  
                 'dump -Tv' command. 3EJ)d0 A5  
TAr}gThI  

Tags: 互联网  


类别: 无分类 |  评论(0) |  浏览(548) |  收藏
发表评论
看不清楚,换一张