银河麒麟V7/V10到V11迁移实战:备份、安装与避坑指南
2026/9/24 19:00:53 网站建设 项目流程

干国产化替代这行,最常被问的问题排第一的绝对是“系统怎么升”。银河麒麟从V7、V10跨到V11,表面上看是插个U盘重装系统的事,实际操作起来远没那么简单。V7的软件源早就断得七七八八,V10又存在RPM体系和DEB体系两套路线,V11的内核、图形栈、安全策略全都不一样了。直接格式化重装,数据丢不丢先不说,单位里的业务系统、加密狗驱动、老旧外设能不能接着用,全是问号。

我做过几次完整的V10迁移到V11的项目,也帮人处理过V7老机器数据抢救,这里把整套流程和坑位整理出来。这篇内容会按照“迁移前判断—体检盘点—备份—安装—回迁—验证”的顺序展开,末尾附上我从热搜和实际项目里整理出的高频问题处理办法,包括时间同步、SSH升级断连、GCC编译后版本不变、密钥环取消、网络感叹号这些。不管你是给单位一台台换,还是手里只有一台老机器想自己折腾,照着这套思路走基本不会翻车。

1. V7/V10与V11的真正差距,以及“原地升级”为什么容易翻车

1.1 银河麒麟三个大版本,底层根本不是一回事

银河麒麟V7是很早的版本,设计思路上还带着Ubuntu 10.04/12.04那个年代的味道,DEB包管理,软件仓库基本处于“能用就不错”的状态。那个年代的系统源码包、驱动版本、内核特性跟今天差距非常大,很多当年能跑的软件现在根本装不上。

V10是银河麒麟大面积铺开的一代,这里有个特别容易让人迷惑的地方:V10并不是只有一套体系。它的服务器版很多走RPM包管理,参考了CentOS/openEuler的技术路线;桌面版又有相当一部分走DEB包管理,底层接近Debian/Ubuntu那套。这就导致同样是V10,你在网上搜到“yum install”能用,换台机器就变成“apt install”了,命令全对不上。

V11是目前新的主线大版本,底层跟过去做了很多整合,内核基线明显更高,对新一代CPU、GPU、无线网卡、NVMe SSD的支持比V10好很多。桌面环境也换了,UKUI的版本和组件都更新过,安全策略、审计模块、软件仓库的组织方式都有调整。

维度V7V10V11
包管理多为DEB系RPM系/DEB系并存以RPM系(dnf/yum)为主线
内核版本老,约2.6.x/3.x4.x/5.x5.x/6.x(以发行版说明为准)
软件仓库基本停止维护仍在维护新主线仓库
桌面环境老式GNOME/KDEUKUI为主UKUI新版
驱动与硬件兼容中等更好
迁移风险基准

差距越大,迁移的复杂度就越高。你不可能靠一个“yum update”从V7一路原地吃到V11,那中间隔了十年的依赖变化和组件更替,在线升级几乎必然死在某个历史依赖上。

1.2 “原地升级”看着省事,实际坑很多

原地升级是很多人第一反应想到的方案,就是不重装,直接在旧系统上执行包管理器升级,把整个系统滚动到新版本。这个做法在同一个大版本内的小版本升级很有效,比如V10 SP1升到V10 SP3,但在跨大版本的时候,风险会放大很多。

跨大版本原地升级最常见的死法有这么几种:一是软件源跨版本指向,仓库里的元数据跟当前系统不匹配,依赖解析直接失败;二是内核替换到一半,新内核跟现有驱动冲突,重启后起不来;三是桌面组件升级过程中断,图形界面进不去;四是磁盘空间不够,升级包下到一半就挤爆了根分区。还有V7这种老版本,软件源大概率已经失效,连升级包都拉不下来。

所以我的建议很直接:个人测试机、虚拟机想折腾,可以试试原地升级感受一下;生产环境、办公终端、跑着业务服务的机器,老老实实走“备份+全新安装+数据回迁”的路线。迁移不是升级系统的过程,是给机器换底子的过程,把底子换掉,再把东西搬回去,这个路径可控、可回滚、可预期。

