ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

openEuler 22.03 LTS 安装与配置全指南:从虚拟机部署到网络调优

openEuler 22.03 LTS 安装与配置全指南:从虚拟机部署到网络调优 1. 为什么选择欧拉系统以及安装前必须想清楚的几件事第一次接触 openEuler 的人十有八九是被国产服务器操作系统这个标签吸引过来的。但真正上手之后你会发现它并不是一个换个皮的 CentOS而是一套有自己软件源体系、有自己的生命周期管理策略、并且对 ARM 和 x86 双架构支持都相当认真的发行版。我最初是在一台闲置的物理服务器上装的 openEuler 22.03 LTS后来又在 VMware 里反复装了好几遍踩过的坑足够写一篇完整的记录。先说清楚这篇内容适合谁看。如果你手里有一台服务器、一台虚拟机或者一块想拿来折腾的旧硬盘想装一个稳定、长期维护、软件生态还算完整的 Linux 发行版那 openEuler 是个值得认真考虑的选择。它基于 Linux 内核使用 RPM 包管理体系和 RHEL/CentOS 系的操作习惯高度接近所以如果你之前用过 CentOS迁移成本其实很低。但如果你是完全没碰过 Linux 的新手我建议先在一台虚拟机上练手不要直接往生产环境上怼。安装之前有几件事必须先想明白这决定了你后面会不会返工。第一你要装哪个版本。openEuler 目前主流的是 LTS 版本比如 20.03 LTS、22.03 LTS、24.03 LTS。LTS 意味着长期支持社区会持续提供安全更新和维护。数字越大越新但新版本对某些老硬件的兼容性可能反而不如老版本。我个人的建议是生产环境优先选 22.03 LTS 或 24.03 LTS实验环境随便。第二你的硬件架构是什么。openEuler 同时支持 x86_64 和 aarch64ARM64。如果你用的是普通的 Intel/AMD 机器或者 VMware那就是 x86_64如果你用的是鲲鹏、飞腾这类国产 ARM 服务器那就是 aarch64。下载镜像的时候一定要选对选错了根本装不上。第三你打算用哪种安装方式。物理机直接装、虚拟机装、还是用 PXE 批量部署这三种场景的准备工作完全不同。这篇内容主要覆盖前两种因为这是绝大多数人真正会遇到的场景。第四网络怎么规划。这是最容易被忽略、但装完之后最容易出问题的地方。openEuler 默认安装完可能没有自动配好网络尤其是最小化安装的情况下。你得提前想好是 DHCP 自动获取还是手动配静态 IP服务器放在机房还是本地有没有显示器和键盘这些问题后面我会专门用一章来讲。提示如果你打算在 VMware 里装提前把虚拟机的内存给到至少 2GB、硬盘给到至少 20GB。openEuler 最小化安装虽然占用不大但后续你要装 Docker、数据库这些东西空间留少了会很痛苦。2. 镜像获取与 VMware 虚拟机的前期配置2.1 从官方渠道拿到正确的镜像文件openEuler 的镜像获取渠道其实很集中直接去官网的下载页面就行。官网会列出当前所有可用版本每个版本下面会区分 x86_64 和 aarch64 两种架构还会区分服务器版边缘版等不同用途的镜像。对于绝大多数人来说选标准的服务器 ISO 镜像就够了。下载的时候注意几个细节。ISO 文件通常有几个 GB下载完成后一定要校验一下哈希值官网一般会提供 SHA256 校验码。我吃过一次亏镜像下载过程中网络抖动导致文件损坏装到一半报错排查了半天才发现是镜像本身的问题。校验命令很简单sha256sum openEuler-22.03-LTS-x86_64-dvd.iso把输出的哈希值和官网公布的值对比一下一致就说明文件没问题。另外openEuler 的 ISO 分两种一种是 DVD 完整版包含大量软件包适合离线安装另一种是 netinst 网络安装版体积小但安装过程中需要联网下载软件包。如果你网络环境不稳定强烈建议下 DVD 完整版省得装到一半卡住。2.2 VMware 虚拟机参数怎么给才合理在 VMware Workstation 里新建虚拟机的时候有几个参数值得认真对待不要一路下一步点到底。内存方面最小化安装 2GB 够用但如果你打算装图形界面比如 UKUI 桌面建议给到 4GB。我试过 2GB 内存装 UKUI桌面能起来但操作明显卡顿体验很差。CPU 方面给 2 核就够了openEuler 本身对 CPU 要求不高。但如果你要在上面跑编译任务或者数据库核心数给多一点会舒服很多。硬盘方面这是重点。建议至少 40GB并且选择将虚拟磁盘拆分成多个文件这个选项。这样做的好处是虚拟机文件不会一开始就占用全部空间而是用多少占多少。磁盘类型选 SCSI 或者 SATA 都行openEuler 对这两种控制器都有驱动。网络模式这是新手最容易搞错的地方。VMware 提供桥接、NAT、仅主机三种主要模式网络模式特点适用场景桥接模式虚拟机直接接入物理网络获得独立 IP需要被局域网其他机器访问NAT 模式虚拟机通过宿主机上网外部无法直接访问只是自己练习不需要外部访问仅主机模式只能和宿主机通信完全隔离的实验环境我一般推荐先用 NAT 模式装完系统确认能上网之后再根据实际需求决定要不要改成桥接。因为桥接模式下如果 IP 配置不当可能会和局域网里的其他设备冲突。2.3 挂载镜像并进入安装引导虚拟机建好之后在设置里把下载好的 ISO 文件挂载到虚拟光驱上然后启动虚拟机。你会看到 openEuler 的安装引导界面。引导界面通常有几个选项直接安装、测试介质并安装、故障排查等。如果你已经校验过哈希值直接选第一项安装就行。如果没校验过建议选测试介质并安装它会先检查 ISO 完整性再进入安装流程多花几分钟但能避免后面出问题。引导加载过程中屏幕会滚动一堆内核启动信息这是正常的。等它停下来进入图形化安装界面就可以开始正式配置了。3. 安装过程中的关键配置项逐个拆解3.1 语言、时区与安装源的设置逻辑进入安装界面后第一件事是选语言。这里有个小细节如果你选中文安装界面的字体渲染在某些分辨率下可能会有点糊选英文则显示更清晰。但选中文的好处是后续报错信息你能直接看懂。我个人的习惯是安装时选英文装完之后在系统里再配置中文环境这样两边的优势都能占到。时区设置很多人直接跳过但这其实挺重要。时区不对会导致系统日志时间戳错乱后面排查问题的时候时间线对不上非常难受。国内的话选 Asia/Shanghai 就对了。如果你勾选了设置时间自动同步系统会通过 NTP 协议自动校准时间前提是网络通。安装源Installation Source这一项如果你用的是 DVD 完整版镜像默认会指向本地光驱不用改。如果你用的是 netinst 版本这里需要配置网络源地址。openEuler 的官方源地址在官网有公布配置的时候注意选对应版本的仓库。软件选择Software Selection是决定你装完之后系统里有什么的关键步骤。openEuler 通常提供几个选项最小安装只有最基本的命令行工具没有图形界面占用最小适合服务器标准安装包含一些常用工具但依然没有图形界面带 UKUI 的服务器包含 UKUI 桌面环境适合需要图形界面的场景虚拟化主机包含虚拟化相关组件我强烈建议服务器场景选最小安装。原因很简单装的东西越少攻击面越小后续维护越简单。你需要什么再单独装比一开始装一大堆用不上的东西要清爽得多。如果你确实需要图形界面后面可以单独装 UKUI我在第 5 章会讲怎么操作。3.2 分区方案自动还是手动分区是安装过程中最需要动脑子的地方。openEuler 默认提供自动分区它会根据你的硬盘大小自动划分 /boot、/、swap 等分区。对于新手来说自动分区完全够用不用纠结。但如果你对分区有要求比如想把 /home 单独分出来、或者想用 LVM 方便后续扩容那就得手动分区。手动分区的时候几个关键挂载点的建议大小如下挂载点建议大小说明/boot1GB存放内核和引导文件不要太小swap内存的 1-2 倍交换分区内存足够大时可以小一点/20GB 以上根分区装系统和软件/home剩余空间用户数据单独分区方便重装系统时保留手动分区时有个坑要注意openEuler 默认使用 xfs 文件系统这是没问题的但如果你之前习惯了 ext4要知道 xfs 在缩小分区方面不如 ext4 灵活。所以如果你打算后续可能缩小分区选 ext4 会更方便。另外如果你用的是 UEFI 启动模式还需要一个 EFI 系统分区通常 200MB-500MB格式为 EFI System Partition。这个分区在自动分区时系统会自动创建手动分区时别忘了。3.3 root 密码与用户创建的安全考量安装过程中会要求你设置 root 密码。openEuler 默认对密码复杂度有要求太简单的密码比如 123456会被拒绝。这不是系统在刁难你而是安全策略。建议用大小写字母加数字加符号的组合长度至少 8 位。除了 root 密码安装界面通常还会让你创建一个普通用户。这个步骤很多人会跳过但我建议不要跳。原因有两个一是日常操作使用普通用户更安全需要 root 权限时用 sudo 提权二是某些软件比如某些数据库不允许以 root 身份运行必须用普通用户。创建用户的时候记得勾选将此用户设为管理员这样这个用户就能使用 sudo 命令了。如果不勾选后续还得手动把用户加到 wheel 组里多一步操作。所有配置确认无误后点击开始安装剩下的就是等待。安装时间取决于你的硬盘速度和选择的软件包数量一般十几分钟到半小时不等。安装完成后会提示重启重启前记得把虚拟光驱里的 ISO 卸载掉否则可能又从光驱引导进入安装界面。4. 装完之后的网络配置DHCP、静态 IP 与多网卡管理4.1 为什么装完系统第一件事是检查网络openEuler 最小化安装完成后网络接口默认可能是关闭状态或者虽然开启了但没有获取到 IP。这时候你 ping 任何外网地址都会失败yum 装软件也会报错。所以装完系统第一件事就是确认网络状态。查看网络接口状态的命令ip addr这个命令会列出所有网络接口及其 IP 地址。如果你看到某个接口比如 ens33 或 eth0只有 MAC 地址没有 inet 地址说明它没有获取到 IP。再看一下接口是否处于 UP 状态ip link show如果接口显示 state DOWN说明接口没启用。可以用下面的命令启用sudo ip link set ens33 up但这样只是临时启用重启后会失效。要永久生效需要修改网络配置文件。4.2 用 nmcli 配置静态 IP 的完整流程openEuler 默认使用 NetworkManager 管理网络所以推荐用 nmcli 这个命令行工具来配置。相比直接改配置文件nmcli 的好处是改完立即生效不用重启网络服务。先查看当前的连接nmcli connection show你会看到一个连接名称通常是 ens33 或者类似的接口名。假设连接名是 ens33要配置静态 IP命令如下sudo nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24 sudo nmcli connection modify ens33 ipv4.gateway 192.168.1.1 sudo nmcli connection modify ens33 ipv4.dns 8.8.8.8 114.114.114.114 sudo nmcli connection modify ens33 ipv4.method manual sudo nmcli connection up ens33这几条命令分别设置了 IP 地址、网关、DNS 和手动配置模式最后重新激活连接。执行完之后再用 ip addr 查看应该就能看到配置好的静态 IP 了。如果你想要 DHCP 自动获取把 ipv4.method 改成 auto 就行sudo nmcli connection modify ens33 ipv4.method auto sudo nmcli connection up ens33注意配置静态 IP 的时候一定要确保这个 IP 没有被局域网里其他设备占用否则会出现 IP 冲突表现为网络时通时断非常难排查。建议在路由器或交换机的 DHCP 地址池之外选一个地址。4.3 多网卡场景下的路由与 DNS 管理服务器上有多块网卡是很常见的情况比如一块连内网、一块连外网。这种场景下路由配置就变得关键了。假设你有两块网卡ens33 连外网网关 192.168.1.1ens34 连内网网关 10.0.0.1。如果你两块网卡都配了默认网关系统可能会随机选一个走导致网络行为不可预测。正确的做法是只给一块网卡配默认网关另一块只配 IP 和子网掩码然后通过静态路由指定内网流量走 ens34。用 nmcli 添加静态路由sudo nmcli connection modify ens34 ipv4.routes 10.0.0.0/8 10.0.0.1这条命令的意思是去往 10.0.0.0/8 网段的流量走 10.0.0.1 这个网关。这样内网流量走 ens34其他流量走 ens33 的默认网关逻辑就清晰了。DNS 方面如果两块网卡都配了 DNS系统可能会混用。建议只在主网卡上配 DNS或者通过 /etc/resolv.conf 统一管理。不过要注意NetworkManager 可能会覆盖 /etc/resolv.conf所以最好还是通过 nmcli 来配 DNS。4.4 没有显示器和 IP 时如何进后台配置这是很多服务器运维会遇到的真实场景服务器在机房里没有接显示器你也不知道它的 IP 是多少怎么进去配置几个可行的思路。第一如果服务器支持 IPMI 或 BMC 带外管理通过带外管理口登录就相当于远程看到了屏幕和键盘什么问题都好解决。第二如果服务器之前配过 DHCP可以去路由器的 DHCP 租约列表里找它的 IP。第三如果以上都不行可能需要接上显示器和键盘进系统后用 nmcli 重新配置网络。还有一种情况是系统装了但网络服务没起来。这时候可以进单用户模式或者救援模式手动启动 NetworkManagersudo systemctl start NetworkManager sudo systemctl enable NetworkManagerenable 是为了让它在下次开机时自动启动。很多人只 start 不 enable结果重启之后网络又没了白忙一场。5. 桌面环境、开发工具链与常用软件的落地安装5.1 给服务器装上 UKUI 图形界面openEuler 最小化安装是没有图形界面的但如果你确实需要可以后续安装 UKUI。UKUI 是 openEuler 社区主推的桌面环境基于 Qt 开发界面风格比较接近 Windows上手门槛低。安装 UKUI 的命令sudo dnf install ukui装完之后设置默认启动图形界面sudo systemctl set-default graphical.target然后重启系统应该就能看到图形登录界面了。如果重启后还是命令行可能是显示管理器没启动检查一下 lightdm 服务sudo systemctl enable lightdm sudo systemctl start lightdm这里有个经验在 VMware 里装 UKUI建议把虚拟机的显存调大一点比如 128MB否则桌面可能会显示异常或者卡顿。另外UKUI 对内存的占用比 GNOME 小但依然建议至少 4GB 内存。5.2 Docker 与常用运行环境的安装openEuler 的官方源里包含 Docker但版本可能不是最新的。如果你只是需要基本的容器功能直接装官方源的就行sudo dnf install docker sudo systemctl enable docker sudo systemctl start docker装完之后验证一下sudo docker run hello-world如果能看到欢迎信息说明 Docker 装好了。但如果你需要特定版本的 Docker或者需要 Docker Compose建议参考 Docker 官方文档配置额外的软件源。Python 环境方面openEuler 通常自带 Python 3但版本可能偏旧。如果你需要管理多个 Python 版本Miniconda 是个不错的选择。下载 Miniconda 安装脚本后执行bash Miniconda3-latest-Linux-x86_64.sh按照提示一步步走就行。装完之后记得把 conda 加入 PATH或者重新打开终端。Git 的安装更简单sudo dnf install git装完之后配置一下用户名和邮箱git config --global user.name 你的名字 git config --global user.email 你的邮箱5.3 数据库与中间件的部署注意事项在 openEuler 上装 MySQL 或者 Oracle 这类数据库有几个坑要提前知道。MySQL 方面openEuler 的源里可能有 MariaDB 而不是 MySQL两者虽然兼容但细节有差异。如果你明确需要 MySQL建议去 MySQL 官网下载对应的 RPM 包或者配置官方源。安装完成后MySQL 的初始密码通常在日志文件里用这个命令找sudo grep temporary password /var/log/mysqld.logOracle 19c 在 openEuler 上的安装相对复杂因为 Oracle 官方并不直接支持 openEuler需要做一些兼容性处理。核心难点在于依赖包的版本匹配和内核参数的调整。建议在装之前先确认 openEuler 的版本和 Oracle 19c 的兼容性要求不匹配的话可能需要降级或升级某些系统组件。Docker 装好之后很多中间件都可以用容器方式跑这样比直接在系统上装要干净得多。比如 Redis、Nginx 这些用 Docker 跑既方便又不会污染系统环境。5.4 文件权限与压缩包处理的日常操作openEuler 的文件权限管理和标准 Linux 一致用 chmod、chown、chgrp 这三个命令基本能覆盖所有场景。但有一个细节值得注意openEuler 默认启用了 SELinux这会导致某些操作即使权限对了也会被拒绝。如果你遇到明明权限没问题但就是访问不了的情况先检查 SELinux 状态getenforce如果返回 Enforcing说明 SELinux 在起作用。临时关闭可以用sudo setenforce 0但永久关闭需要改配置文件 /etc/selinux/config把 SELINUXenforcing 改成 SELINUXdisabled然后重启。不过我不建议直接关闭 SELinux更好的做法是学习如何配置 SELinux 策略或者至少用 permissive 模式而不是 disabled。tar 包的解压是日常操作openEuler 自带的 tar 命令支持 gzip、bzip2、xz 等多种压缩格式。解压 .tar.gz 文件tar -xzvf package.tar.gz解压 .tar.xz 文件tar -xJvf package.tar.xz参数里的 x 表示解压z 表示 gzipJ 表示 xzv 表示显示过程f 表示指定文件名。这几个参数组合很常用记住就行。6. 安装后必做的系统调优与踩坑复盘6.1 软件源替换与更新策略openEuler 默认的软件源是官方源国内访问速度可能一般。如果你觉得 dnf 装软件太慢可以考虑替换成国内镜像源。openEuler 的源配置文件在 /etc/yum.repos.d/ 目录下通常有一个 openEuler.repo 文件。替换源之前先备份原文件sudo cp /etc/yum.repos.d/openEuler.repo /etc/yum.repos.d/openEuler.repo.bak然后把文件里的 baseurl 改成国内镜像地址。改完之后清理缓存并重建sudo dnf clean all sudo dnf makecache更新系统的时候建议不要盲目执行 dnf update。因为大版本更新可能会引入不兼容的变更尤其是生产环境。更稳妥的做法是只更新安全补丁sudo dnf update --security这样只装安全相关的更新风险可控。6.2 SSH 服务加固与远程访问配置装完系统之后如果要从其他机器 SSH 登录需要确保 sshd 服务在运行sudo systemctl status sshd如果没运行启动并设为开机自启sudo systemctl enable sshd sudo systemctl start sshd安全加固方面建议修改 SSH 默认端口比如从 22 改成其他端口禁用 root 直接登录改用普通用户登录后再 sudo。这些配置在 /etc/ssh/sshd_config 文件里改Port 2222 PermitRootLogin no PasswordAuthentication yes改完之后重启 sshd 服务生效。注意改端口之前先确认防火墙放行了新端口否则改完就连不上了只能去机房接显示器。防火墙方面openEuler 默认使用 firewalld。查看当前规则sudo firewall-cmd --list-all放行某个端口sudo firewall-cmd --permanent --add-port2222/tcp sudo firewall-cmd --reloadpermanent 表示永久生效reload 让规则立即生效。6.3 我踩过的几个典型坑与排查思路坑一装完系统 ping 不通外网。排查思路是自下而上先看网卡是否 UP再看是否有 IP再看网关是否可达最后看 DNS 是否配置正确。我遇到过一次是 DNS 没配能 ping 通 IP 但域名解析不了加上 DNS 就好了。坑二VMware 里装完 UKUI 后桌面黑屏。这个问题通常是显存不够或者 3D 加速没开。解决办法是在 VMware 设置里把显存调到 128MB并勾选加速 3D 图形。如果还不行试试在虚拟机设置里关闭 3D 加速用软件渲染。坑三dnf 装软件报错无法解析主机。这基本就是网络或者 DNS 问题。先确认能 ping 通外网 IP如果 IP 能通但域名不通就是 DNS 的问题。检查 /etc/resolv.conf 里有没有配 DNS 服务器。坑四SELinux 导致服务启动失败。表现是服务启动时报权限错误但文件权限明明是对的。这时候看 /var/log/audit/audit.log 里的 SELinux 拒绝记录或者临时 setenforce 0 测试一下。如果确认是 SELinux 问题可以用 semanage 或者 restorecon 来修复上下文而不是直接关闭 SELinux。坑五改了 SSH 端口之后连不上。九成是防火墙没放行新端口。解决办法是接显示器进系统放行端口后再试。所以改 SSH 端口之前一定要先放行防火墙再改配置最后重启服务顺序不能乱。6.4 系统监控与日常维护的实用命令装完系统只是开始日常维护才是重头戏。几个我常用的命令查看系统负载和运行时间uptime查看内存使用free -h查看磁盘使用df -h查看某个目录的大小du -sh /var/log查看系统日志journalctl -xe这个命令在排查服务启动失败时特别有用它会显示最近的错误日志。查看某个服务的状态systemctl status 服务名这些命令看起来简单但组合起来能解决大部分日常问题。我的习惯是每天上班第一件事先 uptime 和 df -h 看一眼确认系统负载和磁盘空间正常心里有底。最后分享一个我个人觉得很有用的小技巧装完系统后把关键的配置信息IP 地址、SSH 端口、root 密码提示、装的软件列表记在一个文本文件里放在安全的地方。时间一长这些信息很容易忘有个记录能省很多事。
返回列表