news 2026/10/27 2:59:38

IBM P740 AIX 6100-07 SP4 与 HACMP 6.1 安装调优指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IBM P740 AIX 6100-07 SP4 与 HACMP 6.1 安装调优指南

简介:《IBM P740小机安装配置手册》面向需要部署 IBM P740 小型机的运维与实施人员,围绕 AIX 系统落地及 HACMP 高可用环境搭建,整理出一套可对照执行的配置参考,适合具备一定 UNIX 基础、正在参与数据库或核心业务系统上线的人员使用。压缩包内共 1 个 doc 文件,大小约 4.5MB,以单份手册形式集中呈现安装配置流程。内容从 AIX 操作系统安装、bundle 与 limit 参数调整讲起,覆盖 IOCP、fullcore、maxpout/minpout、maxuproc、syncd、时区及 error log 等系统项,并延伸到网络、AIO、VM、HBA 卡参数、语言包与补丁包、Oracle 文件系统、系统镜像、SWAP、文件系统扩容和 dump 设置;后半部分还涉及 HACMP 软件及补丁安装、cluster 与资源组、SVC IP、应用脚本和串口心跳等配置。已有 1264 人学习,便于读者按目录定位关键环节,理解参数含义与配置顺序,减少实施中的反复试错。

1. 一台 P740 摆在机房:AIX 6100-07 SP4 装错一步,后面全是返工

IBM P740 小机安装配置这件事,真正让人头疼的往往不是拧螺丝上架,而是 AIX 和 HACMP 这一层没准备好。我见过最典型的翻车是:系统装完直接上 Oracle,limit 还是默认值、IOCP 停在 Defined、fullcore 没开,数据库跑两天开始报内存类错误,回头查才发现是装机阶段漏了参数。这套流程适合两类人:第一次独立接手 Power 小机、要完成 AIX 加 HACMP 双机的实施人员;以及接手别人装到一半的环境、需要把系统参数和集群配置逐项对齐的运维。P740 本身不复杂,复杂的是安装顺序和参数之间的依赖,顺序错了,后面每一步都在补窟窿。

2. AIX 6100-07 SP4 安装与参数打底:从光盘启动到 limit、IOCP 一次配到位

2.1 光盘安装:从 01 N V=F 到 Hdisk0 全新覆盖

硬件上电这一步,很多细节在文档里容易被一句“按提示操作”带过,但现场真正常卡住的就是这里。电源线插到小机后面对应接口,前面板液晶小屏会开始走硬件自检,等出现01 N V=F字样时按一下白色按钮,同时把 AIX 安装介质的第一张光盘放进光驱。屏幕变白并听到滴声后再按2,进入管理菜单,输入提示的密码admin,把启动顺序改成光驱优先,保存后重启。

从光驱引导成功之后,第一屏会让选择主控台,按现场接线选console;安装语言选English。主菜单里不要直接选默认安装,选第 2 项Change/Show Installation Settings and Install,先把安装方式和目标磁盘定死。

安装选项我一般按下面这张表逐项核对,避免手快选错:

界面选项值
主菜单2Change/Show Installation Settings and Install
Installation and Settings1修改系统设置
Change Method of Installation1New and Complete Overwrite
Change Disk(s)1 → 0hdisk0
最终确认0Install AIX with the current settings

New and Complete Overwrite会清空所选磁盘上的所有内容,选盘时看清楚是hdisk0还是hdisk1,机房现场两块盘容量一样、位置码只差几位,选错就是整盘数据没了。选完磁盘回到确认页,输入0开始装 BOS。安装完成后系统自动重启,进入 Configuration Assistant,给 root 设密码,然后点Exit the Configuration Assistant,再选Finish now, and do not start Configuration Assistant when restarting the operating system,把配置向导关掉。这一步不关,下次重启还会反复弹向导,后面跑脚本容易被打断。

注意:如果走串口安装,可能根本没有图形界面,后面要补cde的 bundle;用显示器安装的可以跳过。