2. 迁移前的体检与盘点:旧机器上到底有什么

2.1 系统信息采集:先把机器“摸透”再关机

很多人一上来就拿U盘准备重装,旧机器上跑着哪些服务、装了什么驱动、哪些接口被占用,完全没概念。系统一关机,信息就没了。关机之前一定要先做一次全面体检,把旧机器的完整状态记录到外部存储或者打印出来。

开一个终端,按下面的命令逐条执行,把输出保存成文本文件。

cat /etc/os-release uname -a # 查看整机厂商、型号、序列号 dmidecode -t system | head -20 # 查看内存 free -h # 查看磁盘分区和文件系统 lsblk -f swapon --show # 查看显卡、声卡、网卡等PCI设备 lspci | grep -E "VGA|Audio|Ethernet|Network" # 查看USB外设 lsusb # 查看挂载情况 df -hT # 查看CPU lscpu

这几条命令能让你搞清楚最基础的三件事:系统架构是x86_64还是aarch64,内存和磁盘多大,网卡、显卡、USB外设是什么型号。架构直接决定V11镜像选哪个,硬件型号决定驱动能不能找到。

然后是网络和服务层面:

# 查看IP地址 ip addr # 查看路由 ip route # 查看监听端口和对应进程 ss -lnpt # 查看当前系统启用服务 systemctl list-unit-files --state=enabled # 查看系统日志是否有硬件错误 journalctl -p err -b

监听端口和启用服务这两条特别有用。有一次我处理一台迁移机器,装完新系统才发现原来上面跑着一个内网DNS服务,而体检时根本没记录,导致整个办公网DNS解析乱了好几天。这种“隐形服务”在迁移中最容易丢。

2.2 资产盘点:数据、软件包、外设一个都不能漏

系统信息采集完,接着做“业务资产盘点”。这一步是给迁移画地图,目标是把旧机器上所有需要继续用的东西列成清单。

  • 用户与权限:/etc/passwd、/etc/shadow、/etc/group,尤其是那些设置了固定UID/GID的用户和应用账号。很多软件按UID识别文件归属,UID对不上就会出现权限错乱。
  • 软件包清单:RPM系用rpm -qa,DEB系用dpkg -l,把结果导出成文本。这个清单不是给你重新安装用的,是给你“回忆”这台机器上装过什么的。真正安装还是要靠官方仓库或备份的安装包,因为新旧版本仓库里的软件版本不一样,直接按清单装可能装出个乱七八糟的依赖树。
  • 手工编译软件:/usr/local、/opt这两个目录要重点看,里面往往放着手工编译的Python、GCC、Nginx、MySQL这些。手工编译的软件不会出现在rpm -qa或dpkg -l里,迁移时最容易漏。还有pip3 list、npm list -g这类语言层面的全局包也要记录。
  • 计划任务:crontab -l,老机器上经常有数据备份、日志清理、报表生成的定时任务,不迁移的话业务会静默中断。
  • 业务数据:/home、/data、/srv、/var/lib/mysql、/var/lib/postgresql这些目录,看一遍磁盘占用,规划好备份目标。
  • 外设与授权:打印机、扫描仪、加密狗、U盾这些外设的型号和驱动包,以及软件的License、授权文件、证书文件,这是整个资产盘点里最容易被漏掉的。

建议做一张表格,把每项信息填进去,形成旧机器的“资产清单”。这张表后面做备份、回迁、验证全靠它,别偷懒。

资产类别检查路径迁移方式
用户账号/etc/passwd, /etc/shadow记录后重建
系统配置/etctar备份
应用软件/usr/local, /opt, /var/lib记录后重装/拷贝
业务数据/home, /data, /srv, 数据库目录rsync/导出备份
执行任务crontab -l记录后重建
外设驱动lspci/lsusb下载对应V11驱动
授权证书License、证书文件备份并确认续期

