首页 / 资讯中心 / 文章详情

P740 AIX安装调优与HACMP双机接管42步避坑手册

P740 AIX安装调优与HACMP双机接管42步避坑手册 ★ FEATURED ARTICLE
简介《IBM P740小机安装配置手册》面向需要部署IBM Power 740小型机的系统管理员与运维工程师聚焦AIX操作系统安装及HACMP高可用集群落地适合具备Unix基础、正在实施Oracle等核心业务系统的技术人员参考。压缩包内为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 从开箱到双机接管这份 42 步手册到底解决什么问题机柜里风扇一转P740 前面板液晶屏跳出01 N VF接下来就是几个小时不能出错的操作。这份 IBM P740 小机安装配置手册把上架到双机接管的 42 个步骤按执行顺序排开AIX 6100-07 光盘安装、bundle 补齐、limit/IOCP/fullcore、no 与 vmo 参数、HBA 卡、rootvg 镜像、SWAP 与 dump、HACMP 集群与资源组、PowerPath 多路径、四个业务 VG。它面向第一次独立做小机上架的工程师也适合手上只有零散命令、没串成完整流程的运维。我按它在某风险管理类业务系统项目里走过一遍整体可复现但有五六处照着抄会翻车下面逐段拆开讲。2. AIX 6100-07 落地安装从 SMS 启动到 ifix 补齐的四个节点小型机的安装和 x86 装系统最大的差别在“看不见”没有显示器时全靠串口和液晶屏判断状态装完还得补一堆 bundle 才能让 Oracle 和 HACMP 跑起来。这一章按时间顺序走从通电自检到oslevel -s输出补丁级别每一步都给判断依据。2.1 自检、SMS 菜单与 console 选择插上电源后前面板会跑硬件自检看到01 N VF字样时按一下白色按钮同时把 AIX 安装第一张盘塞进光驱。屏幕变白并听到滴声后按2进管理菜单SMS密码按手册是admin进去先把启动顺序改成光驱优先。这一步的坑不在操作而在“时机”——01 N VF只停留几秒错过就得重启再来一遍。从光驱引导后第一屏是选择主控台跟着提示选 console 就行。安装语言选 English不要在这里选中文否则后续 smitty 菜单里的字段名和手册对不上排错时反而慢。Type the number of your choice and press Enter. 1. Start Installation Now with Default Settings 2. Change/Show Installation Settings and Install 3. Start Maintenance Mode for System Recovery Choice: [2]选 2 是进自定义安装设置不是直接开装。这一步的意义在于默认设置会按它自己识别到的磁盘和语言环境走而现场要求是“全新完全覆盖 指定 hdisk0”必须先改。2.2 安装方式与磁盘为什么只能选 New and Complete Overwrite进入设置界面后先改安装方法选1 New and Complete Overwrite再改目标磁盘为 hdisk0最后回到主界面输入0开始安装。1. System Settings Method of Installation ----- New and Complete Overwrite Disk Where You Want to Install ------ hdisk0 2. Primary Language Environment Settings (AFTER Install): Cultural Convention ---------- English (United States) Language --------------------- English (United States) 3. Install Trusted Computing Base ---------------- no 0 Install AIX with the current settings listed above.三个选项的技术含义要分清New and Complete Overwrite清空整块盘包括分区表和已有 VG 信息。全新上架机器只能选这个如果盘上有残留的 rootvg选保留安装会留下旧的 ODM 记录后面extendvg会报盘已被占用。Preservation Install保留用户数据但覆盖/usr、/var、/tmp、/业务盘上有数据时绝对不能用。Migration Install只做版本升级保留已装应用本次场景用不上。Trusted Computing Base 选no开了 TCBC 后每次改系统文件都要重新算校验HACMP 装补丁时会频繁报完整性告警现场基本都关掉。安装跑完会自动重启进 Configuration Assistant。这里有个必须做的动作设置 root 口令后直接选Exit the Configuration Assistant再选Finish now, and do not start Configuration Assistant when restarting the operating system.。如果只是退出没关掉向导开关下次重启还会进这个界面无人值守重启时会卡在那儿等输入。手册里 root 口令写的是弱口令实际交付一定要改这条后面避坑章还会提。2.3 装完先补 bundleserver、app-dev 与 openssh 链路AIX 基础安装只带最小集合Oracle 和 HACMP 要的东西得手工补。手册要求装两个必装 bundleserver和app-dev。串口方式安装时没有图形界面还得额外补 cde 的 bundle用显示器装的可以跳过。# 交互式安装入口选 Install and Update from ALL Available Software smitty installp # 命令行方式核对已装 bundle bos.server / bos.adt 系列 lslpp -l | grep -E bos.server|bos.adt # 补 cifs 与 data 包、以及 openssl/openssh 全套 # 在 smitty installp 的 SOFTWARE to install 里输入 # bos.cifs_fs bos.data # openssl* openssh*bos.cifs_fs是挂载外部 CIFS 共享用的文件系统驱动备份落盘或介质交换会用到bos.data提供一批基础数据文件缺了某些安装脚本会报找不到模板。openssl/openssh 是替代 telnet 的远程管理链路AIX 默认只起 telnet明文传输在实际交付里过不了安全检查所以这两个包必须补安装源就在 AIX 6 安装光盘里。装完lslpp -l openssh.base.server能看到状态为 COMMITTED 才算落地只看 smitty 的回显不够smitty 有时会把“已存在更高版本”当成功返回。2.4 语言包、TL/SP 补丁与 ifix 的验收中文语言包按需装路径是smitty→ System Environments → Manage Language Environment → Add Additional Language。Cultural Convention 和 Language Translation 两类都要选Zh-CN UTF-8只装一类会出现日期格式是中文、但报错信息仍是英文的半吊子状态。系统补丁按手册目标是 AIX 6.1 TL7 SP6落地后版本号应为6100-07-06-1241。# 装完介质先看基线 oslevel -s # 期望 6100-07-04SP4 介质 # 打完 TL/SP 后再看 oslevel -s # 期望 6100-07-06-1241 # ifix 用 emgr 装注意文件名大小写和 .epkg.Z 后缀 ls # IV30896m6a.130214.epkg.Z IV32377s6a.130129.epkg.Z emgr -e IV30896m6a.130214.epkg.Z emgr -e IV32377s6a.130129.epkg.Z # 查已装 ifix 清单确认状态是 INSTALLED emgr -lemgr -e的返回最后一行手册印的是SECUSS那是拼写错误真实输出是Return Status: SUCCESS。验收别只看这一行用emgr -l列出清单确认两个 ifix 都在、状态为 INSTALLED再用oslevel -s复核 TL 级别没被 ifix 回退。这一步做完操作系统层才算干净后面调参数才有意义。3. 系统参数一次调到位limit、IOCP 与 no/vmo/ioo 三组持久化写法参数调整是最容易“当时生效、重启失效”的环节。AIX 里同一个参数常有三种改法smitty改 ODM、chdev直接改设备属性、ioo/vmo/no改内核可调参数各自生效时机不同。这一章按“用户级 → 设备级 → 内核级”的顺序推。3.1 limits 全量放开先备份再改Oracle 和 HACMP 都要求用户资源限制足够大手册的做法是把/etc/security/limits里关键项全部改成-1unlimited。# 改之前必须备份这是唯一后悔药 cp /etc/security/limits /etc/security/limits.bak vi /etc/security/limits # 需要改的项default 和 oracle 用户段落都要改 # core -1 # rss -1 # fsize -1 # data -1 # stack -1 # stack_hard -1 # cpu -1 # nofiles -1逐项说明作用core -1允许进程崩溃时写完整 core配合后面的 fullcore 才能拿到完整内存镜像data和stack放开是给 Oracle SGA 和 PGA 留空间nofiles -1是文件句柄上限HACMP 和数据库并发连接多时这一项不够会直接报Too many open filesfsize -1允许写超大文件做 dump 和镜像时必要。注意stack_hard要一起改只改 soft 上限时 hard 仍是旧值用户重新登录后会被打回原形。改完用ulimit -a在目标用户下验证别在 root 下看完就算完。3.2 IOCP 从 Defined 到 AvailableIOCP 是 I/O 完成端口异步 I/O 的事件通知走这个通道Oracle 的异步 IO 依赖它。AIX 6.1 默认已装bos.iocp.rte但端口状态不一定是 Available。# 查 IOCP 端口状态 lsdev -Cc iocp # 正常输出iocp0 Available I/O Completion Ports # 如果是 Defined两种方式拉到 Available smitty iocp # Change/Show Characteristics of I/O Completion Ports → available # 或命令行 chdev -l iocp0 -a autoconfigavailable cfgmgr -l iocp0chdev只改 ODM 属性cfgmgr -l iocp0才是让设备配置真正生效的动作两条要连着敲。只做第一条lsdev里仍然显示 Defined很容易误判成命令没生效。3.3 sys0 上的四个开关fullcore、maxpout/minpout、maxuprocsys0是系统级伪设备一批关键开关挂在它下面。改之前统一用lsattr -El sys0看现状改完再核对一遍。# 查看系统级属性现状 lsattr -El sys0 # 打开 fullcore崩溃时写完整内存转储 chdev -l sys0 -a fullcoretrue # 调整 pout 阈值 chdev -l sys0 -a maxpout8192 -a minpout4096 # 提高单用户最大进程数 chdev -l sys0 -a maxuproc16384 # 崩溃后自动重启 chdev -l sys0 -a autorestarttruemaxpout/minpout控制的是文件系统页输出paging out的阻塞阈值待写页数超过 maxpout 时进程进入睡眠降到 minpout 以下才唤醒。默认值偏小大内存机器上会出现进程频繁睡醒导致的性能抖动8192/4096 是配合 16GB 内存的经验值。maxuproc默认 128双机跑数据库加集群进程根本不够16384 是手册给的上限值。fullcoretrue和前面 limits 里的core -1是配套的前者决定系统崩溃时是否完整转储后者决定进程级 core 文件大小。两个都开dump 才有分析价值。3.4 syncd、时区与 error logsyncd是内存脏页回刷频率默认 60 秒。手册改成 10代价是 I/O 更频繁收益是宕机时丢的数据更少数据库场景通常接受。# syncd 频率写在启动脚本里直接编辑 vi /sbin/rc.boot # 找到这一行把 60 改成 10 # nohup /usr/sbin/syncd 10 /dev/null 21 # 时区使用 POSIX 格式东八区 chtz BEIST-8 # 扩大 error log 到 10MB /usr/lib/errdemon -s 10485760 # 验证 /usr/lib/errdemon -l ps -ef | grep errdemonBEIST-8是 POSIX 时区串-8表示东八区偏移。用smitty chtz里的城市列表选出来的是另一套格式比如CST6CDT和手册要求不一致跨时区调度时容易算错建议直接用 POSIX 串。error log 默认只有 1MB双机切换测试期间几条硬件告警就能把它写满写满后新日志会被丢弃等于排错时没了黑匣子。errdemon -s改的是运行时上限如果ps里看不到 errdemon 进程先/usr/lib/errdemon手动拉起再改。3.5 no / ioo / vmo 三组参数怎么持久化这三组是内核可调参数持久化标志必须带对-p永久生效写 ODM下次启动生效-r立即生效且重启后保留-T只本次生效。手册里网络和 AIO 用-pVM 的page_steal_method用-r这个差别是有意的。# 网络参数一次性刷一批-p 永久 no -p -o tcp_keepidle1800 no -p -o tcp_finwait2300 no -p -o udp_sendspace65536 no -p -o udp_recvspace655360 no -p -o tcp_sendspace262144 no -p -o tcp_recvspace262144 no -p -o tcp_nodelayack1 no -p -o tcp_pmtu_discover0 no -p -o tcp_nagle_limit1 no -p -o sb_max2097152 no -p -o rfc13231 no -p -o ipsendredirects0 no -p -o ipignoreredirects1 no -p -o ip6srcrouteforward0 no -p -o clean_partial_conns1 no -p -o tcp_ephemeral_low9000 no -p -o tcp_ephemeral_high65500 no -p -o udp_ephemeral_low9000 no -p -o udp_ephemeral_high65500 no -r -o ipqmaxlen512 # 这一项必须立即生效 # AIO 服务端数量 ioo -p -o aio_maxservers80 # VM 参数 vmo -p -o numperm_global0 vmo -p -o maxperm%90 vmo -p -o minperm%3 vmo -p -o maxclient%90 vmo -p -o strict_maxperm0 vmo -p -o strict_maxclient1 vmo -p -o lru_file_repage0 vmo -r -o page_steal_method1 # 立即生效重启保留关键参数的含义sb_max2097152是 socket 缓冲区上限配合 256KB 的 tcp_sendspace/recvspace 才不会被截断。只改缓冲区不改 sb_max实际还是按旧上限走。rfc13231打开窗口缩放和时间戳长肥管道跨机房链路吞吐提升明显本地短连接影响不大。tcp_nodelayack1让小包立即 ACK降低数据库短事务延迟tcp_nagle_limit1是关掉 Nagle 合并两者一起用才有效果。ipqmaxlen512是接收队列长度属于-r立即生效项说明书写-p的话高负载下会丢包。aio_maxservers80的经验公式是并行磁盘数的 10 倍、上限 80最小值取一半。ioo -p修改后重启生效别指望当场看到变化。numperm_global0加maxperm%90是让文件系统缓存优先lru_file_repage0禁止重新分页避免内存压力下把文件缓存反复换出。page_steal_method1切到基于列表的页窃取算法必须-r立即生效-p在部分 TL 上不认这个参数。3.6 HBAdyntrk 与 num_cmd_elems 的先后顺序光纤卡参数分两层fscsi*是协议层fcs*是适配器层。手册给的是四个 fscsi 开动态跟踪和快速故障恢复四个 fcs 提队列深度。# 协议层动态跟踪 快速失败 chdev -l fscsi0 -a dyntrkyes -a fc_err_recovfast_fail -P chdev -l fscsi1 -a dyntrkyes -a fc_err_recovfast_fail -P chdev -l fscsi2 -a dyntrkyes -a fc_err_recovfast_fail -P chdev -l fscsi3 -a dyntrkyes -a fc_err_recovfast_fail -P # 适配器层队列深度 chdev -l fcs0 -a num_cmd_elems500 -P chdev -l fcs1 -a num_cmd_elems500 -P chdev -l fcs2 -a num_cmd_elems500 -P chdev -l fcs3 -a num_cmd_elems500 -P # 核对注意 -P 改完要到下次重启才在 lsattr 里体现 lsattr -El fscsi0 lsattr -El fcs0dyntrkyes让存储侧端口换位置后不用重启就能重新识别fc_err_recovfast_fail是链路故障时快速失败而不是长时间重试双机切换测试时这个参数直接决定切换耗时。num_cmd_elems500提高单卡并行命令数配 PowerPath 多路径时能压满带宽。-P表示写入 ODM、下次启动生效所以改完必须重启系统否则lsattr看到的还是旧值会误以为改失败了。手册原话是“建议将 HBA 卡参数修改后重启系统”就是这个原因。4. 存储、镜像与高可用骨架文件系统表、SWAP、dump 和 HACMP 集群操作系统和内核参数落定后接下来是存储布局和高可用骨架。这一部分顺序性最强文件系统建错可以删了重建VG 加到资源组的顺序错了HACMP 同步会一直报错。手册在这里给了文件系统表和四个业务 VG但前后表述有矛盾需要自己判断。4.1 文件系统规划表与 /oracle、/softcd 两个 LV手册前半段说“lvsoftcd 挂 /softcd 大小 1GB、lvoracle 挂 /oracle 大小 1GB”后面的表格却写/softcd 10GB、/oracle 50GB。这两处冲突实际交付按表格走因为 1GB 放不下 Oracle 安装介质加补丁包。文件系统大小用途/6GB根文件系统/tmp10GB临时文件安装期会暴涨/usr10GB系统与应用可执行文件/var90GB日志、error log、HACMP 日志/home10GB用户主目录/opt10GB第三方软件默认路径/softcd10GBOracle 安装介质/oracle50GBOracle 程序目录/var给到 90GB 是因为 HACMP 的clstrmgr日志、errdaemon 日志、Oracle 告警日志都落在这一层日志写满根文件系统是双机最常见的“莫名宕机”。# 用 smitty lv 建 LV再用 smitty fs 建文件系统 smitty lv # Add a Logical Volume smitty fs # Add a Journaled File System # 命令行核对结果 lsvg -l rootvg df -gLV 名按手册约定是lvsoftcd和lvoracle逻辑卷类型用jfs2挂载点写绝对路径创建时勾选“Mount AUTOMATICALLY at system restart”不然后重启挂载点全空数据库起不来。4.2 SWAP 按 1:1 配到 16GBPP 数量别算错手册定的 swap 与内存比值 1:1即 16GB。AIX 里 page space 以 PP 为单位默认 1 个 PP 是 512MB。# 用 smit lv 的 page space 菜单或命令行查现状 lsps -a # 增加 31 个 PP512MB × 32 16GB原有 1 个 PP 时加 31 smitty chps # 选要扩的 paging spaceNumber of LOGICAL PARTITIONS 填 31 # 复核 lsps -s注意lsps -a显示的是 LP 数lsps -s显示的是使用率。手册写“增加数值为 31”前提是原来已有 1 个 PP扩完总数 32。如果原 paging space 被删过、LP 数是 0就得填 32。这个差值不核对最后 swap 要么不够要么浪费 512MB。4.3 dump 设备、autorestart 与 errdemondump 是系统崩溃瞬间把内存写进磁盘双机环境里这是定位硬件和内核问题的唯一手段。# 允许系统挂死时强制 dump smitty sysdumpdev # 把 always allow dump 设为 TRUE # 查看当前 dump 设备与大小 sysdumpdev -l # 估算需要的 dump 空间 sysdumpdev -e # 如果现有 dump LV 不够用 smit lv 扩容 smit lvsysdumpdev -e的输出是估算值实际 dump LV 要略大于这个数。dump 到内存的完整转储需要fullcoretrue配合前面 sys0 那一步没做的话这里只能拿到部分镜像。autorestarttrue让系统崩溃后自动重启双机场景必须开主节点宕机后如果不自动回来HACMP 虽然能把资源切到备节点但主节点恢复得靠人工上电切换窗口被拉长。4.4 rootvg 镜像mirrorvg 之后必须 bosbootrootvg 做镜像是最容易被跳过的一步因为装完系统一切正常没人愿意再等一次镜像同步。但根盘单点故障在小机上并不罕见。# 1. 加盘进 rootvg extendvg rootvg hdisk1 # 2. 镜像 mirrorvg rootvg # 3. 看同步进度STALE 分区数降到 0 才算完 lsvg rootvg | grep STALE # 4. 关键一步重写引导镜像否则 hdisk1 不能独立引导 bosboot -ad hdisk1 # 5. 更新启动顺序光驱在前、两块盘在后 bootlist -m normal cd0 hdisk0 hdisk1 # 6. 重启验证 shutdown -Frmirrorvg只做数据镜像不做引导区。不执行bosboot -ad hdisk1hdisk0 坏了切到 hdisk1 会停在0517之类的引导失败码上这一步是血泪经验。重启后lsvg -p rootvg应该看到两块盘都是 activebootlist -m normal -o的输出要和写入顺序一致。4.5 HACMP 安装与 cluster 骨架搭建HACMP 6.1 的安装包选择有个明确例外除了cluster.hativoli其余全装。hativoli 是图形化管理组件装它会拖进一堆依赖命令行运维用不上。# 建光盘文件系统避免每次手工 mount smitty cdrfs # DEVICE name: cd0 # MOUNT POINT: /cdrom # Mount AUTOMATICALLY at system restart: yes # 安装 HA 软件 smitty installp # 选 Install and Update from ALL Available Software # 软件列表里排除 cluster.hativoli其余全选装完用lslpp -l | grep cluster核对cluster.es.server、cluster.es.client、cluster.cspoc这些都要在。缺cluster.es.server的话后面smitty hacmp菜单根本进不去。集群骨架的搭建顺序是固定的先定义 cluster 名字再加节点再加网络再加通信接口和设备。smitty hacmp # Extended Configuration # Extended Topology Configuration # Add a Cluster Definition - 集群名 # Add Cluster Nodes - 两个节点主机名 # Add a Network - 基于 IP 的网络ether # Add a Network - 基于非 IP 的网络串口 # Add Communication Interfaces - en0 等 # Add Communication Devices - tty0 等串口设备cluster 名字全网唯一两台机器必须写同一个。节点名要和/etc/hosts里的解析一致hostname输出和 hosts 记录对不上时同步阶段会报节点不可达。4.6 资源组、SVC IP、应用脚本与卷组挂接拓扑建完切到资源侧顺序是资源组 → 服务 IP → 应用脚本 → 卷组。# Extended Resource Configuration # Add a Resource Group - 资源组名启动策略选 Online On Home Node # Add a Service IP Label - 对外业务地址 # Add an Application Server - 启停脚本路径 # Add a Volume Group - sqdbvg 等业务 VG服务 IP 必须和节点 IP 在同一网段且不能是任何一台机器的物理地址。应用脚本要能接受start/stop两个参数HACMP 调用时只传这两个脚本里自己处理等待和超时不要在脚本里再套一层smitty。卷组加到资源组之前必须先在两台机器上importvg并确认lsvg都能看到且同一时刻只有一台机器varyonvg。两边同时 varyon 同一个 VG同步时会报 VG 锁冲突。4.7 PowerPath 与四个业务 VG 的创建顺序多路径软件负责把同一块 LUN 的多条路径合成一个设备装完才能建 VG。# 装 PowerPath光盘或安装包方式按介质实际路径 # 安装后重启让驱动接管 shutdown -Fr # 核对多路径设备 powermt display devall # 建四个业务 VG mkvg -y sqdbvg -s 128 hdiskpower0 mkvg -y hddbvg -s 128 hdiskpower1 mkvg -y rmansqvg -s 128 hdiskpower2 mkvg -y rmanhdvg -s 128 hdiskpower3 # 复核 lsvg -o lsvg -l sqdbvgpowermt display devall里每个 LUN 应该有多条 path状态全是 alive 才算正常。有 dead path 时先查 HBA 到交换机的链路和 zone别急着建 VG——路径不全时建出来的 VG 可能只落在一张卡上。VG 的 PP size 用-s 128128MB是数据库场景的折中太大浪费空间太小 LV 数量上去后 ODM 膨胀。四个 VG 分别对应业务库、历史库、归档库和归档历史库名字和用途一一对应后面加资源组时不容易加错。5. 五个现场翻车点手册照抄会踩到的顺序、覆盖与状态问题手册是流程记录不是排错指南。下面这五条都是实际执行时真实碰到的每一条都写清现象、原因和解决动作。5.1 文件系统大小前后矛盾按 1GB 建完 oracle 装不下现象按手册前半段把/oracle建成 1GBOracle 安装到 60% 报空间不足回滚又留下一堆残留。原因手册第 17 节写“大小为 1GB”第 20 节的文件系统表写 50GB两处不是同一次修订留下的。1GB 是早期版本后期介质变大后没同步改文字。解决以表格为准/oracle50GB、/softcd10GB。已经建成 1GB 的用chfs -a size50G /oracle在线扩别删了重建——删挂载点会连带删掉已装的部分程序。5.2 mirrorvg 后没做 bosboot备盘起不来现象rootvg 镜像完成lsvg rootvg里两块盘都是 active手动把启动盘改成 hdisk1 重启卡在引导阶段不动。原因mirrorvg只同步数据 LV引导镜像BLV还在 hdisk0 上。hdisk1 上没有可引导的 BLV固件找不到引导记录。解决补bosboot -ad hdisk1再bootlist -m normal cd0 hdisk0 hdisk1重启验证。已经起不来的机器从光驱或 hdisk0 引导进维护模式补做这一步。5.3 先加资源组后加 VG同步一直报配置不一致现象HACMP 同步阶段反复失败日志里提示资源组引用的 VG 在节点上不存在或状态不一致。原因卷组还没在备节点importvg或者两边 VG major number 不一致。资源组先引用了 VG同步时校验通不过。解决先在两台机器上确认lsvg都能列出该 VGmajor number 用lsvg -v核对一致不一致用redefinevg修再回到资源组里重新添加 VG 并同步。顺序永远是先存储后资源。5.4 串口心跳参数不一致非 IP 网络起不来现象IP 网络正常非 IP 网络状态一直是 DOWNclstat里两个节点互相看不见心跳。原因两端 tty 的波特率、流控、clocal 设置不一致。手册只写了“添加串口设备”没写参数必须两边完全相同。解决两端统一用smitty tty设成 9600、8N1、无流控stty -a /dev/tty0逐项比对。改完cfgmgr重新识别再同步集群配置。5.5 syncd 改在 rc.boot 里打 TL 补丁后被覆盖现象系统参数调整时把 syncd 从 60 改成 10几个月后打完 TL 补丁ps -ef | grep syncd又变回 60。原因/sbin/rc.boot属于系统文件TL/SP 升级时会被新版本覆盖手工改的内容不保留。解决每次打完补丁把rc.boot里的 syncd 值、以及no/vmo/ioo的持久化配置全部复核一遍。习惯做法是打完补丁跑一次lsattr -El sys0、no -a、vmo -a和基线表对比不一致的重新刷。6. 切换前那三十分钟一套可复现的验收自检与切换动作双机配完不等于能用。我的习惯是在正式切换测试前留三十分钟按固定顺序跑一遍自检把“配置看起来对”变成“状态确实对”。先看集群层两台机器都要执行# 集群服务状态两个节点都应是 ACTIVE lssrc -g cluster # 集群拓扑与资源组状态 clstat -o /usr/es/sbin/cluster/utilities/clRGinfo # 网络接口与心跳 cllsifclstat的输出里每个资源组要能看到当前所在节点服务 IP 状态是 UP。clRGinfo比clstat细能看出资源组里每个资源的单独状态SVC IP 和 VG 必须是绿色。再看存储和多路径# 每条路径都应是 alive powermt display devall # 业务 VG 只在主节点 varyon lsvg -o # 文件系统挂载点齐全 df -g | grep -E oracle|softcd|sqdb|hddb|rman然后做一次受控切换验证资源组真的能漂过去# 主节点上把资源组移到备节点 smitty clstop # 选 Move Resource Groups to Another Node # 备节点上确认接管 clstat -o lsvg -o df -g | grep oracle # 业务侧验证服务 IP 可达、应用进程已起 netstat -i | grep svc_ip ps -ef | grep -i oracle切换动作本身只要几秒到几十秒真正耗时的是接管后的验证。我的验收标准是三条服务 IP 在备节点上能 ping 通、业务 VG 已 varyon、应用脚本拉起的进程数和主节点切换前一致。三条全过才算切换成功缺一条就回切别在“半接管”状态下继续往下测。回切同样走一遍smitty clstop方向反过来。回切后要检查原来的主节点有没有残留的 VG 锁和进程lsvg -o在两台机器上都执行一次对比只有一台有输出才是对的。这里有个我踩过的坑切换测试做完没清理/tmp下的集群临时文件第二天正式上线时clstrmgr启动报锁冲突。从那以后我每次切换测试完都会额外清一遍/tmp里带cl前缀的残留文件再重启一次集群服务确认能干净起来。这套自检流程现在是我的固定动作多花三十分钟能省掉上线当天的通宵。手册里的 42 个步骤给的是“怎么装”但真正决定这套双机稳不稳的是装完之后有没有人按顺序逐项核对状态。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站