深信服超融合平台部署Ubuntu 22.04 LTS:从规划到优化的完整实践指南
1. 项目概述与核心价值最近在帮一个客户做私有云环境的基础设施升级他们之前用的是传统的服务器加虚拟化方案运维复杂资源利用率也上不去。这次选型客户看中了深信服超融合HCI的方案想在上面跑一些新的业务应用而Ubuntu 22.04 LTS作为当前最稳定的Linux发行版之一自然是很多开发环境和容器化应用的首选基础系统。所以这个“在深信服超融合上部署Ubuntu 22.04 LTS”的任务就成了整个项目里非常关键的一步。这不仅仅是点几下鼠标装个系统那么简单它涉及到如何在超融合这种融合了计算、存储、网络的软硬件一体平台上高效、稳定地跑起一个主流的Linux虚拟机并且要考虑到后续的运维、性能调优和高可用性。简单来说超融合可以理解为一个“超级融合的硬件盒子”它把服务器、存储和网络虚拟化都打包在了一起通过软件定义的方式统一管理。在深信服HCI上部署Ubuntu你面对的不再是物理服务器或者单纯的VMware ESXi而是一个高度集成、管理界面可能不太一样的平台。这个过程既要理解超融合本身的资源调度逻辑也要熟悉Ubuntu系统安装的细节还得把两者顺畅地对接起来。对于系统管理员、运维工程师或者架构师来说掌握这套流程意味着你能在更现代化的基础设施上快速构建应用底座无论是部署K8s集群、跑数据库还是搭建CI/CD环境都能有一个坚实且弹性可控的起点。2. 部署前的核心准备工作在真正点击“创建虚拟机”按钮之前充分的准备工作能避免后续80%的麻烦。这一步的核心是“对齐”让平台资源、系统镜像和你的规划目标对齐。2.1 平台环境与资源确认首先你需要登录深信服超融合平台的管理界面。通常这是一个基于Web的控制器地址可能是https://管理节点IP。确保你拥有足够的权限至少是能够创建虚拟机、管理存储和网络的角色。1. 计算资源规划你需要明确Ubuntu虚拟机的规格。对于Ubuntu 22.04 LTS如果只是作为基础系统跑轻量服务2核4GB内存起步是足够的。但如果计划在上面部署数据库如PostgreSQL或内存密集型应用就需要预留更多。在超融合平台上CPU和内存通常是超分使用的但为了稳定性尤其是生产环境不建议过度超分。我的经验是对于关键业务虚拟机按1:1或轻度超分如1.5:1来预留资源。在规划时还要留意平台集群的整体负载避免将新虚拟机创建在已经负载很高的主机上。2. 存储资源准备这是超融合的核心优势之一也是容易出问题的地方。你需要确定存储类型平台提供的是全闪存存储池还是混合存储全闪存能提供极高的IOPS适合对磁盘IO敏感的应用。存储策略平台是否支持设置存储策略比如副本数量通常2副本或3副本保障高可用、磁盘类型厚置备或精简置备。对于Ubuntu系统盘我通常选择“精简置备”可以节省初始存储空间系统盘大小建议40GB以上给/var存放日志和Docker镜像和/home留足余地。数据盘分离强烈建议将系统盘和数据盘分开。系统盘用平台提供的虚拟存储数据盘可以根据性能需求考虑是否挂载额外的虚拟磁盘或者未来对接外置高性能存储。在创建虚拟机时可以先只挂载系统盘数据盘后期通过添加硬盘的方式挂载这样更灵活。3. 网络配置梳理虚拟交换机/端口组确认虚拟机需要接入哪个业务网络。是内部管理网、业务前端网络还是后端存储网络在平台上找到对应的端口组Port Group或虚拟交换机vSwitch。IP地址规划是使用DHCP自动获取还是使用静态IP如果是静态IP提前准备好IP地址、子网掩码、网关和DNS服务器地址。对于服务器静态IP是更稳妥的选择。安全组/防火墙策略深信服平台通常集成了分布式防火墙功能。思考一下这台Ubuntu虚拟机需要开放哪些端口例如SSH的22Web服务的80/443等提前规划好安全策略遵循最小权限原则不要一开始就放行所有流量。2.2 Ubuntu镜像与安装介质准备官方镜像是首选。前往Ubuntu官网下载Ubuntu 22.04.4 LTS或最新LTS版本的服务器版ISO镜像。服务器版Server没有图形界面更轻量更适合服务器环境。关键选择为什么是服务器版桌面版Desktop包含了图形界面GNOME会占用更多内存和CPU资源且大多数服务器操作通过SSH完成图形界面非必需反而增加了潜在的攻击面和维护负担。服务器版在安装过程中就可以选择安装OpenSSH server装完即可远程连接效率极高。下载完成后你需要将这个ISO文件上传到深信服超融合平台的“镜像仓库”或“ISO库”中。这个库是平台集中存储安装镜像的地方所有主机节点都可以访问。注意上传前最好校验一下ISO文件的MD5或SHA256值确保文件在下载和传输过程中没有损坏。一个损坏的镜像会导致安装过程莫名失败排查起来很头疼。2.3 创建虚拟机的关键参数解析一切就绪开始在平台上创建虚拟机。这个过程虽然图形化但每个选项都有讲究。基本设置名称和主机名取一个清晰的名称如ubuntu-2204-prod-01。主机名Hostname最好与此一致方便标识。客户机操作系统虽然平台可能能自动检测但手动选择“Linux” - “Ubuntu Linux (64-bit)”能确保平台为Ubuntu分配合适的虚拟硬件驱动如VirtIO。计算资源配置CPU按需分配。勾选“CPU热添加”选项这允许你在虚拟机开机状态下增加CPU核心需要操作系统内核支持Ubuntu 22.04默认支持。这是一个非常有用的运维特性。内存按需分配。同样勾选“内存热添加”选项。对于Linux还需要在系统内部进行配置才能生效但先在平台层开启是第一步。CPU/Memory限制与预留“预留”保证虚拟机一定能获得这部分资源“限制”则防止其过度占用。对于重要虚拟机可以设置“内存预留”等于分配值确保内存不被回收。存储配置系统盘选择之前上传的Ubuntu 22.04 ISO作为光驱。系统盘如40GB选择精简置备存储策略选择满足你冗余要求的如2副本。总线类型务必选择VirtIOVirtIO是半虚拟化驱动能提供接近原生硬件的I/O性能远优于模拟的IDE或SATA控制器。这是提升虚拟机磁盘和网络性能最关键的一步。网络配置网络适配器选择对应的业务端口组。适配器类型同样务必选择VirtIO。理由同上性能至关重要。MAC地址可以选择自动生成也可以手动指定一个固定的MAC地址便于网络层进行IP绑定或准入控制。其他选项虚拟机启动策略可以设置虚拟机跟随主机集群一起启动并设置启动优先级。高可用性HA如果平台集群启用了HA强烈建议为此Ubuntu虚拟机开启HA。这样当运行它的物理主机发生故障时平台会自动将其在集群内其他主机上重启。创建完成后先不要急着开机。检查一遍所有配置尤其是VirtIO驱动和存储网络的选择。3. Ubuntu 22.04 LTS 系统安装详解现在可以启动虚拟机并从ISO镜像引导了。你会看到熟悉的Ubuntu安装界面。以下步骤我会强调在虚拟化环境中需要特别关注的点。3.1 安装过程核心步骤与参数语言与键盘布局选择中文或英文根据团队习惯来。网络连接安装程序会自动尝试DHCP获取IP。如果网络环境正常这里应该能看到获取到的IP地址。如果没看到网络连接大概率是因为虚拟机网络适配器类型不是VirtIO而Ubuntu安装镜像默认可能没有对应的驱动。这印证了之前选择VirtIO的重要性。如果遇到此问题需要关机将适配器类型改为E1000等模拟网卡先完成安装再安装VirtIO驱动后改回来过程繁琐。配置代理如果有内部软件更新代理在此处填写。否则留空。镜像地址默认使用Ubuntu官方镜像即可。如果有内网镜像源如阿里云、腾讯云内网镜像在这里替换可以极大加速安装和后续的软件更新速度。例如替换为https://mirrors.aliyun.com/ubuntu。存储配置最关键的一步安装程序会检测到我们在平台上分配的虚拟磁盘。对于新手可以选择“使用整个磁盘”并配置LVM。LVM提供了更灵活的磁盘空间管理能力后期可以动态调整分区大小。对于有明确分区规划的老手可以选择“自定义存储布局”。我个人的常用分区方案如下efi 512MB - 1GB如果采用UEFI引导。swap 交换分区大小通常是物理内存的1-2倍但在大内存如32GB以上服务器上4GB-8GB足矣甚至可以用交换文件代替。/ 根分区20-30GB存放系统和核心应用。/var 单独分区10-20GB。系统日志、Docker镜像、容器运行时数据、APT缓存都在这里单独分区可以避免日志或镜像写满导致系统崩溃。/home 根据需求分配。如果这台机器有多个用户可以分配大一些。重要提示确保“引导加载程序安装设备”选择的是你创建的这个虚拟磁盘例如/dev/vda而不是其他设备。配置文件你的姓名、服务器名、用户名、密码如实填写。服务器名建议和虚拟机名称一致。用户名避免使用root、admin等常见名。SSH设置务必勾选“Install OpenSSH server”。这样系统安装完成后你就可以直接通过SSH客户端如PuTTY、SecureCRT远程连接无需依赖控制台的虚拟界面操作起来方便太多。Featured Server Snaps这里会列出一些常见的Snap包如docker、helm等。我的建议是先不要在这里勾选任何Snap。Snap的更新机制和传统APT包管理不同有时会带来依赖冲突。我们可以在系统安装完成后用更可控的方式如APT安装Docker CE来安装需要的服务。开始安装确认信息无误后开始安装。这个过程会从配置的镜像源下载软件包并安装到磁盘速度取决于你的网络和镜像源。3.2 首次启动与基础加固安装完成系统重启。首次通过SSH登录后有几件必须马上做的事情更新系统sudo apt update sudo apt upgrade -y这能确保所有安全补丁和更新被应用。检查并安装VirtIO驱动验证虽然Ubuntu 22.04内核已内置VirtIO驱动但最好确认一下。检查磁盘和网络设备# 检查磁盘是否为VirtIO块设备 lsblk -d -o NAME,TRAN # 如果TRAN列显示virtio则正常。 # 检查网卡是否为VirtIO网络设备 lspci | grep -i ethernet # 应该能看到Virtio network device。如果一切正常则无需额外操作。如果安装时因驱动问题使用了模拟设备现在需要安装virtio-drivers包并修改内核引导参数过程较复杂这也是为什么前期准备时强调选对设备类型。修改SSH配置安全加固sudo vim /etc/ssh/sshd_config建议修改以下几项Port 22-Port 你的自定义端口 改为非22端口减少自动化扫描攻击。PermitRootLogin yes-PermitRootLogin no 禁止root直接SSH登录。PasswordAuthentication yes-PasswordAuthentication no 禁用密码登录强制使用密钥对这是最重要的安全措施之一。 修改后重启SSH服务sudo systemctl restart sshd。务必在禁用密码登录前先将你的公钥~/.ssh/authorized_keys添加到服务器上否则会被锁在外面配置防火墙Ubuntu 22.04默认使用ufwUncomplicated Firewall。sudo ufw allow 你的SSH端口/tcp comment SSH Access sudo ufw allow 80/tcp comment HTTP sudo ufw allow 443/tcp comment HTTPS # 按需放行其他端口 sudo ufw enable sudo ufw status verbose4. 性能优化与平台集成调优系统装好并能用了但这只是开始。要让Ubuntu在深信服超融合平台上跑出最佳状态还需要一些针对性的优化。4.1 虚拟机内部优化内核参数调优编辑/etc/sysctl.conf添加或修改以下参数主要针对网络性能和连接数优化。# 增加TCP连接缓冲区大小 net.core.rmem_max 134217728 net.core.wmem_max 134217728 net.ipv4.tcp_rmem 4096 87380 134217728 net.ipv4.tcp_wmem 4096 65536 134217728 # 加快TIME-WAIT sockets回收适用于高并发短连接服务 net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_fin_timeout 30 # 增加系统最大文件描述符数量 fs.file-max 655350执行sudo sysctl -p使配置生效。磁盘I/O调度器对于VirtIO块设备通常是/dev/vda这样的设备使用noneNoop或kyber调度器可能更适合虚拟化环境能减少I/O延迟的抖动。检查当前调度器cat /sys/block/vda/queue/scheduler临时修改echo kyber /sys/block/vda/queue/scheduler。永久修改需要修改GRUB参数或使用udev规则。安装并配置QEMU Guest Agent这不是必须的但强烈推荐。QEMU Guest Agent简称GA是一组运行在虚拟机内部的守护进程和服务它能实现宿主机与虚拟机之间更高级的交互。功能支持优雅关闭/重启虚拟机、从宿主机获取虚拟机内部IP地址、冻结文件系统用于创建一致性快照、上报内存/磁盘使用率等。安装sudo apt update sudo apt install -y qemu-guest-agent sudo systemctl enable --now qemu-guest-agent安装后在深信服超融合平台的管理界面上找到这台虚拟机看看是否能正常获取到其内部IP以及是否支持“发送关机信号”等功能。这能极大提升运维体验。4.2 平台侧资源配置调整虚拟机内部的优化是“内功”平台侧的配置则是“外力”。CPU与内存热添加我们在创建虚拟机时开启了热添加功能。在Ubuntu内部还需要确保内核支持并正确响应。CPU热添加Linux内核默认支持。热添加CPU后可以通过lscpu查看新增的CPU核心。但操作系统可能不会立即在所有进程间平衡负载有时需要重启关键服务或调整进程的CPU亲和性。内存热添加需要虚拟机内存以“ballooning”气球驱动方式运行并且客户机内安装了virtio-balloon驱动Ubuntu默认包含。热添加内存后通过free -h查看新增的内存会显示在“total”中但“available”可能不会立即增加这部分内存通常作为缓存或缓冲区使用。对于需要大内存的应用规划时一次性给足比热添加更稳定。存储性能策略如果虚拟机运行数据库等IO密集型应用可以在平台侧为该虚拟机的磁盘应用更高的IOPS/QoS策略。例如设置最低保证IOPS和最高限制IOPS确保其性能稳定且不会过度影响同一存储池上的其他虚拟机。资源监控与告警在深信服超融合平台上为这台Ubuntu虚拟机设置资源监控和告警阈值。例如当CPU持续使用率超过80%达5分钟或内存使用率超过90%时发送邮件或短信告警。这能帮助你提前发现潜在的性能瓶颈。5. 常见问题与故障排查实录在实际部署和运维过程中总会遇到一些“坑”。这里记录几个典型问题及其排查思路。5.1 安装阶段问题问题1从ISO启动后屏幕黑屏或卡在“Loading initial ramdisk”界面。可能原因图形化安装界面与虚拟显卡驱动不兼容或ISO镜像损坏。排查步骤检查ISO镜像的MD5/SHA256校验和。尝试使用“服务器版”镜像而非“桌面版”。在虚拟机配置中尝试修改显卡类型如从“标准VGA”改为“VMware SVGA”或“Cirrus”但深信服平台可能选项有限。最可靠的方法是在安装启动时快速按下E键针对GRUB引导菜单在Linux命令行末尾添加nomodeset参数这会禁用内核模式设置强制使用基本显示驱动。安装完成后再安装合适的显卡驱动对于服务器通常不需要。问题2安装过程中无法识别网络导致无法配置镜像源和更新。可能原因虚拟机网络适配器类型选择错误如选了IDE/SATA控制器对应的老式网卡模拟。解决方案临时方案关机将网络适配器类型改为E1000或VMXNET3如果平台支持这类被Ubuntu安装镜像广泛支持的模拟网卡。完成系统安装。根本解决系统安装后安装virtio-net驱动包通常包含在linux-modules-extra或特定包中然后关机再将网络适配器类型改回VirtIO。所以创建时直接选VirtIO是最省事的。5.2 运行阶段问题问题3虚拟机内部磁盘性能远低于预期。排查思路平台侧检查登录超融合管理平台查看该虚拟机所在主机的存储池性能监控看是否有瓶颈如延迟高、IOPS饱和。检查该虚拟机的磁盘是否放在了性能较低的存储类型上。虚拟机内部检查# 使用fio工具进行简单磁盘性能测试 sudo apt install -y fio # 测试顺序读写 fio --nameseqread --ioenginelibaio --rwread --bs128k --numjobs1 --size1G --runtime60 --time_based --group_reporting fio --nameseqwrite --ioenginelibaio --rwwrite --bs128k --numjobs1 --size1G --runtime60 --time_based --group_reporting # 查看磁盘调度器 cat /sys/block/vda/queue/scheduler # 查看磁盘是否使用VirtIO驱动 lsblk -d -o NAME,TRAN可能原因与解决驱动问题确认使用VirtIO驱动。调度器问题尝试更换I/O调度器。文件系统问题对于频繁小文件读写ext4的默认参数可能不是最优。可以考虑使用xfs文件系统或在挂载时使用noatime, nodiratime选项减少元数据更新。平台限速检查平台是否对该磁盘设置了较低的IOPS限制。问题4通过平台控制台可以登录但SSH无法连接。排查步骤从内到外虚拟机内部通过控制台登录检查SSH服务状态sudo systemctl status ssh。检查防火墙规则sudo ufw status。检查SSH配置文件/etc/ssh/sshd_config确认监听端口和允许的认证方式。平台网络在深信服平台检查该虚拟机所属的端口组或安全组规则是否放行了目标SSH端口的流量。检查虚拟机的IP地址是否与预期一致。物理网络如果SSH是从外部网络发起还需要检查物理防火墙或核心交换机的ACL规则。问题5虚拟机偶发性卡顿或无响应。可能原因资源争抢宿主机物理资源CPU、内存、存储IO过度超分当负载高峰时虚拟机无法获得足够资源。查看平台监控检查该宿主机及集群的整体资源使用率。存储延迟抖动存储池性能不稳定可能是底层磁盘故障、缓存策略问题或网络延迟。查看存储性能监控指标。内存气球Ballooning驱动问题如果启用了内存超分和气球驱动当宿主机内存压力大时会通过气球驱动回收虚拟机内存可能导致虚拟机内应用性能下降甚至OOM内存溢出。对于性能要求严格的虚拟机可以考虑关闭内存超分或设置内存预留。5.3 平台操作问题问题6虚拟机快照创建失败或耗时极长。理解快照原理在超融合平台快照通常是一种“写时复制”Copy-on-Write技术。创建快照瞬间完成但之后虚拟机产生的所有新数据都会写入新位置原磁盘数据被冻结。快照链过长或虚拟机写入量巨大会导致性能下降。最佳实践快照不是备份重要数据必须有独立的备份方案。快照宜少不宜多避免长期保留大量快照尤其是生产环境。快照应作为短期操作如升级前的回滚点操作完成后尽快删除或合并。在业务低峰期操作创建或删除快照会带来额外的I/O开销。确保有足够存储空间快照会占用额外的存储空间。问题7虚拟机迁移vMotion/热迁移失败。常见原因共享存储热迁移要求虚拟机的磁盘必须放在共享存储上超融合的分布式存储本身就是共享存储通常满足条件。CPU兼容性如果集群内主机CPU型号差异较大可能需要在平台开启“CPU兼容性模式”如Intel的EVC模式但这可能会损失一些新CPU特性。网络带宽不足迁移过程需要传输内存状态对网络带宽和延迟敏感。确保管理/迁移网络有足够的带宽建议万兆。虚拟机状态如果虚拟机正在进行大量内存写入如内存测试、大数据处理迁移会难以收敛。可以尝试在业务低峰期迁移。部署本身只是第一步真正的价值在于后续的稳定运行和高效运维。在深信服超融合平台上运行Ubuntu你获得了一个高度集成、弹性伸缩的基础单元。无论是横向扩展成集群还是纵向调整资源配置都变得非常方便。我个人的体会是前期把规划做细尤其是存储和网络的选择中期把系统优化做到位后期利用好平台的监控和运维功能这套组合就能成为支撑业务创新的可靠基石。最后一个小建议定期检查平台和系统的日志很多潜在问题在日志里早有征兆养成主动查看日志的习惯能让运维工作从“救火”变为“防火”。