3. 备份不是复制目录:三类数据、软件清单和系统配置都要带走

3.1 备份方式怎么选:rsync、tar还是整盘镜像

很多人备份就是“把文件复制到U盘”,这样对付纯文本文件没问题,但对付系统迁移远远不够。系统迁移需要备份的是三类东西:业务数据、软件包清单、系统配置。整盘镜像可以连系统一起备份,但新机器通常用不上整个旧系统镜像,用错了反而麻烦。下面是我常用的三种备份方案:

  • rsync目录同步:最推荐日常业务数据用,增量同步、支持断点续传、能保留文件属主和权限。适合备份/home、/data、/opt这类数据目录。
  • tar打包:适合对配置文件这类“小而碎”的文件做整包快照,恢复时一键解包。也适合要把数据传到另一台机器时先打包压缩再传输。
  • dd/Clonezilla整盘镜像:适合对老机器做全量镜像,迁移失败可以随时回滚到原始状态。缺点是时间长、占空间大,而且直接把这个镜像恢复到新机器意义不大,V11要用全新安装。

我的习惯是“整盘镜像+rsync数据备份”双保险。整盘镜像用来兜底,万一迁移过程中发现漏了什么,随时可以回到旧系统再找;rsync备份负责把新旧系统之间的数据流转做好,这是回迁阶段的重要基础。

3.2 备份命令实操

手动执行以下备份操作,假设目标备份介质挂载在/media/backup:

# 1. 备份业务数据,排除缓存和无用文件 rsync -aAXvH --numeric-ids --delete \ --exclude '/home/*/.cache' \ --exclude '/home/*/.local/share/Trash' \ /home /data /srv /opt /media/backup/data/ # 2. 备份系统配置 tar czf /media/backup/config_backup.tar.gz \ /etc \ /var/spool/cron \ /root/.ssh \ /home/*/.ssh \ /var/lib/mysql 2>/dev/null # 3. 导出软件包清单 rpm -qa > /media/backup/rpm.list # RPM系 dpkg -l > /media/backup/dpkg.list # DEB系 # 4. 备份计划任务(各用户) for user in $(cut -f1 -d: /etc/passwd); do crontab -l -u "$user" > "/media/backup/crontab_$user.txt" done # 5. 数据库逻辑备份示例(MySQL) mysqldump -u root -p --all-databases > /media/backup/all_databases.sql # 6. 备份网络配置 ip addr > /media/backup/ipaddr.txt ip route > /media/backup/iproute.txt nmcli con show > /media/backup/nmcli_con.txt 2>/dev/null

这里有几个细节值得展开说一下。

rsync的-aAXvH看起来只有几个字母,实际含义很丰富。a是归档模式,保留权限、属主、组、时间戳;A保留ACL访问控制列表;X保留扩展属性;H保留硬链接;--numeric-ids用数字UID/GID而不是用户名记录文件属主,防止新旧系统里用户名和UID对应关系不一致导致文件归属错乱。这个参数组合是系统迁移备份的标配,千万别简化成cp。

tar打包时我加了2>/dev/null,因为有些路径像/var/lib/mysql在非数据库机器上不存在,不重定向会刷一堆报错。备份完一定要验证tar包里能不能看到预期文件,用tar -tzf config_backup.tar.gz | head 检查就行,花不了几秒钟,能避免备份文件损坏带来的大麻烦。

3.3 备份中的几个关键意识

备份这件事,很多坑不是命令用错,是“意识”没跟上。

  • 停机窗口再做备份:数据库、文件服务这种持续写入的系统,在线备份容易备份到写一半的文件,恢复出来数据一致性是有问题的。迁移前安排一个业务低峰期停机窗口,停服、备份、校验、关机,一气呵成。
  • 备份后必须校验:rsync跑完用du -sh对比源和目标的大小,差别太大说明有异常;tar包用-tzf验证可读。所有校验做完再关机。
  • License和授权文件单独确认:这个踩的坑最多。有些中间件和商业软件绑定机器特征,比如MAC地址或者主板序列号,迁移到新机器上license会失效。一定要在迁移前联系软件厂商确认授权策略,别等系统装完了才发现license用不了。
  • 备份介质要足够大:别等到备份到一半提示磁盘空间不足。先df -h看清楚旧机器数据总量,然后准备至少1.5倍空间的移动硬盘或网络存储。

