Ubuntu Server 22.04 LTS安装与优化全指南

1. 项目概述

作为一名Linux系统管理员,我经常需要为团队部署Ubuntu Server系统。不同于桌面版,服务器版的安装过程有许多需要特别注意的配置项。今天我就用最近一次实际部署的经验,手把手带大家走一遍Ubuntu Server 22.04 LTS的安装全流程,重点解析那些官方文档没细说但实际工作中必知的细节。

这个教程特别适合:

  • 刚接触Linux服务器的运维新人
  • 需要标准化部署流程的团队负责人
  • 想了解服务器与桌面版安装差异的技术爱好者

我会用实体服务器配合iDRAC远程控制台进行演示,过程中会标注与虚拟机安装的差异点。所有截图都是实时操作所得,保证每个步骤都经得起验证。

2. 安装准备阶段

2.1 硬件需求核查

虽然Ubuntu Server对硬件要求不高,但生产环境建议:

  • CPU:至少2核(实测1核运行Docker会卡顿)
  • 内存:4GB起步(运行K8s节点建议8GB+)
  • 存储:50GB SSD(系统分区)+ 按需配置数据盘
  • 网络:双网卡做bonding(重要服务器必备)

特别提醒:服务器安装一定要检查RAID卡驱动是否兼容,曾经遇到HPE Gen10安装时认不到RAID阵列的问题,最后发现需要先加载hpsa驱动。

2.2 制作启动介质

推荐两种可靠方式:

  1. Rufus写入(Windows环境):
    选择DD模式写入(非ISO模式) 文件系统选FAT32(UEFI必须) 簇大小保持默认(大文件传输更快)
  2. dd命令写入(Linux/macOS):
    diskutil list # 确认U盘设备号(如/dev/disk2) diskutil unmountDisk /dev/disk2 sudo dd if=ubuntu-22.04-live-server-amd64.iso of=/dev/disk2 bs=1m

实测用USB3.0闪存盘安装比光盘快3倍以上,特别是当服务器配有USB3.0接口时。

3. 安装过程详解

3.1 引导与初始配置

插入安装介质后,在服务器BIOS中:

  1. 设置UEFI启动模式(传统Legacy模式已逐步淘汰)
  2. 关闭Secure Boot(某些网卡驱动会受限)
  3. 调整启动顺序:USB > PXE > 本地硬盘

安装程序加载后会遇到第一个关键选择:

Try Ubuntu Server / Install Ubuntu Server ↓ 选择Install Ubuntu Server

语言选择建议用English(避免后续终端出现乱码),时区按实际选择即可。

3.2 网络配置实战技巧

网络配置界面隐藏着几个重要细节:

  1. 多网卡命名规则

    • eno1:板载网卡1
    • ens1f0:PCIe网卡端口0
    • 建议记录各网卡MAC地址与物理端口对应关系
  2. IPv6配置

    如果内网没有IPv6环境 ↓ 务必选择"Disable IPv6" ↓ 否则会导致部分服务解析超时
  3. 代理设置: 在内网环境需要HTTP代理时:

    http://proxy.internal:3128 格式必须完整(不能省略http://)

3.3 存储配置进阶方案

生产环境推荐使用LVM分区方案:

/boot 1GB ext4 (独立分区防止LVM故障) / 50GB ext4 (系统根分区) swap 内存大小的1-2倍 (休眠需要) /var 20GB ext4 (日志专用) /home 剩余空间 ext4 (用户数据)

血泪教训:曾经有台服务器/var分区过小,导致docker日志撑爆根分区。现在我会给/var单独分配20GB空间。

对于数据库服务器,建议额外配置:

raw磁盘 → LVM物理卷 → 创建LV时加--type thin-pool ↓ 可实现动态空间分配(类似VMware Thin Provision)

3.4 用户与安全设置

安全加固关键点:

  1. 禁用root登录

    安装时创建普通用户 ↓ 后续通过sudo提权
  2. SSH密钥登录

    安装时勾选"Install OpenSSH server" ↓ 首次登录后立即: sudo nano /etc/ssh/sshd_config ↓ 修改: PasswordAuthentication no PermitRootLogin no
  3. 防火墙预设

    选择安装ufw防火墙 ↓ 基础规则: sudo ufw allow 22/tcp sudo ufw enable

4. 安装后必做优化

4.1 系统更新策略

首次启动后立即:

sudo apt update sudo apt full-upgrade -y sudo apt install -y \ git curl tmux \ net-tools lsof htop

建议配置无人值守更新:

sudo dpkg-reconfigure unattended-upgrades ↓ 选择自动安装安全更新

4.2 性能调优参数

修改/etc/sysctl.conf追加:

# 提升TCP性能 net.core.rmem_max=4194304 net.core.wmem_max=4194304 net.ipv4.tcp_keepalive_time=300 # 减少swap使用倾向 vm.swappiness=10

对于数据库服务器还需调整:

echo deadline > /sys/block/sda/queue/scheduler

4.3 监控基线配置

安装基础监控工具:

sudo apt install -y \ sysstat smartmontools

启用服务:

sudo systemctl enable --now \ sysstat smartd

配置日志轮转:

sudo nano /etc/logrotate.conf ↓ 修改为: rotate 12 weekly missingok compress delaycompress

5. 常见问题排错指南

5.1 安装阶段问题

问题1:安装卡在"Detecting hardware"阶段

  • 可能原因:RAID卡驱动缺失
  • 解决方案:
    1. 在启动菜单按"e"编辑启动参数
    2. 在linux行末尾添加modprobe.blacklist=nouveau
    3. 按F10继续启动

问题2:安装后无法联网

  • 排查步骤:
    ip a # 检查网卡识别 sudo lshw -C network # 查看驱动状态 sudo dhclient ens3 # 手动获取IP

5.2 运行阶段问题

问题3:磁盘空间不足告警

  • 快速定位大文件:
    sudo du -h --max-depth=1 / | sort -h sudo journalctl --disk-usage # 检查日志大小

问题4:SSH连接缓慢

  • 优化方案:
    sudo nano /etc/ssh/sshd_config ↓ 添加: UseDNS no GSSAPIAuthentication no

6. 生产环境增强配置

6.1 自动化部署方案

对于批量部署,推荐使用Preseed自动安装:

# 示例preseed.cfg片段 d-i partman-auto/method string lvm d-i partman-lvm/device_remove_lvm boolean true d-i partman-auto-lvm/guided_size string max

配合PXE网络启动可实现:

  1. 30分钟内部署50台服务器
  2. 自动配置主机名/IP/分区
  3. 预装指定软件包

6.2 安全加固检查清单

安装后必须执行的加固操作:

  1. 配置fail2ban防暴力破解:

    sudo apt install -y fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  2. 启用自动安全更新:

    sudo apt install -y unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades
  3. 配置审计日志:

    sudo apt install -y auditd sudo auditctl -e 1

6.3 备份恢复方案

推荐采用以下备份策略:

每日增量备份: sudo tar -g /backup/snapshot -czpf /backup/daily/$(date +%Y%m%d).tar.gz / 每周全量备份: sudo lvcreate -s -n root_snap -L 5G /dev/vg00/root

测试恢复的完整流程:

# 从LiveCD启动后 sudo lvcreate --name root_restore --size 50G vg00 sudo tar -xzpvf backup.tar.gz -C /mnt sudo update-grub

最后提醒:所有关键操作前记得先做快照。上周我刚因为误删一个Python环境,幸亏有LVM快照能秒级回滚。养成好习惯能省下无数加班时间。