物理机安装hmc
- 物理机
- 2025-08-07
- 19
前置条件核查表
项目 | 具体要求 | 备注 |
---|---|---|
硬件兼容性 | 支持x86_64架构CPU,内存≥8GB,本地存储≥50GB(建议SSD) | 根据厂商文档确认型号 |
操作系统 | CentOS 7/8、RHEL 7/8 或 Ubuntu Server 18.04+ | 推荐最小化安装镜像 |
网络环境 | 双网卡配置(管理网口+业务网口),静态IP地址规划,DNS解析正常 | 禁用DHCP防止地址漂移 |
权限账户 | root用户及具有sudo权限的普通用户 | 避免后续权限不足问题 |
时间同步 | NTP服务已配置且与内网时间源同步 | 确保日志时间戳一致性 |
防火墙策略 | 开放特定端口(如SSH 22、WebUI 443、API接口等) | 根据安全规范调整 |
分步安装流程
阶段1:基础环境搭建
-
制作启动介质
- 从官方渠道获取最新HMC安装ISO文件(通常为
.iso
格式) - 使用
dd
命令写入U盘:dd if=hmc-installer.iso of=/dev/sdb bs=4M status=progress
- 验证MD5校验码:
md5sum /path/to/iso
对比官网提供的哈希值
- 从官方渠道获取最新HMC安装ISO文件(通常为
-
BIOS/UEFI设置
- 进入Boot菜单将U盘设为第一启动项
- 关闭Secure Boot(若启用会导致内核恐慌)
- 开启VT-x/AMD-V虚拟化支持(部分功能依赖)
-
磁盘分区规划
| 分区类型 | 挂载点 | 容量建议 | 文件系统 | 备注 |
|—————-|————-|———|———|————————–|
| /boot | /boot | 500MB | ext4 | 引导分区 |
| / | / | 20GB | ext4 | 根分区 |
| swap | swap | 物理内存×2 | swap | 交换分区 |
| /data | /data | 剩余空间| xfs | HMC数据存储目录 |- 执行命令:
fdisk /dev/sda
→mkfs.ext4 /dev/sda1
→mount /dev/sda1 /mnt/temp
- 执行命令:
阶段2:核心组件安装
-
启动安装程序
- 插入U盘重启后选择”Install HMC”选项
- 语言选择→键盘布局→时区设置→网络配置(手动指定IPv4地址)
-
依赖包自动安装
系统会自动检测并安装以下关键组件:- OpenJDK 11+(运行Web控制台)
- Tomcat 9.x(Servlet容器)
- PostgreSQL 14(数据库后端)
- Nginx 1.20+(反向代理)
- Python 3.8+(脚本引擎)
-
数据库初始化
- 创建专用数据库用户:
createuser --pwprompt hmc_admin
- 导入初始Schema:
psql -U postgres -f init_schema.sql
- 配置连接池参数:最大连接数建议设置为CPU核心数×2
- 创建专用数据库用户:
阶段3:服务配置与优化
-
修改核心配置文件
# /etc/hmc/config.yaml 关键参数示例 server: port: 8443 # HTTPS服务端口 ssl_certificate: /etc/pki/tls/certs/hmc.crt ssl_key: /etc/pki/tls/private/hmc.key
- 生成自签名证书:
openssl req -x509 -days 365 -out hmc.crt -inkey hmc.key
- 设置JVM堆内存:
export JAVA_OPTS="-Xms4g -Xmx8g"
(根据物理内存调整)
- 生成自签名证书:
-
防火墙规则配置
# firewalld示例规则 firewall-cmd --permanent --add-port=8443/tcp firewall-cmd --permanent --add-port=22/tcp # SSH管理端口 firewall-cmd --reload
-
日志轮转策略
编辑/etc/logrotate.d/hmc
文件:/var/log/hmc/.log { daily rotate 7 compress delaycompress missingok notifempty create 0640 hmc hmc }
验证与测试
-
服务状态检查
systemctl status hmc-server # 主服务进程 systemctl status hmc-scheduler # 任务调度器 netstat -tulnp | grep 8443 # 确认端口监听
-
功能测试矩阵
| 测试项 | 预期结果 | 命令/操作 |
|——————|———————————–|——————————|
| Web界面访问 | 显示登录页面 | https://:8443 |
| API接口测试 | 返回JSON格式数据 | curl -k https://:8443/api |
| 设备发现 | 自动识别PCI设备列表 | lspci -vvv |
| 固件更新模拟 | 成功上传测试文件 | ./update_firmware –test |
| 告警通知 | 邮件/SNMP陷阱触发 | tail -f /var/log/alerts.log |
常见问题FAQs
Q1: 安装过程中提示”Database connection failed”如何解决?
A: 此问题通常由以下原因导致:① PostgreSQL服务未启动(执行systemctl start postgresql
);② 数据库用户权限不足(执行GRANT ALL PRIVILEGES ON database_name TO hmc_user;
);③ 防火墙阻止了5432端口(添加firewall-cmd --add-port=5432/tcp
),建议按顺序排查这三项。
Q2: Web控制台加载缓慢或超时怎么处理?
A: 可能原因及解决方案:① JVM垃圾回收频繁(增大-Xmx
参数至物理内存的50%);② 数据库查询慢(添加索引到高频查询表);③ 网络带宽不足(启用HTTP/2压缩传输);④ 浏览器缓存问题(清除Chrome/Firefox缓存),可优先通过journalctl -u hmc-server -f
查看实时日志定位瓶颈。
进阶优化建议
-
高可用部署
- 采用Keepalived实现VIP漂移(VRRP协议)
- 配置共享存储(NFS/iSCSI)存放数据目录
- 主备节点心跳检测间隔设为2秒
-
性能调优参数
# /etc/security/limits.conf 添加 hmc soft nofile 65536 hmc hard nofile 65536 hmc soft nproc 65536 hmc hard nproc 65536
-
安全加固措施
- 启用SELinux强制模式(设置为enforcing)
- 定期执行
rpm -Va
验证文件完整性 - 配置AppArmor限制进程权限
- 禁用不必要的RPC服务(rpcbind, mountd)
完成上述步骤后,建议进行72小时压力测试,重点观察内存泄漏、磁盘I/O吞吐量及网络延迟指标,实际生产环境中应根据具体硬件规格调整参数,并建立完善的备份恢复