4. 安装V11时那些容易忽略的准备工作

4.1 镜像、启动盘与启动方式

下载镜像前先确定架构,x86_64和aarch64的镜像不通用。下载完镜像之后做一步很多人嫌麻烦但特别重要的操作:校验文件完整性。哈希不匹配的镜像装出来的系统可能是坏的,而且你根本不知道哪里坏了,只能从头再来。

sha256sum KylinV11.iso

把算出来的哈希值和官网公布的比对,一致才继续做启动盘。

做启动盘的工具有讲究。Windows下推荐Rufus,Linux下推荐dd命令或者Ventoy。需要注意Ventoy如果装的是旧版本,启动新内核的ISO可能有兼容性问题,建议升级到最新版。做成启动盘后先在虚拟机里快速验证一下ISO能正常引导,再上真机,别在能跑业务的机器上试错。

启动方式上,老机器尤其要留意BIOS里是UEFI还是Legacy引导。V7、V10的老旧安装方式很多是Legacy引导加MBR分区,新机器往往是UEFI加GPT分区。V11安装盘通常两种都能引导,但你要是用了Legacy引导分区表却是GPT,或者反过来,装出来的系统很可能没法正确引导。装之前确认一下旧机器引导方式和分区表类型,跟安装时的选择保持一致,能省掉很多启动层面的麻烦。

4.2 分区方案怎么规划才不出问题

V11安装时自定义分区。给业务机器分区我推荐一个比较稳妥的模板:

挂载点建议大小说明
/boot1GB内核和引导文件,太大会浪费,太小可能装不下新内核
/50GB~100GB系统本体,软件和依赖都会装在这里
/home尽可能大用户数据目录
/data剩余空间独立业务数据盘

如果旧机器有数据盘,尤其是单独挂载的/data分区,重装时这块盘可以直接单独挂载使用。要注意的是,在安装程序里务必将数据盘挂载点设置为/data,并且不要勾选“格式化”,否则数据就没了。

有条件建议用LVM。LVM的好处是以后磁盘空间不够可以先加物理卷再扩展逻辑卷,不用重新分区。V11支持LVM安装,配置也不复杂,给生产环境做迁移时这是个低成本高收益的选择。

4.3 安装过程中的几个细节

安装过程中的选项看着不起眼,后续影响很大。

  • 主机名尽量与旧机器保持一致:很多内网服务是按照主机名做DNS解析的,改了主机名意味着所有相关服务配置都要跟着改,自找麻烦。
  • 网络配置沿用旧IP:如果这台机器的IP地址被其他系统写入过配置,比如数据库主从白名单、备份系统连接列表、防火墙规则,那装完后尽量保持同一IP不变。实在没法保留旧IP,就要提前梳理所有依赖这个IP的连接。
  • 语言、时区设置:时区错了会导致日志时间对不上,迁移到新系统后所有日志排查都得换算时区,太痛苦。
  • 安全模块选择:V11安装时可能会问是否启用安全增强模块。这类功能默认开着的,但会给后续软件安装、自编译程序、驱动加载带来额外的权限约束。业务机器如果跑的是非标准应用,建议先用默认“不强制”或宽松模式,系统跑稳定后再根据审计要求收紧。

如果装坏了或者装完启动不了,找一台能开机的电脑,去麒麟官网下载“系统修复助手”(Kylin LiveCD Tools)的ISO,用LiveCD启动进入救援模式,可以挂载硬盘、修复grub引导、找回分区。这个工具遇到启动故障时堪称救命稻草,提前下载放U盘里备着不亏。

5. 数据与应用的“搬新家”实操:从恢复用户到家目录到重建软件环境