2.2 bundle、语言包与 TL7 SP06 补丁链

系统装完只是能登录,离能装 Oracle 和 HACMP 还差一截。先装两个基础 bundle:server和app-dev。用smitty installp进去选安装包,这两个 bundle 装上之后,Oracle 和 HACMP 依赖的大部分基础包就齐了。另外单独补bos.cifs_fs和bos.data,这两个包在默认安装里不一定有。如果现场要求用 SSH 而不是只靠 telnet,还要把openssl和openssh开头的包一起装上,安装文件在第一张系统盘里。

语言包按项目要求装中文环境:smitty进System Environments→Manage Language→Add Additional Language,文化约定和语言转换都选IBM.... [Zh-CN] UTF-8以及[Zh-CN] GB这几项。装完用locale或重新登录确认LANG是否生效,没生效先查/etc/environment。

补丁基线是这套环境里最容易出错的地方。安装介质是 6100-07 SP4,装完先用oslevel -s看一眼,通常显示6100-07-04。项目要求打到 AIX 6.1 TL7 SP06,也就是6100-07-06-1241。TL 和 SP 要按顺序装,先 TL 后 SP,装完再补 ifix。

# 装 TL/SP 之前先记录基线,方便回退时对照 oslevel -s # 打完 TL7 SP06 后应返回 6100-07-06-1241 oslevel -s # ifix 按编号顺序装,最后一行状态要是 SUCCESS emgr -e IV30896m6a.130214.epkg.Z emgr -e IV32377s6a.130129.epkg.Z # 查已装的 ifix 列表,确认两个都在 emgr -l

oslevel -s输出四段:6100是 AIX 6.1,07是 TL7,06是 SP6,1241是补丁包的年周编号。emgr -e装的是临时补丁,重启后仍然在,但卸载要用emgr -r,别直接删文件。两个 ifix 的顺序不要反,IV30896m6a在前、IV32377s6a在后,反了会出现依赖检查不过。

提示:补丁装完别急着装 HACMP,先重启一次,让内核和库文件全部落到新版本上,再继续后面的参数调整。

2.3 limit、maxuproc 与 maxpout/minpout:先改限制再谈并发

limit参数是装机阶段最容易被跳过、后面又最容易出问题的一项。默认值对普通登录够用,但 Oracle 和 HACMP 一跑起来,文件句柄、栈大小、核心转储这些限制会直接卡住进程。项目要求把所有用户限制改成unlimited,也就是-1。

# 改之前先备份,改坏了直接覆盖回去 cp /etc/security/limits /etc/security/limits.bak vi /etc/security/limits

配置文件里按下面这段对齐:

default: core = -1 rss = -1 fsize = -1 data = -1 stack = -1 stack_hard = -1 cpu = -1 nofiles = -1

core = -1让核心转储不受大小限制,配合后面的 fullcore 才有意义;rss是常驻内存上限,fsize是单个文件大小,data是数据段,stack和stack_hard是栈的软硬限制,cpu是 CPU 时间,nofiles是打开文件数。全部给-1的意思是“不设上限”,代价是异常进程可能把资源吃得更狠,所以后面要靠maxuproc和监控兜底。

maxuproc控制每个用户能起的最大进程数,默认 128,跑数据库和集群软件根本不够。改法:

# 先看当前值 lsattr -El sys0 | grep maxuproc # 调到 16384,改完立即生效 chdev -l sys0 -a maxuproc=16384

maxpout和minpout是文件系统页输出的高低水位。当某个文件系统的页输出排队达到maxpout,进程会被挂起;降到minpout以下再恢复。项目基线是maxpout=8192、minpout=4096,保持 2:1 的比例。值太小会频繁挂起进程,值太大又起不到保护作用。

# 查看当前水位 lsattr -El sys0 | egrep 'maxpout|minpout' # 按项目基线调整 chdev -l sys0 -a maxpout=8192 -a minpout=4096

