简介:IBM P740小机安装配置手册面向承担省操作风险管理系统等项目的系统集成与运维人员,记录一台P740从裸机到双机高可用集群落地的完整过程,适合具备一定AIX基础、需要独立完成小型机上线的中级工程师参考。包内仅1个doc文档,约4.5MB,以分步条目与参数清单组织内容,覆盖操作系统安装、bundle与limit参数调整、IOCP与fullcore开启、maxpout/minpout/maxuproc及syncd设置、时区与error log扩容、网络与AIO、VM、HBA卡参数调优、语言包与补丁安装、Oracle文件系统创建、系统镜像与SWAP及文件系统调整、dump配置,并延伸至HACMP软件与补丁安装、cluster与资源组、SVC IP、应用脚本和卷组的添加,直至串口心跳同步。目录层次清晰,可当作实施checklist逐项核对,也能在参数取值与补丁兼容性上提供排错参照。已有1267人学习下载。
1. 核心业务系统上 IBM P740 小机,团队里常见的第一反应是:硬件到货、AIX 装上、数据库能起,就算完了;真到上线前做 HACMP 切换演练,才发现 limit 没放开、IOCP 还是 Defined、串口心跳没同步,一晚上全耗在排查上。这套 IBM P740 小机安装配置手册要解决的正是这个问题——把从 AIX 6.1 系统安装、bundle 与补丁、内核与网络参数,到 HACMP 双机、PowerPath 多路径、卷组创建的 42 个步骤固定成一条可复现的流水线。它适合要交付核心业务系统的实施工程师,也适合拿它当课程设计或毕设里“高可用小机平台”方案骨架的同学,照着走能少踩很多坑。
2. 交付流程与容量基线:把 42 个步骤收成四段流水线
一套小机环境通常不是一个人一口气配完的:硬件到货、网络布点、存储划 LUN、DBA 进场,中间要换几拨人。手册真正有价值的地方,除了步骤写全,更在于把步骤排成有依赖关系的四段,每段结束有一个明确的检查点,不通过不往下走。否则最容易出现的场面是:系统装完了,参数也改了,回头发现 HACMP 的资源组里引用的 VG 还没建,或者镜像做完了但没做bosboot,重启直接从另一块盘起来。
这一章先把交付顺序和容量基线定下来,后面两章再分别展开系统侧和集群侧的具体配置。
2.1 四段划分:每段一个检查点
第一段是硬件上电与 BOS 安装。从电源接线、前面板自检、管理菜单改启动顺序,到从光盘引导进入安装界面,这一段的目标只有一个:把 AIX 6.1 干净地装到 hdisk0 上。检查点就是安装结束后能登录系统,oslevel -s能输出预期的版本号。这一段出问题基本是介质或引导顺序问题,不涉及业务参数。
第二段是系统基线配置。这一步涵盖 bundle 安装、补丁与 ifix、limit 与内核开关、网络/IO/VM/HBA 参数、语言包、时区、error log、rootvg 镜像。这一段是整份手册里条目最多、也最容易被压缩时间的部分。检查点有三个:lsdev -Cc iocp看到Available、oslevel -s到目标 SP、lsvg rootvg里没有STALE分区。
第三段是 HACMP 集群骨架。安装 HACMP 6.1、打补丁、配 IP 网络与非 IP 网络(串口心跳)、建资源组、加 SVC IP 与应用脚本。检查点是两台节点能互相看到对方的集群状态,资源组在主节点上处于 up 状态。
第四段是存储多路径与共享 VG。安装 PowerPath、确认多路径、创建 sqdbvg、hddbvg、rmansqvg、rmanhdvg 四个卷组。检查点是powermt display dev=all里每块 LUN 的多条路径都健康,lsvg能看到四个新 VG。
提示:第三段和第四段在实际操作里会交叉。资源组里要引用 VG,VG 必须先存在,所以更稳妥的顺序是先把 PowerPath 和 VG 做完,再回头进 HACMP 的资源组配置。手册按 22 到 42 的顺序列,是为了编号连续,不是操作顺序。
2.2 容量基线:rootvg、SWAP、/oracle 与 dump 一起定
容量规划最容易犯的错是只算业务数据盘,把系统盘和 dump 区留到后面补。小机的 rootvg 一旦镜像,剩余空间就要分给 dump、page space 和后续补丁,前期不留够,后面只能扩容或者重建。
这套方案里 rootvg 用两块 9 GB 以上的盘做镜像,page space 按内存 1:1 配到 16 GB,dump 用独立逻辑卷并打开 crash 后自动重启。文件系统按下面的表一次性划到位,避免装到一半发现/var不够。
| 文件系统 | 大小 | 用途 |
|---|---|---|
| / | 6 GB | 根文件系统 |
| /tmp | 10 GB | 临时文件 |
| /usr | 10 GB | 系统程序 |
| /var | 90 GB | 日志、error log、队列 |
| /home | 10 GB | 用户目录 |
| /opt | 10 GB | 第三方软件 |
| /softcd | 10 GB | Oracle 安装介质 |
| /oracle | 50 GB | Oracle 程序 |
/var给到 90 GB 是有原因的:AIX 的 error log、HACMP 日志、Oracle 的审计与告警日志都往这里写,小机上/var打满导致集群资源组切换失败的案例并不少见。/oracle单独一个文件系统,是为了让 Oracle 的二进制和数据库文件在备份、扩容时能分别处理。
page space 的设置要注意 PP 大小。这套方案里 PP 默认 512 MB,增加 31 个 PP,加上原有的 1 个,合计 32 个 PP,正好 16 GB。smit lv里改 page space 的 PP 数时,先确认lsvg rootvg里的 PP SIZE,别按 32 个 PP 算成别的容量。
3. 系统安装与内核基线:从 BOS 到 limit、IOCP、fullcore
系统安装这一段看着像纯体力活,实际上每个选择都会影响后面的补丁路径和参数生效方式。全新覆盖安装、保留安装、迁移安装三个选项,选错一个后面就要重来。这一章按安装介质、bundle 与补丁、内核开关、镜像四块拆开,每块给可执行的命令和判断依据。
3.1 BOS 安装:全新完全覆盖安装与 console 的选择
把电源线插到小机后面对应接口,前面板液晶屏会显示硬件自检进度。出现01 N V=F字样时按白色按钮,同时把 AIX 安装盘第一张放进光驱。听到提示音、屏幕变白后再按 2 键进入管理菜单,输入密码admin,把启动顺序改成光驱优先。这一步如果跳过,机器会反复从硬盘引导,安装界面根本出不来。
从光盘引导后第一屏选 console。用显示器接 KVM 的选显示器 console,用串口线接终端的选串口 console。选错的表现是后面图形界面起不来,只能重装。语言环境选 English,然后进第 2 项修改安装设置。
安装方法选New and Complete Overwrite,安装磁盘选 hdisk0。这个选项会清空整块盘,所以确认 hdisk0 上没有要保留的数据。如果选成Preservation Install,/usr、/var、/tmp、/还是会被覆盖,但会保留部分其他数据,装完容易出现文件系统状态不一致。迁移安装是升级 BOS 用的,新机不适用。
确认页面里检查三件事:安装方法是全新完全覆盖、磁盘是 hdisk0、Trusted Computing Base 是 no。然后输 0 开始安装。装完系统会重启进 Configuration Assistant,设置 root 密码后直接退出,并且选择Finish now, and do not start Configuration Assistant when restarting,把这个向导关掉。向导不关,后面每次重启都会弹出来,脚本化和批量操作都会被卡住。
3.2 bundle、补丁与 ifix 的安装顺序
BOS 装完只是裸系统,Oracle 和 HACMP 需要的一组基础包还没装。串口方式安装的系统通常没有图形界面,要先装 CDE 的 bundle;显示器方式安装的可以跳过。必须装的两个 bundle 是 server 和 app-dev,这两个把 Oracle 与 HACMP 依赖的基础库带进来。
# 进入安装菜单,选择 server 与 app-dev 两个 bundle smitty installp # 单独补两个包,AIX 默认安装只带 telnet,不带 SSH # 包在 AIX 6 安装光盘里,先挂载光盘再装 mount /dev/cd0 /mnt smitty installp # 选择 bos.cifs_fs、bos.data,以及所有 openssl、openssh 开头的包装完基础 bundle 之后装补丁。这套方案的目标版本是 AIX 6.1 TL7 SP06,补丁装完oslevel -s应该输出6100-07-06-1241。如果只到6100-07-04,说明 SP 补丁没装全,要回头检查 installp 的安装记录。
ifix 是两个单独的补丁包,用emgr装,不要用 installp。安装前先用ls确认包文件在当前目录,包名带日期后缀,装的时候要写全名。
# 查看当前系统版本 oslevel -s # 安装两个 ifix,包名要写完整,包括日期后缀 emgr -e IV30896m6a.130214.epkg.Z emgr -e IV32377s6a.130129.epkg.Z # 每条安装完看返回状态,返回 SECUSS 才算成功emgr -e装 ifix 是临时生效的补丁机制,重启后还在,但重装系统或覆盖安装会丢。所以补丁清单要记在交付文档里,下次重建环境照着装一遍。返回状态不是SECUSS的时候,先用emgr -l看已装列表,确认是不是包已经装过。
3.3 limit 到 syncd:六个必须改的内核开关
这一组参数是整套手册里最容易被跳过、又最容易在 Oracle 安装或运行时报错的部分。用户级 limit 不放开,Oracle 安装时可能报文件大小或进程数限制;IOCP 不打开,异步 IO 退化成同步,数据库在高并发下性能明显掉;fullcore 不开,系统 core dump 写不全,出问题查不动。
limit 先备份再改,八个字段全部改成-1:
# 备份原文件,改坏了能回滚 cp /etc/security/limits /etc/security/limits.bak vi /etc/security/limits # 把下面八个字段的 soft 和 hard 值都改成 -1 # core、rss、fsize、data、stack、stack_hard、cpu、nofiles改完用ulimit -a确认当前会话的限制。注意 limits 文件对已经登录的会话不生效,要么重新登录,要么用chuser改完再开新会话。Oracle 的安装用户和运行用户如果是分开的,两个用户的 limit 都要改。
IOCP 先查状态再决定要不要改。AIX 6.1 默认装了bos.iocp.rte,但端口状态可能是 Defined。
# 查 IOCP 端口状态,期望输出 iocp0 Available lsdev -Cc iocp # 如果是 Defined,改成 Available chdev -l iocp0 -a autoconfig=available cfgmgr -l iocp0chdev改的是 ODM 里的属性,cfgmgr让改动生效。两步都做完再查一次,状态还是 Defined 就说明包没装,回头装bos.iocp.rte。
fullcore、maxpout、minpout、maxuproc 四个参数都用chdev -l sys0改,改完立即生效:
# 先看当前值 lsattr -El sys0 | grep -E "fullcore|maxpout|minpout|maxuproc" # 逐项调整 chdev -l sys0 -a fullcore=true chdev -l sys0 -a maxpout=8192 -a minpout=4096 chdev -l sys0 -a maxuproc=16384maxpout 和 minpout 控制的是文件系统页输出时的进程阻塞阈值,高并发写日志的场景下默认值偏小,容易让进程频繁睡眠。maxuproc 默认值在 Oracle 多进程场景下不够,16384 是这套方案的取值,具体可以按实际进程数上限调整。fullcore 打开之后,系统 crash 时 core 文件会写全,配合后面 dump 的设置才有意义。
syncd 是内存数据刷盘的频率,默认 60 秒。这套方案改成 10 秒,改的是/sbin/rc.boot里的启动参数:
vi /sbin/rc.boot # 找到 syncd 那一行,改成 # nohup /usr/sbin/syncd 10 > /dev/null 2>&1 &这个改动重启后生效。刷盘频率调高会增加磁盘写压力,但在数据库场景下能缩短掉电时丢失的窗口。改完不要忘了在验收时确认ps -ef | grep syncd里带的是 10。
3.4 时区、error log 与 rootvg 镜像
时区用 posix 格式,东八区写成BEIST-8。AIX 的chtz命令直接改,改完用date确认。时区错了会影响 Oracle 的审计时间和 HACMP 日志的时间戳,排查问题时对不上时间线。
error log 默认只有 1 MB,跑不了几天就滚动。改成 10 MB:
# 调整 error log 大小到 10 MB /usr/lib/errdemon -s 10485760 # 查看当前配置 /usr/lib/errdemon -l # 确认 errdemon 进程在跑 ps -ef | grep errdemon进程不在就用/usr/lib/errdemon启动,这个操作对系统没有附加影响。error log 加大之后,硬件告警和驱动报错能保留更长时间,查 HBA 或网卡问题时不用去翻历史归档。
rootvg 镜像放在系统基线最后做。做之前先重启一次,确保前面改的参数都生效,避免镜像过程中因为参数没生效出问题。镜像分四步:加盘、镜像、重写 boot image、改启动顺序。
# 1. 把第二块盘加进 rootvg extendvg rootvg hdisk1 # 2. 做镜像 mirrorvg rootvg # 3. 看重同步进度,STALE 分区降到 0 才算完成 lsvg rootvg | grep STALE # 4. 重写 boot image,两块盘都要写 bosboot -ad hdisk0 bosboot -ad hdisk1 # 5. 更新启动顺序,光盘在前,两块盘在后 bootlist -m normal cd0 hdisk0 hdisk1 # 6. 重启验证 shutdown -Frmirrorvg只做逻辑卷镜像,不做 boot image。少了bosboot这一步,从 hdisk1 起不来,等于镜像白做。bootlist里把 cd0 放前面是为了以后维护时能从光盘引导,正常启动会跳过光盘找 hdisk0。
4. 网络、IO 与 HACMP 落地:no、ioo、vmo、fscsi 与集群资源组
系统基线做完,接下来是参数调优和集群配置。这两块在手册里编号靠后,但实际影响的是数据库跑起来之后的稳定性和切换时的成功率。网络参数决定连接保持和临时端口范围,AIO 与 VM 参数决定文件系统 IO 的并发能力,HBA 参数决定链路抖动时的恢复速度,HACMP 决定双机能不能真的切过去。
4.1 网络参数 no:连接保持与临时端口
no命令改的是内核网络参数,-p表示持久化,重启后还在;-r表示只改当前运行值,不持久。这套方案里除ipqmaxlen用-r,其余都用-p。
# 连接保持与重传相关 no -p -o tcp_keepidle=1800 no -p -o tcp_finwait2=300 no -p -o tcp_nodelayack=1 no -p -o tcp_pmtu_discover=0 no -p -o tcp_nagle_limit=1 no -p -o rfc1323=1 # 缓冲区与队列 no -p -o tcp_sendspace=262144 no -p -o tcp_recvspace=262144 no -p -o udp_sendspace=65536 no -p -o udp_recvspace=655360 no -p -o sb_max=2097152 no -p -o clean_partial_conns=1 # 重定向与路由 no -p -o ipsendredirects=0 no -p -o ipignoreredirects=1 no -p -o ip6srcrouteforward=0 # 临时端口范围 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 # 接收队列长度只改运行值 no -r -o ipqmaxlen=512tcp_keepidle改成 1800 秒,是为了让空闲连接在半小时后才发探测包,避免中间网络设备把长连接断掉。tcp_finwait2调到 300 秒,缩短主动关闭方等待对端 FIN 的时间。rfc1323=1打开窗口缩放和时间戳,高延迟链路上吞吐更稳。
临时端口范围从 9000 到 65500,避开了常用服务端口,也给 Oracle 和 HACMP 留出足够的客户端端口。clean_partial_conns=1能缓解半连接队列被打满的情况,但真正要防 SYN 洪水还是得靠网络层设备。
改完用no -a逐项核对,-p的参数在重启后才全部生效,所以这一组改完不要马上重启,等 HACMP 配置完一起重启。
4.2 AIO 与 VM:aio_maxservers、maxperm% 与 page_steal_method
AIO 的maxservers按并行磁盘数估算,经验值是 10 倍并行磁盘数,上限 80,下限是上限的一半。这套方案直接取 80。
# 异步 IO 内核参数,-p 持久化 ioo -p -o aio_maxservers=80 # 虚拟内存参数 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 # page_steal_method 只改运行值,重启后由内核参数接管 vmo -r -o page_steal_method=1maxperm%和maxclient%都放到 90,是给文件系统缓存留空间。minperm%压到 3,让内存紧张时优先回收文件缓存而不是换出进程页。lru_file_repage=0让 LRU 只回收文件页,不抢计算页,数据库场景下这个值比默认值稳。
page_steal_method=1改的是页回收算法,用-r只影响当前运行,重启后要确认这个值还在。如果重启后变回 0,说明内核扩展没加载或者参数被别的配置覆盖了,要查vmo -L的当前值。
4.3 HBA 卡与多路径:dyntrk、fc_err_recov 与 PowerPath
HBA 参数分两层:fscsi是协议层,fcs是适配器层。这套方案四块卡都改,改完需要重启。
# 协议层:开启动态跟踪,链路错误快速失败 for hba in fscsi0 fscsi1 fscsi2 fscsi3; do chdev -l $hba -a dyntrk=yes -a fc_err_recov=fast_fail -P done # 适配器层:命令队列深度 for fcs in fcs0 fcs1 fcs2 fcs3; do chdev -l $fcs -a num_cmd_elems=500 -P donedyntrk=yes让 HBA 在链路抖动后自动跟踪设备变化,不用手工重新配置。fc_err_recov=fast_fail让 IO 在链路断的时候快速失败,交给多路径软件切换,而不是挂在那里等超时。num_cmd_elems=500提高队列深度,高并发下 IO 不容易排队。
改完重启,然后装 EMC 的 PowerPath。装完用powermt display dev=all确认每块 LUN 的多条路径都是 alive 状态。PowerPath 没装或者没配好,后面建 VG 时看到的是单路径设备,多路径等于没做。
注意:HBA 参数改完必须重启才生效,
-P只是写进 ODM。重启前把 HACMP 的配置做完,减少重启次数。
4.4 HACMP 集群与心跳:IP 网络与非 IP 网络
HACMP 6.1 安装时除了cluster.hativoli之外所有包都要装。用smitty installp选包,装完打补丁。集群配置按下面的顺序走,每一步在smitty hacmp的扩展配置菜单里。
先配网络。HACMP 需要两类网络:基于 IP 的用于业务和心跳,基于非 IP 的用串口做心跳。IP 网络在Configure HACMP Networks里加,非 IP 网络选Add a Network to the HACMP Cluster里的串口类型。
然后是集群名和节点。Add/Change a Cluster Definition里加集群名,Add Cluster Nodes里加两台主机。节点名要和/etc/hosts里一致,不一致后面同步会报错。
加 IP 地址和串口设备。IP 地址加在Add Communication Interfaces/Devices里,串口设备选Add a Serial Device,两台机器的串口线要交叉接好,设备名一般是tty0。
配完拓扑用Verify and Synchronize HACMP Configuration同步。同步前先在两台机器上确认/etc/hosts、/.rhosts一致,串口权限是 666 或者属于system组。同步失败最常见的原因是串口设备没配通,用stty < /dev/tty0能读说明链路是通的。
启动集群分主备:主节点smit clstart,备节点也smit clstart。启动后用lssrc -ls clstrmgrES看状态,两边都应该是ST_INIT之后转ST_STABLE。用smit clstat能看到资源组在主节点上是 up。
4.5 资源组、SVC IP 与共享 VG
资源组把 SVC IP、应用脚本、卷组绑在一起,切换的时候整体搬走。在Configure Resources里先加资源组,再加 SVC IP、应用启动和停止脚本、卷组。
# 共享 VG 在 PowerPath 装好、多路径确认之后建 # 以 sqdbvg 为例,hdiskpower1 是 PowerPath 聚合后的设备 mkvg -y sqdbvg hdiskpower1 # 其余三个卷组按同样方式建 mkvg -y hddbvg hdiskpower2 mkvg -y rmansqvg hdiskpower3 mkvg -y rmanhdvg hdiskpower4四个 VG 的用途要分清:sqdbvg和hddbvg放数据库数据,rmansqvg和rmanhdvg放 RMAN 备份。数据盘和备份盘分开,切换和备份互不影响。
资源组配完回 HACMP 主菜单做一次同步,然后做主备切换测试。切换测试在业务低峰做,切之前确认应用脚本的 stop 和 start 都能正常返回。切换用smit clstop选take over,观察资源组从主节点搬到备节点,SVC IP 跟着漂移,应用能起来。
5. 避坑与排查:五个最容易在小机上翻车的点
小机环境的坑有个共同特点:配置当时看起来都对,问题要等到重启、切换或者压力上来才暴露。下面五条是这套方案里踩过或者见别人踩过的,每条按现象、原因、解决写,照着排能省不少时间。
5.1 串口装完系统没有图形界面,smit 菜单报错
现象:用串口方式装完 AIX,登录后敲smit提示终端类型不支持或者菜单乱码,想装软件都进不去。
原因:串口安装不会自动装 CDE 的 bundle,/usr/dt和相关的图形库缺失,smit的字符界面虽然能用,但部分菜单项依赖 CDE 的终端定义。
解决:装server和app-dev两个 bundle 时把 CDE 相关的包一起选上,或者单独smitty installp装bos.dt系列。终端的TERM设成vt100或xterm,stty里行列数设对。装完重新登录再试。
5.2 limit 改了但 Oracle 安装还是报错
现象:/etc/security/limits里八个字段都改成-1了,Oracle 安装到一半还是报ORA-27123或者文件大小超限。
原因:limits 文件对已经登录的会话不生效。改完直接在当前窗口跑安装,用的是旧限制。另外 Oracle 安装用户和运行用户如果不是同一个,只改了 root 的 limit 不够。
解决:改完 limits 用ulimit -a在当前会话确认,不对就退出重新登录。安装用户和运行用户分别改,或者用chuser fsize=-1 data=-1 ...直接改用户属性。/etc/security/limits里的default段也要改,新用户默认继承这一段。
5.3 IOCP 状态是 Defined,数据库启动慢
现象:lsdev -Cc iocp输出iocp0 Defined,Oracle 能启动但跑批量的时候 IO 等待明显偏高。
原因:bos.iocp.rte装了但端口没配置成 Available,异步 IO 请求走不到完成端口,退化成同步 IO。
解决:chdev -l iocp0 -a autoconfig=available加cfgmgr -l iocp0,两步做完再查。还是 Defined 就用lslpp -l bos.iocp.rte确认包状态,包没装先装包。改完重启一次,确认重启后状态还是 Available。
5.4 rootvg 镜像做完,重启从另一块盘起不来
现象:mirrorvg跑完,lsvg rootvg没有 STALE,重启后系统起不来或者从 hdisk0 起来但 hdisk1 不可引导。
原因:只做了逻辑卷镜像,没做bosboot。mirrorvg不同步 boot image,两块盘的引导区还是只有原来那块有内容。
解决:bosboot -ad hdisk0和bosboot -ad hdisk1两条都执行,然后bootlist -m normal cd0 hdisk0 hdisk1更新启动顺序。做完重启验证,用bootinfo -b看当前引导盘。以后再镜像,把这步写进操作清单,不要凭记忆。
5.5 HACMP 切换卡住,资源组不漂移
现象:smit clstop选 take over 之后,资源组一直停在主节点,备节点没接管,clstat里两边状态不一致。
原因:串口心跳没同步或者串口设备权限不对。HACMP 的非 IP 网络靠串口传心跳,串口线没接好、tty设备没配、权限不是 666,心跳就断了,集群认为对方还活着,切换不触发。
解决:先在两台机器上用stty < /dev/tty0确认串口能读,再查/dev/tty0权限。HACMP 里Add a Serial Device加的设备和实际接的串口要对上。同步配置前用Verify and Synchronize做一次拓扑校验,串口不通会在校验阶段报出来,不要跳过校验直接启动。
6. 验收与答辩:一份能照着走的检查清单
这套方案交付的时候,我在验收环节吃过一次亏:参数都配了,命令都跑了,但没人逐项核对,上线后第三天才发现syncd还是 60 秒,maxuproc还是默认值。后来我把验收做成一张表,交付前逐项打勾,谁配的谁签字。下面这张表是这套小机环境的核心验收项,答辩或者交付评审的时候可以直接拿出来对照。
| 验收项 | 检查命令 | 期望结果 |
|---|---|---|
| 系统版本 | oslevel -s | 6100-07-06-1241 |
| ifix | emgr -l | 两个 ifix 都在列表里 |
| IOCP | lsdev -Cc iocp | iocp0 Available |
| fullcore | lsattr -El sys0 | fullcore true |
| maxuproc | lsattr -El sys0 | 16384 |
| syncd | `ps -ef | grep syncd` |
| rootvg 镜像 | lsvg rootvg | 无 STALE |
| 启动顺序 | bootlist -m normal -o | cd0 hdisk0 hdisk1 |
| 多路径 | powermt display dev=all | 每条路径 alive |
| HACMP 状态 | lssrc -ls clstrmgrES | ST_STABLE |
| 资源组 | smit clstat | 主节点 up |
| 切换测试 | smit clstop选 take over | 资源组漂移到备节点 |
验收不只是跑命令,切换演练要做完整一轮:主节点停集群、备节点接管、SVC IP 漂移、应用起来、业务连得上,然后再切回来。演练的时候记录每一步的耗时,切换时间超过预期就要查心跳和资源组脚本。
答辩或者评审的时候,评委常问三个问题:为什么 swap 配 1:1、为什么 maxperm% 是 90、HACMP 的心跳为什么用串口而不是网口。前两个答参数来源和场景,第三个答串口心跳不占网络带宽、不受 IP 网络故障影响,但要补一句串口线要交叉接、权限要对。把这张验收表和切换记录附在方案后面,比讲十页架构图都有说服力。
从那以后我每次交付小机环境,验收表都打印出来贴在机柜上,配一项勾一项,切换演练至少做两轮。希望这套流程和这份手册,能帮你在下一个项目里少熬一个晚上。
本文还有配套的精品资源,点击获取