1. 迁移前的系统评估与准备
当企业考虑从CentOS迁移到BigCloud Enterprise Linux for Euler(简称BC-Linux)时,首先要对现有系统进行全面评估。我遇到过不少团队直接开干,结果发现硬件驱动不兼容、关键服务跑不起来的情况。建议从这三个维度入手:
硬件兼容性检查是首要任务。BC-Linux支持x86_64和ARM架构,但某些老旧的RAID卡或网卡可能需要额外驱动。用以下命令获取硬件信息:
lspci -nn | grep -E 'Network|Storage' dmidecode -t system软件栈验证更需要谨慎。曾经有个生产环境因为Python 2.7的兼容性问题导致监控系统瘫痪。建议重点检查:
- 数据库版本(MySQL/MariaDB/PostgreSQL)
- 中间件(Nginx/Apache/Tomcat)
- 编程语言环境(Python/Java/Go)
- 监控工具(Zabbix/Prometheus)
数据备份方案必须万无一失。我习惯用rsync做双重备份:
rsync -avz --delete /重要目录 备份服务器IP:/备份路径2. 使用x2openEuler工具原地升级
中国移动开源的x2openEuler是目前最靠谱的迁移工具,实测从CentOS 7升级成功率能达到95%以上。先准备辅助机(建议用BC-Linux 7.6),然后按步骤操作:
工具安装要注意依赖项:
wget https://repo.oepkgs.net/openEuler/rpm/openEuler-20.03-LTS-SP1/contrib/x2openEuler/noarch/Packages/x2openEuler-1.1-1.noarch.rpm yum install -y x2openEuler-*.rpm配置迁移任务时有个坑要注意——如果源系统用了第三方内核模块(比如NVIDIA驱动),需要提前卸载。通过Web界面(https://辅助机IP:18082)创建任务时,repo源建议这样配置:
[BCLinux] name=BCLinux-21.10 baseurl=http://镜像服务器/bclinux-21.10/ gpgcheck=0升级过程中常见问题处理:
- 遇到"rsync >= 3.1.0"报错:临时修改yum源指向BCLinux仓库
- 软件包冲突:用
rpm -e --nodeps强制卸载冲突包 - 空间不足:确保/var目录至少有20GB空闲空间
3. 手动安装与数据迁移方案
对于不能原地升级的系统,全新安装更稳妥。从移动云镜像站下载ISO:
https://mirrors.cmecloud.cn/bclinux/oe21.10U3/ISO/x86_64/rolling/分区方案建议:
| 挂载点 | 类型 | 大小 | 备注 |
|---|---|---|---|
| /boot | xfs | 1GB | 必须独立分区 |
| swap | swap | 内存1.5倍 | 超过64GB内存可省略 |
| / | xfs | 100GB | 系统根目录 |
| /data | xfs | 剩余空间 | 业务数据存放 |
关键配置迁移示例(以Nginx为例):
# 旧系统备份配置 tar czf nginx_conf.tar.gz /etc/nginx/conf.d/* # 新系统恢复配置 yum install -y nginx tar xzf nginx_conf.tar.gz -C /etc/nginx/conf.d/ nginx -t # 测试配置有效性4. 升级后兼容性验证
系统升级完成后,我建议用以下测试矩阵验证:
基础功能测试:
# 网络连通性 ping -c 4 www.baidu.com curl -I http://localhost # 存储性能 dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct服务验证清单:
- 检查所有自启动服务状态:
systemctl list-unit-files | grep enabled - 验证关键进程资源占用:
top -b -n 1 | head -15 - 测试定时任务执行:
systemctl restart crond
5. 网络与服务配置调整
BC-Linux默认使用NetworkManager,但生产环境我更推荐传统network-scripts:
网络配置迁移示例:
nmcli dev show | grep IP4.DNS # 记录原DNS vi /etc/sysconfig/network-scripts/ifcfg-ens192配置文件关键参数:
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114软件源配置要注意商业授权问题。临时解决方案:
mv /etc/yum.repos.d /etc/yum.repos.d.bak mkdir /etc/yum.repos.d cat > /etc/yum.repos.d/local.repo <<EOF [local] name=local baseurl=file:///mnt/cdrom/ gpgcheck=0 enabled=1 EOF6. 常见问题解决方案
问题1:显卡驱动不兼容
yum install -y kernel-devel-$(uname -r) ./NVIDIA-Linux-x86_64-510.60.02.run --kernel-source-path=/usr/src/kernels/$(uname -r)问题2:时间同步异常
yum install -y chrony systemctl enable --now chronyd chronyc sources -v问题3:SELinux策略冲突临时解决方案:
setenforce 0永久方案建议根据审计日志调整策略模块,而不是简单关闭。