当前位置: 首页 > news >正文

信创实践(2):利用Leapp工具迁移CentOS至AnolisOS,实现系统升级与自主可控

1. 引言

为了满足用户在CentOS退出后对操作系统使用的诉求,OpenAnolis龙蜥社区正式发布了Anolis OS。越来越多的CentOS客户期望能够迁移到Anolis OS上来。操作系统迁移是一个复杂工程,手工迁移技术要求高,操作复杂度强,需要耗费大量的人力和时间。OpenAnolis龙蜥社区针对这一痛点,为CentOS用户提供了迁移到Anolis OS的迁移解决方案AOMS ( Anolis OS Migration Solutions )。本文将介绍如何利用AOMS轻松实现从CentOS到Anolis OS的迁移。

2. 迁移原理与注意事项

CentOS 7 到 Anolis OS 8 ,无论是内核,基础软件包,工具链都发生了较大的变化。迁移工具需要考虑这些变化带来的兼容性问题。AOMS 提供的迁移工具 leapp 包含了迁移评估,迁移实施,配置还原等步骤,用于实现 CentOS 7 到Anolis OS 8 的就地迁移。

3. 部署迁移工具

1. 下载迁移工具软件源
wget https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo -O /etc/yum.repos.d/anolis-migration.repo
2. 安装迁移工具
pip list | grep requests && pip uninstall requests urllib3 -y
yum -y install leapp
yum -y install python-urllib3 python-requests

备注:重新安装 python-requests 和 python-urllib3 是为了解决迁移过程中可能发生的软件包升级冲突。

3. 如果报了没找到pip,安装一下
yum -y install python2-pip

4. 迁移前评估

成功部署工具后,运行工具的评估命令来对系统环境进行扫描评估

leapp preupgrade --no-rhsm
1. 查看评估报告

评估命令执行完成后,会生成评估报告,在 /var/log/leapp/leapp-report.txt中,报告中详细列举出当前 OS 与目标 OS 系统间的升级分析报告,每一个报告点都包含影响等级,影响范围以及解决方案。当评估工具认为报告点影响 OS 的就地升级,这些报告点问题就必须解决,否则无法实施就地迁移。

2. 基于评估报告处理迁移前问题

迁移评估报告中一旦出现影响就地迁移的因素,会禁止迁移实施,将这些影响因素都解决后才能够继续实施迁移。如果遇到影响迁移实施的因素,迁移评估结果显示如下:

3. 按照报告的提示,在 /var/log/leapp/leapp-report.txt可以获取到详细的报告信息,同时 UPGRADE INHIBITED给出的影响升级的因素也可以在 /var/log/leapp/answerfile文件中查看。

解决方案:在新的 Anolis OS 8 中不再支持 pam_pkcs11 ,所以我们直接选择删除该不支持的选项:

leapp answer --section remove_pam_pkcs11_module_check.confirm=True

Anolis OS 8 中默认的 PermitRootLogin行为是 prohibit-password,禁止 root 用户登陆,如果不显式设置 PermitRootLogin yes则会在迁移后影响 root 用户密码登陆。解决方案:修改 sshd_config 配置文件,允许 root 用户登录。

sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config

解决了上述影响因素后,可以再次执行 leapp preupgrade --no-rhsm 再次评估是否有影响迁移的因素。若没有影响迁移的因素,结果如下:

5. 迁移实施

leapp upgrade --no-rhsm

一切就绪,执行结果如下:

reboot 即可进入正式的就地迁移。待系统迁移完成后,会自动重启进入迁移后的系统。

6. 迁移后验证

迁移完成后,可通过一系列基础操作查看 OS 版本,如 /etc/os-release查看 OS 版本。

迁移完成后,应用程序可以通过自身的指标查看是否能够正常运行。

执行更新

yum -y update

7. 结语

通过AOMS迁移解决方案,CentOS用户可以轻松地将现有系统迁移至Anolis OS,这不仅是对信创战略的支持,也是确保线上业务连续性和安全性的重要举措。AOMS的出现极大地简化了迁移过程,为用户提供了便捷、高效的迁移体验。如果您在迁移过程中遇到任何问题,欢迎在评论区留言交流。感谢您的阅读,希望本教程对您有所帮助!

http://www.lryc.cn/news/432926.html

相关文章:

  • 数据库死锁查询SQL
  • vLLM (4) - LLMEngine上篇
  • Java重修笔记 第五十天 HashSet 和 TreeSet 的去重机制比较
  • 提前购|基于SSM+vue的创新型产品提前购平台(源码+数据库+文档)
  • 上海市计算机学会竞赛平台2024年7月月赛丙组求和问题
  • 【LVI-SAM】激光雷达点云处理特征提取LIO-SAM 之FeatureExtraction实现细节
  • [数据集][目标检测]血细胞检测数据集VOC+YOLO格式2757张4类别
  • opencart journal 3 在价格前添加文本prefix
  • c++ string类的模拟实现的注意事项
  • Unity3D中控制3D场景中游戏对象显示层级的详解
  • 代码执行漏洞-Log4j2漏洞 vulhub CVE-2021-44228
  • uniapp / uniapp x UI 组件库推荐大全
  • 花8000元去培训机构学习网络安全值得吗,学成后就业前景如何?
  • PhpStorm 下调试功能配置
  • MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)
  • 【H2O2|全栈】关于HTML(4)HTML基础(三)
  • 关于找不到插件 ‘org.springframework.boot:spring-boot-maven-plugin:‘的解决方案
  • 深入RabbitMQ世界:探索3种队列、4种交换机、7大工作模式及常见概念
  • 将目标检测模型导出到C++|RT-DETR、YOLO-NAS、YOLOv10、YOLOv9、YOLOv8
  • 【Windows】解决新版 Edge 浏览器开机自启问题(简单有效)
  • 如何给3D人物换衣服CC4
  • 如何对列表、字符串进行分组
  • 【GEE代码实例教程详解:NDVI时间序列趋势分析】
  • 51单片机-DS1302(RTC实时时钟芯片)
  • FreeRTOS学习笔记—②RTOS的认识及任务管理篇
  • 【C++从练气到飞升】22---C++中的异常
  • 前端:HTML、CSS、JS、Vue
  • RocksDB简介
  • [VC] Visual Studio中读写权限冲突
  • ChatGPT3.5/4.0新手使用手册,国内中文版使用教程