2.4 IOCP、fullcore、syncd 与时区、error log

IOCP 是异步 I/O 完成端口,Oracle 的异步 I/O 要靠它。AIX 6.1 默认已经装了bos.iocp.rte,但不代表端口一定是 Available。

# 看 IOCP 端口状态,期望是 Available lsdev -Cc iocp # 如果是 Defined,改成 Available 并重新配置 chdev -l iocp0 -a autoconfig=available cfgmgr -l iocp0

lsdev -Cc iocp正常输出是iocp0 Available I/O Completion Ports。显示Defined说明设备没被配置起来,先lslpp -l bos.iocp.rte确认包在不在,再走上面的chdev加cfgmgr。

fullcore决定核心转储是不是包含完整内存镜像。默认关闭时 dump 只有一部分,排查内存类故障基本没用。

# 查开关状态 lsattr -El sys0 | grep fullcore # 打开,重启后仍然有效 chdev -l sys0 -a fullcore=true

syncd是内存数据刷盘频率,默认 60 秒。项目要求改成 10 秒,降低宕机时丢数据的窗口。这个参数不在no里,要改/sbin/rc.boot:

vi /sbin/rc.boot # 找到下面这一行,把 60 改成 10 nohup /usr/sbin/syncd 10 > /dev/null 2>&1 &

改小之后磁盘写压力会上升,但 Oracle 环境一般能接受,比起丢事务,这点 I/O 代价值得。时区用 POSIX 写法,东八区执行chtz BEIST-8,改完用date确认。

error log 默认只有 1MB,故障现场很容易被冲掉。项目要求调到 10MB:

# 调整 error log 大小到 10MB /usr/lib/errdemon -s 10485760 # 查看当前配置,确认 LOGSIZE 是 10485760 /usr/lib/errdemon -l # 确认 errdemon 进程在跑 ps -ef | grep errdemon

如果进程不在,直接执行/usr/lib/errdemon拉起来,这个操作对系统没有附加影响。

3. 网络、AIO、VM 与 HBA:P740 上 Oracle 跑得稳不稳就看这几组参数

3.1 no 参数:端口、缓冲区与 keepidle

网络参数不是越多越好,但项目基线里的这一组基本覆盖了 Oracle 和 HACMP 的通信场景。用no改,-p表示持久化到下次启动,-r表示立即生效,部分参数只支持其中一种。

# TCP/UDP 缓冲区、keepalive 与端口范围,按项目基线一次性写入 no -p -o tcp_keepidle=1800 no -p -o tcp_finwait2=300 no -p -o udp_sendspace=65536 no -p -o udp_recvspace=655360 no -p -o tcp_tcpsecure=5 no -p -o tcp_sendspace=262144 no -p -o tcp_recvspace=262144 no -p -o tcp_nodelayack=1 no -p -o tcp_pmtu_discover=0 no -p -o tcp_nagle_limit=1 no -p -o sb_max=2097152 no -p -o rfc1323=1 no -p -o ipsendredirects=0 no -p -o ipignoreredirects=1 no -p -o ip6srcrouteforward=0 no -p -o clean_partial_conns=1 no -r -o ipqmaxlen=512 no -p -o tcp_ephemeral_low=9000 no -p -o tcp_ephemeral_high=65500 no -p -o udp_ephemeral_low=9000 no -p -o udp_ephemeral_high=65500

rfc1323=1打开大窗口,跨网段高延迟链路上吞吐差别很明显;sb_max给到 2MB,才能覆盖 256KB 的tcp_sendspace和tcp_recvspace。tcp_nodelayack=1关掉延迟 ACK,减少小包交互的等待。tcp_pmtu_discover=0在私网和存储网里更稳,避免路径 MTU 探测不通导致连接卡死。ipignoreredirects=1忽略 ICMP 重定向,防止路由被意外改写。临时端口范围挪到 9000–65500,是为了避开 Oracle 监听和集群端口常用区间,减少端口冲突。ipqmaxlen用-r立即生效,重启后要再确认一次,稳妥做法是把它写进/etc/rc.net。