5.1 用户和权限:先建号,再给文件,顺序不能反

新系统装好后,第一步不是急着恢复数据,而是重建用户体系。如果先把文件rsync过去再创建用户,可能导致文件属主显示为一堆数字ID,乱得一塌糊涂。

正确的顺序是:先在V11上按照旧机器的/etc/passwd、/etc/group记录,创建相同的用户和用户组,并且指定与旧机器一致的UID/GID

useradd -u 1005 -m -d /home/zhangsan -s /bin/bash zhangsan groupadd -g 1005 zhangsan

这里的关键点是:登录名可以不同,但UID/GID必须一致。因为很多应用判断文件权限是靠UID/GID数字,不是靠用户名。用户名变了还能通过属主显示识别,UID变了文件归属整个错位,服务启动就报错。

用户建完后,恢复各用户的SSH公钥和计划任务:

# 把备份的/home目录下.ssh内容还原 # 恢复计划任务 crontab -u zhangsan /media/backup/crontab_zhangsan.txt

SSH公钥漏掉是迁移后最常见的“小毛病”:用户说远程登录不上,其实只是authorized_keys没带过来。

5.2 软件环境重建:重装优先,尽量不要“拷贝安装”

软件的恢复要区分三种情况,对应三种完全不同的策略。

第一类是通用软件,比如Vim、Git、Nginx、MySQL这些,直接在V11上用官方源安装。麒麟V11仓库已经内置了大量常用软件,版本比旧机器的新,功能也更完善。要用内网软件源的话,配置好/etc/yum.repos.d或对应源文件,dnf makecache后就正常用了。

第二类是旧机器上通过rpm包或deb包离线安装的软件。找到软件包文件,备份出来,拿到V11上重新装。RPM系安装时用dnf localinstall,自动解决依赖;DEB系用apt install ./xxx.deb。

第三类是手工编译的软件,比如热词里提到的“kylin v10编译gcc 12”、“手动升级python”。这类软件的应对策略是:带着编译参数重建,而不是把编译产物拷过去。原因很简单,编译产物跟具体系统库版本有绑定关系,V11的glibc和库版本跟V10不一样,直接拷过去大概率遇到“找不到符号”“版本GLIBC_xxx not found”这类错误。

把旧机器上的源码包和当时的编译参数记录好(比如./configure --prefix=/usr/local/python3.9 --enable-optimizations),然后到V11上重新编译。这一步对做国产化系统迁移的人来说是基本功,尤其是编译Python、GCC这类基础工具链,编译链条长、坑多,后面专门说。

容器化的应用最好处理:旧机器上docker save导出镜像,新机器上docker load导入,再重新编排容器映射即可。迁移前注意确认V11的内核版本是否满足容器运行时的要求。

5.3 数据恢复与数据库导入

用户和软件都就位后,再开始恢复业务数据。数据恢复也用rsync,注意还是要带-aAX参数保留权限。数据库的数据不能光靠复制目录,推荐用逻辑导出导入的方式,这样能避免存储引擎版本不一致导致的数据文件不兼容。

# MySQL示例 mysql -u root -p < /media/backup/all_databases.sql

导入后仔细检查业务账号、表数量、关键行数与备份时记录一致,确认无误后再放开业务访问。

5.4 权限和安全模块的“事后清理”

数据文件从旧机器搬到新机器后,一个高频坑是目录权限错乱。特别是从旧机器拷过来的Web目录、数据库目录、上传目录,权限往往不对。rsync已经尽力保留了原始权限,但UID映射变化、安全模块策略不同等因素还是可能导致服务起不来。

排查步骤:

# 查看目录属主 ls -ln /data/www # 修改属主/权限 chown -R www-data:www-data /data/www chmod -R 755 /data/www # 如果启用了SELinux,查看是否有拦截 ausearch -m avc -ts recent setenforce 0 # 临时禁用,定位确认后再恢复 systemctl daemon-reload systemctl restart nginx

