ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

【运维实战】Ubuntu Server 安装到服务器全流程详解:从镜像准备到远程 SSH 登录

【运维实战】Ubuntu Server 安装到服务器全流程详解:从镜像准备到远程 SSH 登录 本文以Ubuntu Server 22.04 LTS / 24.04 LTS为例详细讲解如何将 Ubuntu 系统安装到物理服务器或远程服务器上。文章面向刚接触 Linux 服务器运维的同学也适合需要标准化装机流程的运维人员参考。很多刚接触服务器的朋友一听到“装系统”就有点慌服务器和普通电脑有什么不一样磁盘要不要提前做 RAIDUEFI 还是 Legacy分区怎么分才合理装完以后怎么远程连接SSH 怎么配置更安全网卡 IP 怎么固定安装完还要做哪些初始化这篇文章我们就按照真实运维上线流程一步步讲清楚。目录服务器安装 Ubuntu 前的准备工作下载 Ubuntu Server 镜像并校验制作启动盘或挂载 ISO服务器 BIOS / RAID / 启动项配置Ubuntu Server 安装完整流程磁盘分区方案推荐网络配置与静态 IP 设置安装完成后的系统初始化SSH 远程登录配置安全加固建议常见问题排查总结一、服务器安装 Ubuntu 前的准备工作在正式安装系统之前一定要先把准备工作做好。很多装机失败并不是系统镜像有问题而是前期没有确认清楚服务器环境。1. 确认服务器硬件信息安装前建议先确认以下信息项目说明CPU 架构一般为 x86_64 / amd64内存大小建议至少 4GB生产环境通常 16GB 起步磁盘数量判断是否需要 RAIDRAID 卡是否有硬件 RAID 卡如 PERC、MegaRAID 等网卡数量是否需要绑定 bond管理口IPMI、iDRAC、iLO、BMC 等远程管理启动方式UEFI 或 Legacy BIOS如果是生产服务器一般建议系统盘至少做RAID 1防止单块磁盘损坏导致系统不可用。2. 确认安装方式常见安装方式有几种方式一U 盘安装适合本地机房操作。将 Ubuntu Server ISO 写入 U 盘然后服务器从 U 盘启动安装。方式二远程管理口挂载 ISO 安装适合远程机房或无人值守场景。通过以下远程管理工具挂载镜像DelliDRACHPiLOLenovoXCC / IMM浪潮BMC华为iBMC超微IPMI这种方式相当于把 ISO 虚拟成光驱服务器从虚拟光驱启动安装。方式三PXE 网络批量安装适合批量服务器装机一般会配合DHCPTFTPHTTPKickstart / AutoinstallMAAS本文主要讲单机安装流程PXE 批量装机后续可以单独写一篇。二、下载 Ubuntu Server 镜像并校验1. 下载地址Ubuntu Server 官方下载地址https://ubuntu.com/download/server建议选择 LTS 版本例如Ubuntu Server 22.04 LTSUbuntu Server 24.04 LTSLTS 版本支持周期长稳定性更好适合服务器环境。2. 校验镜像完整性下载完成后建议校验 SHA256。Linux / macOS 下执行sha256sum ubuntu-22.04.5-live-server-amd64.iso然后将结果与官网 SHA256 对比。如果校验不一致说明镜像可能下载损坏不要继续使用。三、制作启动盘或挂载 ISO1. Windows 下制作启动盘常用工具RufusbalenaEtcherVentoy推荐使用Rufus或Ventoy。Rufus 使用要点打开 Rufus选择 U 盘选择 Ubuntu Server ISO分区类型根据服务器启动方式选择UEFIGPTLegacy BIOSMBR开始写入2. Linux 下制作启动盘先确认 U 盘设备名lsblk假设 U 盘是/dev/sdb执行sudoddifubuntu-22.04.5-live-server-amd64.isoof/dev/sdbbs4Mstatusprogressoflagsync注意of/dev/sdb一定要写对否则可能把本地磁盘写坏。3. 远程管理口挂载 ISO如果有 IPMI / iDRAC / iLO可以直接在远程控制台里挂载 ISO。大致流程登录服务器远程管理页面打开 Virtual Console / Remote Console挂载 ISO 文件设置下次启动从 Virtual CD / DVD 启动重启服务器四、服务器 BIOS / RAID / 启动项配置这一步非常关键。1. 进入 BIOS 或 Boot Menu服务器开机时根据品牌不同进入方式不同品牌常见快捷键DellF2 / F12HPF9 / F11LenovoF1 / F12浪潮Del / F12华为Del / F11超微Del / F11一般F2或Del进入 BIOS SetupF11/F12进入 Boot Menu2. 选择 UEFI 还是 Legacy现在新服务器建议优先使用UEFI原因支持 GPT 分区支持更大磁盘更安全更符合主流服务器规范如果服务器比较老或者某些 RAID 卡、网卡只支持传统启动才考虑 Legacy BIOS。3. Secure Boot 要不要关Ubuntu Server 通常支持 Secure Boot。如果没有特殊情况可以保持开启。如果遇到以下问题U 盘无法启动加载内核报错第三方驱动无法加载安装程序卡住可以临时关闭 Secure Boot装完系统后再评估是否开启。4. RAID 配置建议如果服务器有多块磁盘建议先配置 RAID。常见方案场景推荐 RAID系统盘两块RAID 1数据盘多块兼顾容量和性能RAID 5 / RAID 6 / RAID 10高性能数据库RAID 10大容量冷备份RAID 6单盘测试机不做 RAID 或 RAID 0举例两块 480GB SSD 做系统盘RAID 1可用容量约 480GB。多块数据盘RAID 5 / RAID 10具体根据业务和磁盘数量决定。注意硬件 RAID 配置完成后Ubuntu 安装界面看到的通常是一个逻辑磁盘例如/dev/sda或者/dev/megaraid0五、Ubuntu Server 安装完整流程下面进入正式安装流程。1. 从 U 盘或虚拟光驱启动服务器开机后选择启动项USB DeviceVirtual CD/DVDUEFI USBCD/DVD进入 Ubuntu Server 安装菜单。通常选择Try or Install Ubuntu Server2. 选择语言安装界面首先选择语言。生产环境建议English为什么推荐英文因为服务器日志、报错、文档基本都是英文。使用英文系统更便于排查问题也避免某些远程终端下中文显示异常。如果只是学习测试可以选择中文。3. 选择键盘布局默认即可English (US)4. 选择安装类型Ubuntu Server 安装界面通常会有Ubuntu Server Ubuntu Server (minimized)一般选择Ubuntu Serverminimized 版本更精简适合容器、云环境或者自动化部署场景。新手建议使用标准版。5. 配置网络这是重点。服务器强烈建议配置静态 IP不要依赖 DHCP。安装程序会自动识别网卡例如enp1s0 ens1f0 eno1 enp3s0选中网卡后选择Edit IPv4然后选择Manual填写以下信息配置项示例Subnet192.168.10.0/24Address192.168.10.10Gateway192.168.10.1Name servers223.5.5.5,114.114.114.114示例Subnet: 192.168.10.0/24 Address: 192.168.10.10 Gateway: 192.168.10.1 Name servers: 223.5.5.5如果机房有内部 DNS填写内部 DNS。6. 代理设置如果服务器需要代理访问外网则填写 proxy。大多数内网服务器不需要代理直接留空Done7. 镜像地址安装程序可能会询问是否使用 mirror。默认地址类似http://archive.ubuntu.com/ubuntu国内服务器可以改成http://mirrors.aliyun.com/ubuntu或http://mirrors.tuna.tsinghua.edu.cn/ubuntu如果安装时不改也可以装完系统后再换源。六、磁盘分区方案推荐这是整个安装过程中最容易踩坑的地方。Ubuntu Server 安装程序提供两种方式Use an entire disk Custom storage layout1. 简单场景Use an entire disk如果只是测试机、单机、没有复杂分区需求可以选择Use an entire disk并勾选Set up this disk as an LVM group这样安装器会自动使用 LVM后期扩容比较方便。2. 生产环境推荐Custom storage layout生产服务器建议自定义分区。推荐方案如下。UEFI 启动分区方案分区大小文件系统挂载点说明EFI System Partition512MB - 1GBFAT32/boot/efiUEFI 必需/boot1GBext4/boot存放内核和引导文件LVM PV剩余空间LVM-逻辑卷管理lv-root50GB - 100GBext4/系统根目录lv-swap4GB - 16GBswapswap交换分区lv-var50GB 或更多ext4/var日志、容器、包缓存lv-home剩余空间ext4/home用户目录如果服务器有独立数据盘建议系统盘和数据盘分离系统盘/、/boot、/var 数据盘/data3. Swap 分多大简单建议内存大小Swap 建议小于 4GB内存的 2 倍4GB - 16GB4GB - 8GB16GB - 64GB8GB - 16GB大于 64GB4GB - 16GB 或不设大 swap如果使用休眠功能swap 需要大于内存。但服务器一般不启用休眠。4. 为什么推荐 LVMLVM 的好处后期可以扩容可以灵活调整逻辑卷大小可以配合快照比传统固定分区更灵活比如后续发现/var空间不足可以扩展逻辑卷而不需要重新分区。5. 不要把空间全部分完这是一个运维老习惯不要一次性把所有磁盘空间都分完。尤其是根分区、数据分区建议留一部分 VG 空间。例如VG 总容量1TB lv-root100GB lv-var100GB lv-swap8GB lv-home300GB 剩余保留后续按需扩展后期如果发现某个目录不够用可以直接扩展。6. 确认写入磁盘分区配置完成后安装程序会提示Confirm destructive action这一步会格式化磁盘并写入数据。确认无误后选择Continue七、创建用户和主机名1. 设置主机名安装时会要求填写Your nameYour server’s namePick a usernamePassword例如Your name: ops Server name: web-prod-01 Username: ops Password: ******主机名建议规范统一例如业务-角色-编号示例web-prod-01 db-prod-01 redis-prod-01 k8s-master-012. 用户建议生产环境不要直接使用 root 远程登录。建议普通用户 sudoUbuntu 安装过程中创建的普通用户默认具有 sudo 权限。八、Ubuntu Pro 和 SSH 配置1. Ubuntu Pro安装过程中可能看到Enable Ubuntu Pro一般可以先跳过Skip for now后续有需要再启用。2. 安装 OpenSSH Server这一项一定要勾选Install OpenSSH server服务器装完如果没 SSH后面维护会非常麻烦。如果安装时忘记装后续可以在控制台执行sudoaptupdatesudoaptinstallopenssh-server-y3. Featured Server Snaps这里会列出一些常用服务例如DockerNextcloudPostgreSQLMySQLRedis建议安装时先不勾选。原因Snap 版本更新方式和传统 apt 不同排障时可能增加复杂度生产环境更建议使用 apt、二进制、容器或官方源部署我们可以在系统安装完成后再按需部署。九、等待安装完成并重启安装过程会自动下载基础包安装系统配置引导安装 OpenSSH完成初始化安装完成后选择Reboot Now重启前记得拔掉 U 盘 或卸载虚拟 ISO否则可能再次进入安装界面。十、安装完成后的系统初始化系统重启后使用安装时创建的用户登录。接下来做初始化。1. 查看系统版本lsb_release-a或者cat/etc/os-release2. 更新系统sudoaptupdatesudoaptupgrade-y如果更新了内核建议重启sudoreboot3. 修改主机名如果安装时主机名没设置好可以修改sudohostnamectl set-hostname web-prod-01查看hostname重新登录后生效更明显。4. 设置时区查看当前时区timedatectl设置为中国上海时区sudotimedatectl set-timezone Asia/Shanghai再次查看timedatectl5. 查看磁盘和分区查看块设备lsblk查看磁盘使用情况df-h查看 LVMsudopvssudovgssudolvs十一、配置静态 IP安装时配置过网络的话这里可以检查一下。Ubuntu Server 使用 Netplan 管理网络。查看 netplan 配置文件ls/etc/netplan/常见文件00-installer-config.yaml 01-netcfg.yaml 50-cloud-init.yaml编辑配置文件sudovim/etc/netplan/00-installer-config.yaml示例配置network:version:2renderer:networkdethernets:enp1s0:dhcp4:falseaddresses:-192.168.10.10/24routes:-to:defaultvia:192.168.10.1nameservers:addresses:-223.5.5.5-114.114.114.114注意enp1s0要换成你自己的网卡名缩进必须正确YAML 文件不能使用 Tab必须用空格查看网卡名ipa应用配置sudonetplan apply测试网络ping-c4baidu.com十二、SSH 远程登录配置服务器装完系统最终目标之一就是能够远程 SSH 管理。1. 检查 SSH 服务状态sudosystemctl statusssh如果没安装sudoaptupdatesudoaptinstallopenssh-server-y启动并设置开机自启sudosystemctlenable--nowssh2. 本地测试 SSH在本机或另一台电脑上执行sshops192.168.10.10输入密码即可登录。十三、使用 SSH 密钥登录生产环境建议使用密钥登录而不是密码登录。1. 本地生成密钥在你自己的电脑上执行ssh-keygen-ted25519一路回车即可。生成文件~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub2. 上传公钥到服务器ssh-copy-id ops192.168.10.10然后输入密码。完成后再次登录sshops192.168.10.10如果不再要求输入密码说明密钥配置成功。十四、SSH 安全加固1. 编辑 SSH 配置sudovim/etc/ssh/sshd_config建议配置PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes如果担心默认 22 端口被扫描可以改端口Port 22222注意修改 SSH 端口前一定要确保防火墙放行新端口云安全组放行新端口密钥登录测试成功否则可能把自己锁在外面。2. 重启 SSHsudosystemctl restartssh重新开一个终端测试登录确认没问题后再关闭旧会话。十五、配置防火墙 UFWUbuntu 自带 UFW。1. 安装 UFW如果未安装sudoaptinstallufw-y2. 放行 SSH如果 SSH 是 22 端口sudoufw allow22/tcp如果修改成 22222sudoufw allow22222/tcp3. 启用防火墙sudoufwenable查看状态sudoufw status verbose十六、安装常用运维工具刚装完系统建议安装一批基础工具sudoaptupdatesudoaptinstall-yvimcurlwgetgithtopnet-toolslsofunziptcpdump常用工具说明工具用途vim文本编辑curlHTTP 请求测试wget下载文件htop进程和资源监控net-toolsifconfig、netstat 等命令lsof查看文件和端口占用tcpdump抓包unzip解压 zip 文件十七、挂载额外数据盘如果服务器有单独数据盘需要手动格式化并挂载。1. 查看磁盘lsblk假设数据盘是/dev/sdb2. 分区sudofdisk/dev/sdb简单流程n 新建分区 p 主分区 1 分区号 回车 默认起始 回车 默认结束 w 保存生成/dev/sdb13. 格式化sudomkfs.ext4 /dev/sdb14. 创建挂载点sudomkdir-p/data5. 获取 UUIDsudoblkid /dev/sdb1输出类似/dev/sdb1: UUID12345678-1234-1234-1234-123456789abc TYPEext46. 写入 fstab编辑sudovim/etc/fstab添加UUID12345678-1234-1234-1234-123456789abc /data ext4 defaults,nofail 0 27. 挂载测试sudomount-a查看df-h如果/data正常显示说明挂载成功。十八、更换国内软件源可选如果服务器在国内访问官方源速度较慢可以换源。Ubuntu 22.04 示例备份sudocp/etc/apt/sources.list /etc/apt/sources.list.bak编辑sudovim/etc/apt/sources.list替换为阿里云源deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse更新sudoaptupdateUbuntu 24.04 注意Ubuntu 24.04 开始更多使用/etc/apt/sources.list.d/ubuntu.sources格式为 DEB822。如果不确定不建议直接乱改可以先使用默认源或者参考云厂商提供的镜像文档。十九、常见问题排查1. 安装界面看不到磁盘可能原因RAID 没有配置RAID 卡驱动不支持磁盘未初始化硬盘背板或线缆故障BIOS 中磁盘被禁用RAID 模式不兼容排查方法1. 进 RAID 卡配置界面确认逻辑盘已创建 2. 确认磁盘状态为 Online / Ready 3. 查看服务器硬件日志 4. 更换磁盘或槽位测试 5. 确认 Ubuntu 版本是否支持该 RAID 卡2. U 盘无法启动可能原因U 盘制作失败启动方式不匹配Secure Boot 限制USB 接口故障U 盘本身损坏解决方法1. 重新制作启动盘 2. 尝试 UEFI 或 Legacy 切换 3. 换 USB 接口 4. 换 U 盘 5. 使用远程管理口挂载 ISO3. 安装完成后无法 SSH 连接检查顺序ipa确认 IP 是否正确。sudosystemctl statusssh确认 SSH 是否运行。sudoufw status确认防火墙是否放行 22 端口。本地测试sshuser127.0.0.1远程测试telnet 服务器IP22或nc-zv服务器IP22如果本机可以远程不行检查网关路由防火墙安全组VLANIP 冲突4. Netplan 配置不生效常见原因YAML 缩进错误使用了 Tab网卡名写错没有执行 netplan apply检查配置sudonetplan try如果配置有问题它会自动回滚。应用配置sudonetplan apply5. 重启后又进入安装界面原因通常是启动顺序问题。解决方法1. 拔掉 U 盘 2. 卸载虚拟 ISO 3. 进入 BIOS 调整启动顺序 4. 确保硬盘为第一启动项6. apt update 报错常见原因源地址错误DNS 不通服务器无法访问外网代理配置错误系统版本代号写错先测试 DNSping-c4mirrors.aliyun.com再测试源地址curl-Ihttp://mirrors.aliyun.com/ubuntu/二十、一套标准的 Ubuntu Server 初始化脚本思路如果后续需要批量部署可以把初始化动作脚本化。常见初始化脚本内容包括#!/bin/bashset-e# 更新系统aptupdateaptupgrade-y# 设置时区timedatectl set-timezone Asia/Shanghai# 安装常用软件aptinstall-yvimcurlwgetgithtopnet-toolslsofunzip# 启动 SSHsystemctlenable--nowssh# 防火墙放行 SSHufw allow22/tcp ufwenableechoUbuntu Server init done.生产环境建议结合 Ansible、SaltStack、cloud-init、Autoinstall 等工具实现标准化装机。
返回列表