Skip to content

物理服务器 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系统,满足生产环境的高可用性和安全性要求。

基于 MIT 许可发布