权限问题有个特别让人头疼的现象:命令行用手动启动一切正常,但systemctl启动服务就出错。这种基本可以锁定是安全模块策略在拦截,或者服务的用户/组配置不对。先setenforce 0临时调整,确认是它的问题后,再针对性写策略或用chcon调整文件上下文,不要长期禁用。

6. 启动验证与高频问题处理:时间、网络、密钥环与编译工具链

6.1 迁移完成后的验证清单

所有数据回迁和新软件安装完成后,先别急着给业务放量上线,按验证清单逐项过一遍。

# 1. 确认系统版本和内核 cat /etc/os-release uname -a # 2. 确认关键服务状态 systemctl status sshd crond nginx mysql # 3. 确认监听端口 ss -lnpt # 4. 确认网络连通 ping -c 4 网关地址 nslookup 一个内网域名 # 5. 检查日志有无异常 journalctl -p err -b # 6. 测试业务访问 curl -I http://127.0.0.1:8080

外设验证也很关键,打印机要实际打印一张测试页,使用加密狗、U盾的应用要实际跑一次业务流程。这些功能验证不能省,等业务正式上线才发现外设不行,造成的影响面就大了。

6.2 系统时间不对引发的一系列连锁问题

热词里有“银河麒麟保留date重装系统”,这背后是一个广泛存在的问题:装完新系统后时间不正确。时间不对,会引发一连串让人摸不着头脑的问题:软件源证书验证失败、HTTPS访问异常、数据库主从同步报错、日志时间错乱、密钥认证失败。每次排查到最后才发现,原来是系统时间差了几年。

解决方案:

# 开启NTP自动同步 timedatectl set-ntp true # 手动指定时间服务器 chronyc sources -v # 如果没装chrony dnf install -y chrony systemctl enable --now chronyd

特殊情况是内网环境无法访问公网NTP服务器,那就把内网时间源配置到/etc/chrony.conf,并且提前跟负责时间同步的同事确认好。

6.3 SSH升级导致远程连接中断的处理思路

热词“银河麒麟ssh升级”“centos+升级openssh”说明SSH升级是很多人的痛点。V11自带的OpenSSH版本通常比V10、V7新,但你要是手动升级过旧系统的OpenSSH,迁移后碰到的问题就复杂了。

最常见的情况是:用全新V11自带SSH,配置不兼容旧机器的/etc/ssh/sshd_config,导致服务起不来或者拒绝连接。处理方法是用备份的旧配置做参考,但不要整个覆盖新配置文件。新版本OpenSSH对一些老旧的配置项做了移除或废弃,老配置直接搬过去会出现未知指令、无法启动。逐行比对,只保留你需要的自定义项,比如端口、允许用户、密钥登录设置,其余让新版配置生效。

这里再给一个血泪教训:做SSH相关升级操作前,务必先在本地打开一个备用远程通道,比如配好VNC或者telnet,万一SSH服务挂了还能从本地控制台登录救回来。升级完了再用新SSH登录测试,测试通过后再关备用通道。

6.4 Python、GCC编译后“版本还是旧版”的真相

V10上手动升级Python和GCC这类操作,迁移到V11后往往要重新编译。重编译本身不算难,难的是“编译完了,命令行显示的居然还是旧版本”。我在实际迁移中就遇到过,GCC编译安装完成,gcc -v还是显示系统自带的老版本,当场一愣。

这个现象绝大多数是因为PATH环境变量没有把新编译安装路径加在最前面,或者shell缓存了旧命令路径。验证命令:

# 查看gcc实际路径 which gcc type -a gcc # 查看PATH顺序 echo $PATH # 刷新命令哈希缓存 hash -r # 手动指定新路径验证 /usr/local/gcc/bin/gcc -v

把export PATH=/usr/local/gcc/bin:$PATH写进/etc/profile.d/gcc.sh,再source一下,问题就没了。编译新Python时可执行文件也同理,确认python3命令到底指向哪里。