3.2 AIO 与 vmo:异步 I/O 和内存页的分配

AIO 参数只对文件系统有效,裸设备不走 AIO,这一点在规划表空间时要心里有数。aio_maxservers的估算原则是最大不超过并行磁盘数的 10 倍,最小取最大值的一半。项目给的是 80。

# 设置异步 I/O 服务进程数 ioo -p -o aio_maxservers=80 # 查看是否写入成功 ioo -o aio_maxservers

另一种改法是chdev -l aio0 -a maxservers=80,带-T立即生效,带-P推迟到下次启动。两种方式不要混着用,最后以ioo -o的输出为准。

vmo管的是内存页分配,Oracle 小机上最常见的组合是让文件页优先回收、保护计算内存:

# 文件页与计算内存的取舍 vmo -p -o numperm_global=0 vmo -p -o maxperm%=90 vmo -p -o minperm%=3 vmo -p -o maxclient%=90 vmo -p -o strict_maxperm=0 vmo -p -o strict_maxclient=1 vmo -p -o lru_file_repage=0 vmo -r -o page_steal_method=1

maxperm%和minperm%控制文件页占物理内存的比例区间,strict_maxclient=1让客户端页到上限就严格回收,不再挤占计算页。lru_file_repage=0是 Oracle 环境里经常被拿出来讨论的一项,作用是避免文件页反复挤占计算页。page_steal_method=1切换到基于页的窃取算法,用-r立即生效,重启后要再跑一次确认。

注意:vmo的参数和数据库的 SGA 大小要一起看,SGA 占了物理内存大头时,文件页上限给太高反而会引发换页。

3.3 HBA 卡参数:dyntrk、fast_fail 与 num_cmd_elems

HBA 卡参数不调,存储链路出问题时多路径软件可能来不及切换。项目里四块卡统一处理:

# 四块 HBA 统一开启动态跟踪和快速失效,-P 写入 ODM for i in 0 1 2 3; do chdev -l fscsi$i -a dyntrk=yes -a fc_err_recov=fast_fail -P chdev -l fcs$i -a num_cmd_elems=500 -P done

fscsi是协议层设备,fcs是适配器层设备,两者要分别改。dyntrk=yes让链路漂移后自动跟踪目标端口,存储端换口或重启后不用手工重新配。fc_err_recov=fast_fail让失效路径快速失败,PowerPath 才有机会把 I/O 切到另一条路径;如果设成delayed_fail,I/O 会挂在那里等,业务侧表现就是卡顿。num_cmd_elems=500提高队列深度,但要看存储端队列承受能力,不是越大越好。这几个参数都带-P,重启后生效,改完安排一次重启窗口。

3.4 Oracle 文件系统、镜像、SWAP 与 dump

Oracle 需要两个独立文件系统:一个放安装介质,逻辑卷lvsoftcd,挂载点/softcd;一个放程序,逻辑卷lvoracle,挂载点/oracle。初始按 1GB 创建,后面按文件系统规划表扩到 10GB 和 50GB。完整规划如下:

文件系统大小
/6GB
/tmp10GB
/usr10GB
/var90GB
/home10GB
/opt10GB
/softcd10GB
/oracle50GB

/var给到 90GB 是因为 error log、dump 和集群日志都往这里写,给小了后期只能反复扩。文件系统建完做 rootvg 镜像,顺序不能乱:

# 加盘、镜像、重写引导、改启动顺序,一步都不能少 extendvg rootvg hdisk1 mirrorvg rootvg # 看镜像进度,STALE 消失才算同步完 lsvg rootvg | grep STALE bosboot -ad hdisk1 bootlist -m normal cd0 hdisk0 hdisk1 shutdown -Fr

