物理服务器 AlmaLinux 安装指南
本指南详细介绍如何在物理服务器上部署 AlmaLinux,涵盖企业级服务器的特殊配置、RAID设置、远程管理和生产环境优化。
服务器硬件评估
服务器类型分类
机架式服务器 (1U/2U/4U)
bash
# 典型配置
1U服务器: 空间紧凑,适合Web服务
2U服务器: 平衡性能和空间
4U服务器: 高性能计算,大容量存储
# 硬件特点
- 冗余电源单元 (PSU)
- 热插拔硬盘支持
- 多网口配置
- 服务器级ECC内存
- 远程管理接口 (iDRAC/iLO/BMC)
塔式服务器
bash
# 适用场景
小型企业服务器
开发测试环境
单体应用部署
# 配置特点
- 标准ATX主板
- 多PCIe扩展槽
- 大容量存储空间
- 相对安静运行
刀片服务器
bash
# 企业级部署
高密度计算环境
虚拟化平台
云计算基础设施
# 特殊考虑
- 刀片箱统一管理
- 共享电源和网络
- 集中散热系统
硬件兼容性验证
服务器认证检查
bash
# Red Hat硬件兼容性列表
# 查看官方认证:
# https://catalog.redhat.com/hardware
# 常见服务器厂商支持
Dell PowerEdge 系列
HP ProLiant 系列
IBM System x 系列
Lenovo ThinkSystem 系列
Supermicro 服务器
浪潮 inspur 服务器
华为 FusionServer 系列
关键组件检测
bash
# CPU 支持验证
# 确保CPU支持64位指令集
cat /proc/cpuinfo | grep flags | head -1
# 内存配置检查
# ECC内存检测
dmidecode --type 17 | grep -E "Error|ECC"
# 存储控制器
# RAID控制器识别
lspci | grep -i raid
lspci | grep -i storage
# 网络接口
# 多网口配置
ip link show
ethtool eth0
安装前规划
系统架构设计
存储规划
bash
# 系统分区方案 (RAID 1 推荐)
/boot/efi - 600 MB (RAID 1)
/boot - 2 GB (RAID 1)
/ - 50 GB (RAID 1)
/var - 100 GB (RAID 1)
/var/log - 50 GB (RAID 1)
/tmp - 20 GB (RAID 1)
swap - 32 GB (RAID 1)
# 数据分区方案 (RAID 5/10 推荐)
/data - 剩余容量 (RAID 5/10)
/backup - 独立磁盘 (RAID 1)
网络规划
bash
# 多网口配置
eth0: 管理网络 (192.168.1.0/24)
eth1: 业务网络 (10.0.1.0/24)
eth2: 存储网络 (10.0.2.0/24)
eth3: 备用/冗余
# VLAN配置
VLAN 100: 管理网络
VLAN 200: 生产网络
VLAN 300: 备份网络
安全规划
bash
# 访问控制
- 禁用root远程登录
- 配置密钥认证
- 设置防火墙规则
- 启用SELinux
- 配置审计日志
# 网络安全
- 管理网络隔离
- VPN接入控制
- 入侵检测系统
RAID配置
硬件RAID设置
Dell PowerEdge RAID配置
bash
# 进入RAID配置界面
1. 服务器启动时按 Ctrl+R 进入PERC配置
2. 或使用 Lifecycle Controller
# RAID级别选择
RAID 0: 性能优先,无冗余
RAID 1: 完全镜像,高可靠性
RAID 5: 性能和冗余平衡
RAID 10: 高性能+高可靠性
# 配置示例
系统盘: 2×SSD RAID 1 (操作系统)
数据盘: 4×HDD RAID 5 (数据存储)
HP ProLiant Smart Array配置
bash
# 配置步骤
1. 服务器启动时按 F8 进入Smart Array配置
2. 选择Array Configuration Utility
# 创建逻辑驱动器
1. 选择物理驱动器
2. 设置RAID级别
3. 配置热备盘
4. 设置写缓存策略
软件RAID配置
bash
# 使用mdadm创建软件RAID
# (硬件RAID不可用时的备选方案)
# 安装RAID工具
sudo dnf install mdadm -y
# 创建RAID 1
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# 创建RAID 5
sudo mdadm --create /dev/md1 --level=5 --raid-devices=4 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
# 保存RAID配置
sudo mdadm --detail --scan >> /etc/mdadm.conf
远程安装配置
远程管理接口
Dell iDRAC配置
bash
# 访问iDRAC
1. 配置iDRAC IP地址
2. 通过Web界面访问
3. 下载远程控制台
# 虚拟媒体安装
1. 挂载ISO文件到虚拟CD
2. 设置从虚拟CD启动
3. 远程监控安装过程
HP iLO配置
bash
# iLO管理
1. 配置iLO网络设置
2. 启用虚拟媒体功能
3. 通过iLO控制台安装
# 带外管理功能
- 远程电源控制
- 虚拟KVM访问
- 系统健康监控
- 固件更新管理
标准BMC管理
bash
# IPMI工具配置
sudo dnf install ipmitool -y
# 配置BMC网络
ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddr 192.168.1.100
ipmitool lan set 1 netmask 255.255.255.0
ipmitool lan set 1 defgw ipaddr 192.168.1.1
# 远程管理用户
ipmitool user set name 2 admin
ipmitool user set password 2 StrongPassword
ipmitool user priv 2 4 1
网络启动安装 (PXE)
PXE服务器配置
bash
# 安装PXE服务组件
sudo dnf install dhcp-server tftp-server syslinux -y
sudo dnf install httpd -y
# 配置DHCP服务器
sudo vim /etc/dhcp/dhcpd.conf
bash
# DHCP配置示例
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
next-server 192.168.1.10; # PXE服务器IP
filename "pxelinux.0";
}
bash
# 配置TFTP服务
sudo systemctl enable --now tftp.socket
# 配置PXE启动文件
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg
sudo cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
sudo cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
# 创建PXE菜单
sudo vim /var/lib/tftpboot/pxelinux.cfg/default
安装过程执行
标准安装流程
启动安装程序
bash
# 服务器启动选项
1. 本地光驱/USB启动
2. 远程虚拟媒体启动
3. PXE网络启动
4. 预装系统恢复
# 安装模式选择
图形安装: 远程管理控制台
文本安装: 串口控制台
自动安装: Kickstart配置
安装参数配置
bash
# 内核启动参数
console=tty0 console=ttyS0,115200 # 串口输出
inst.vnc inst.vncpassword=password # VNC安装
inst.ks=http://server/ks.cfg # Kickstart
nomodeset # 显卡兼容
服务器专用配置
网络接口配置
bash
# 多网口绑定 (Bonding)
配置主接口: eth0 + eth1 (主备模式)
配置数据接口: eth2 + eth3 (负载均衡)
# 网络配置示例
管理网络: 192.168.1.100/24 (静态IP)
业务网络: 10.0.1.100/24 (静态IP)
存储网络: 10.0.2.100/24 (静态IP)
存储配置
bash
# 文件系统选择
/ (根分区): XFS (推荐)
/boot: ext4 (兼容性)
/var: XFS (日志存储)
/home: XFS (用户数据)
# LVM配置
启用LVM: 是 (便于扩展)
卷组名: vg_system
逻辑卷: lv_root, lv_var, lv_home
用户和安全配置
bash
# Root账户
设置强密码
禁用SSH登录 (后续配置)
# 管理用户
创建管理员账户
配置sudo权限
设置SSH密钥认证
安装后配置
系统基础配置
网络配置优化
bash
# 配置网络绑定
sudo vim /etc/sysconfig/network-scripts/ifcfg-bond0
bash
# Bond配置示例
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BONDING_OPTS="mode=1 miimon=100"
bash
# 配置网卡成员
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
bash
# 网卡配置
DEVICE=eth0
TYPE=Ethernet
SLAVE=yes
MASTER=bond0
BOOTPROTO=none
存储配置优化
bash
# 配置LVM
# 扩展逻辑卷
sudo lvextend -L +10G /dev/vg_system/lv_var
sudo xfs_growfs /var
# 配置swap
sudo swapon -s
echo '/dev/vg_system/lv_swap swap swap defaults 0 0' >> /etc/fstab
# 文件系统优化
echo 'vm.swappiness=10' >> /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf
服务器专用服务
远程管理配置
bash
# 配置SSH服务
sudo vim /etc/ssh/sshd_config
bash
# SSH安全配置
Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
bash
# 配置fail2ban
sudo dnf install fail2ban -y
sudo vim /etc/fail2ban/jail.local
bash
# fail2ban配置
[sshd]
enabled = true
port = ssh
logpath = /var/log/secure
maxretry = 3
bantime = 3600
findtime = 600
系统监控配置
bash
# 安装监控工具
sudo dnf install htop iotop nethogs -y
sudo dnf install sysstat lm_sensors -y
# 配置系统统计
sudo systemctl enable sysstat
sudo sensors-detect --auto
# 安装SNMP (可选)
sudo dnf install net-snmp net-snmp-utils -y
sudo vim /etc/snmp/snmpd.conf
日志管理配置
bash
# 配置rsyslog
sudo vim /etc/rsyslog.conf
bash
# 日志配置示例
# 远程日志服务器
*.* @@logserver.example.com:514
# 本地日志轮转
/var/log/messages {
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 640 root adm
}
安全加固
防火墙配置
bash
# 配置firewalld
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload
# 限制SSH访问
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'
sudo firewall-cmd --permanent --remove-service=ssh
SELinux配置
bash
# 验证SELinux状态
sestatus
# 配置SELinux策略
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P ssh_sysadm_login 1
# 自定义SELinux规则
sudo audit2allow -M mymodule < /var/log/audit/audit.log
sudo semodule -i mymodule.pp
生产环境优化
性能调优
内核参数优化
bash
# 服务器内核参数
sudo vim /etc/sysctl.d/99-server.conf
bash
# 网络优化
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.ipv4.tcp_congestion_control = bbr
# 内存管理
vm.swappiness = 1
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
# 文件系统
fs.file-max = 2097152
fs.nr_open = 1048576
服务优化
bash
# 禁用不必要服务
sudo systemctl disable bluetooth
sudo systemctl disable cups
sudo systemctl disable ModemManager
# 优化关键服务
sudo systemctl enable chronyd
sudo systemctl enable firewalld
sudo systemctl enable cockpit.socket
监控和维护
系统监控
bash
# 安装Zabbix Agent (示例)
sudo dnf install zabbix-agent -y
sudo vim /etc/zabbix/zabbix_agentd.conf
# 配置监控项
Server=监控服务器IP
ServerActive=监控服务器IP
Hostname=服务器主机名
备份策略
bash
# 配置自动备份
sudo vim /etc/cron.daily/server-backup
bash
#!/bin/bash
# 服务器备份脚本
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
# 系统配置备份
tar -czf $BACKUP_DIR/config-$DATE.tar.gz /etc
# 日志备份
tar -czf $BACKUP_DIR/logs-$DATE.tar.gz /var/log
# 删除7天前的备份
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
更新策略
bash
# 配置自动安全更新
sudo dnf install dnf-automatic -y
sudo vim /etc/dnf/automatic.conf
# 仅安装安全更新
upgrade_type = security
apply_updates = yes
# 启用自动更新
sudo systemctl enable --now dnf-automatic.timer
故障排除
硬件故障诊断
bash
# 系统硬件检查
sudo dmidecode -t system
sudo dmidecode -t memory
sudo dmidecode -t processor
# RAID状态检查
sudo megacli -LDInfo -Lall -aALL # LSI RAID
sudo hpacucli ctrl all show config # HP Smart Array
# 磁盘健康检查
sudo smartctl -a /dev/sda
sudo badblocks -v /dev/sda
网络问题诊断
bash
# 网络连接测试
ping -c 4 8.8.8.8
traceroute 8.8.8.8
mtr google.com
# 网络配置检查
ip addr show
ip route show
cat /etc/resolv.conf
启动问题解决
bash
# GRUB救援模式
# 在GRUB菜单选择救援模式
# 或使用救援盘启动
# 修复系统
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
chroot /mnt
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
通过本指南,您可以在物理服务器上成功部署企业级的AlmaLinux系统,满足生产环境的高可用性和安全性要求。