另外一个相关热词“gcc升级后为啥还是旧版本”,除了PATH问题,还有可能是动态库加载路径问题。编译出来的程序运行时报找不到.so文件,需要设置LD_LIBRARY_PATH或运行ldconfig缓存新.so路径。遇到“明明编好了就是跑不起来”的情况,先用ldd查一下依赖。

6.5 桌面环境里的老熟脸:密钥环、网络感叹号、只读配置文件

桌面版迁移后最常遇见三个“小毛病”。

密钥环弹窗这个非常普遍。开机登录后老是提示输入密码以解锁密钥环,或者钥匙圈打不开,直接把整个桌面体验搞得很烦躁。大多数情况是用户目录下的密钥环配置与旧系统关联,或者是自动登录导致密钥环密码没被正常解锁。新系统里可以删除旧密钥环文件让系统重建:

rm -rf ~/.local/share/keyrings

删除后重启或重新登录,系统会创建新的默认密钥环。如果是在自动登录场景下,建议在“密码和密钥”应用里把默认密钥环密码设置为空,跟自动登录环境匹配,就不会反复弹窗。

网络感叹号,也就是“kylin系统一致显示网络有感叹号,但使用正常”。这个问题的本质是系统用来探测“网络是否连通”的探活服务器域名解析或连通性检查失败,导致系统认为网络有问题,但实际业务网络都是通的。解决方向是调整网络管理里的探测配置,把探活地址改成内网可达的地址,或者关闭连通性检查。不同的桌面版本入口位置不一样,一般在网络设置或系统设置的高级选项里能找到。

“麒麟v11 95-ukui-greeter.conf变成了只读”是一种权限问题。UKUI登录界面的greeter配置文件被安全模块或文件系统挂载属性保护,直接vi保存会报只读。遇到这种情况先确认是不是以root操作,再查文件属性:

lsattr /etc/lightdm/ukui-greeter.conf 2>/dev/null chattr -i /etc/lightdm/ukui-greeter.conf

如果是SELinux导致写不进去,用ls -Z查看文件的安全上下文是否正确,必要时restorecon恢复上下文。这类问题基本都能用常规手段解决,别急着重装系统。

6.6 VMware Tools与虚拟机环境的迁移注意事项

热词“银河麒麟v11安装vmware-tools”指向另一个常见的迁移场景:源系统跑在VMware虚拟机上,迁移到V11后要重新安装VMware Tools或open-vm-tools。

新版本V11多数场景直接装open-vm-tools就够了,它是开源版本的VMware Tools,功能完全够用,装起来也简单:

dnf install -y open-vm-tools systemctl enable --now vmtoolsd

装了open-vm-tools后,再折腾VMware Tools安装包的情况就少很多了。迁完虚拟机系统后,要注意确认网卡驱动加载正常。有些虚拟机模板默认网卡型号比较旧,V11下的驱动模块可能没启用,网络起不来。exsi里如果用vmxnet3网卡,确认内核模块vmxnet3已经加载。虚拟机里的迁移有一个天然优势:数据备份可以通过虚拟机快照来做,迁移前打个快照,相当于整机备份,比物理机的dd还要方便。

写在最后:迁移这个事,最重要的是“可回滚”

复盘这次V7/V10到V11的迁移过程,我最想强调的不是哪一个命令,而是“可回滚”三个字。整个迁移周期里,旧系统整盘镜像、数据备份、配置备份、软件清单、数据库导出,每一件都是为了让你在任何一步出错时还有退路。实际执行迁移时,给自己留一条随时可以退回旧环境的退路,比什么都重要。我个人的建议是迁移窗口至少安排一整天的余量,系统安装、环境搭建、数据导入、功能验证一气呵成,过程中如果遇到不在计划内的问题,当天能解决就解决,解决不了第二天继续,不要在周五下午临时起意开始迁移。数据中心迁移、办公终端升级这类任务,最忌讳的就是“赶时间”。准备工作做得越足,正式执行的时候心里越稳,最后的迁移成功率也就越高。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询