mirrorvg只做逻辑卷镜像,boot image 还在旧盘上,不跑bosboot重启就可能起不来。bootlist里把cd0放前面是方便下次从光驱引导,生产环境交付前要确认顺序符合现场规范。SWAP 按内存 1:1 配,16GB 内存配 16GB swap,PP 默认 512MB 时增加 31 个 PP,加上原有的 1 个正好 32 个,也就是 16GB。用smitty chps改,改完lsps -a确认。

dump 设置要单独检查:

# 估算 dump 需要多大,再决定 dump LV 扩到多少 sysdumpdev -e sysdumpdev -l # 宕机后自动重启 chdev -l sys0 -a autorestart=true lsattr -El sys0 | grep autorestart

smit sysdumpdev里把always allow dump设为TRUE,系统挂死时才能强制 dump。autorestart=true让宕机后自动重启,配合 HACMP 的切换逻辑,能缩短业务中断时间。

4. HACMP 6.1 双机配置:安装、资源组与切换测试的完整链路

4.1 HACMP 安装与补丁:cluster.hativoli 不装

HACMP 6.1 用smitty installp安装,选包的时候除了cluster.hativoli之外全装。cluster.hativoli是 Tivoli 相关组件,本项目不用,装上反而多一层依赖。如果从光盘装,先建 cdrom 文件系统:

# 创建设备 cd0、挂载点 /cdrom 的光盘文件系统,开机自动挂载 smitty cdrfs

菜单里设备名选cd0,挂载点填 `/

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 2:59:38

生产级Kubernetes高可用集群搭建与优化实战

1. 从单节点到高可用:生产级K8s集群搭建全记录三年前我第一次接触Kubernetes时,完全没想过这个容器编排系统会成为我们生产环境的核心支柱。当时只是用minikube跑了个单节点集群,如今却要管理着横跨三个可用区的生产级高可用集群。这篇文章将…

作者头像 李华
网站建设 2026/10/27 2:58:25

R语言logistic回归二分类预测:数据准备、系数解释与模型评估

1. 先想清楚:什么问题该交给logistic回归1.1 从"是/否"的结局说起我在实际项目里被问得最多的一类问题,结局都是一句话就能回答的:这个用户下个月会不会流失、这笔订单会不会被退回、这台设备在保期内会不会报故障、这个病人复查指…

作者头像 李华
网站建设 2026/10/27 2:57:39

基于YOLOv10的教师课堂行为检测系统开发实践

1. 项目背景与核心价值教师课堂行为检测系统是近年来教育信息化领域的热门研究方向。传统的人工督导方式存在效率低、主观性强等问题,而基于计算机视觉的自动化分析方案正在改变这一现状。我在实际教育场景中发现,准确识别教师的位置、姿态和互动行为&am…

作者头像 李华
网站建设 2026/10/27 2:56:18

致远OA V8.1数据字典深度解析:从字段含义到扩展字段设计

简介:致远OA V8.1 数据字典面向致远OA二次开发、系统集成与数据库维护人员,用于解决表结构不清晰、字段含义难追溯、扩展字段用途不明等问题,适合具备一定数据库基础的中高级开发者查阅。资源为单个PDF文档,压缩包约2.2MB&#xf…

作者头像 李华
网站建设 2026/10/27 2:55:45

从狐狸式开发到工程化实践:构建可靠软件体系

1. 项目背景解析:从"狐狸"到工程化实践这个看似俏皮的标题背后,实际上揭示了一个严肃的工程实践话题。在软件开发领域,"狐狸"常常被用来形容那些看似聪明但缺乏系统性的临时解决方案——它们灵活多变却难以维护&#xff…

作者头像 李华
网站建设 2026/10/27 2:54:21

UPX可执行文件压缩实战:原理、命令行与构建集成避坑指南

简介:面向软件开发者、程序分发人员及逆向分析入门者的UPX可执行文件压缩工具完整包,用于解决可执行程序体积过大、传输分发效率低以及外壳分析等问题。压缩包共24个文件,约996KB,以ini多语言配置文件、exe主程序与辅助工具、read…

作者头像 李华