乐趣区

关于centos:如何安全快速地从-Centos迁移到openEuler

去年年底,Centos 8 进行保护更新的音讯,在业内掀起极大的关注。迁徙 CentOS 也不是一件简略的事儿;不仅要对操作系统及其上搭载的应用软件和业务零碎进行代替、适配、迁徙和重构等,也要综合思考其稳定性、安全性和灵活性,还有一些迁徙老本、搭档生态等等。

在进行一些调研后,咱们应用了 openEuler。其起因在于,首先操作系统 openEuler 内核源于 Linux,反对场景多样,比较稳定易用。其次,它有比较完善的兼容评估与剖析工具,缩小咱们局部工作。再有,它的搭档生态倒退比拟不错,处理器、整机、根底软件、应用软件、行业客户等都能笼罩到,也有十来家支流 osv 基于 openEuler 操作系统公布了商业发行版。社区开发者也比拟沉闷,提及的疑难或需要都能给予一些反对。而且 openEuler 是开源的,从老本到利用,总体感觉比拟不错。

上面,我来分享下从 Centos 迁徙到 openEuler 的教训;心愿对大家有帮忙。

1. 迁徙概述

1.1 迁徙注意事项

迁徙关键问题:

CentOS 到 openEuler,无论是内核、根底软件包都有了肯定的变动。剖析认为 OS 迁徙面临的关键问题有三个:

  1. 已有软件是否能够在新零碎运行,包含软件装置与性能是否存在问题
  2. 硬件与新 OS 是否兼容
  3. 曾经做过的相干配置是否能够继承到新 OS

迁徙施行注意事项:

  1. 可能对现网业务有影响,请提前布局工夫窗口和资源
  2. 现网数据请留神备份
  3. 倡议严格依照文中形容的流程执行
  4. 现网业务倡议业余人员施行迁徙,倡议分割操作系统厂家运维人员提供技术领导

1.2 迁徙计划综述

操作系统和应用软件的迁徙次要蕴含如下三步:
① 迁徙评估(软件、硬性、配置)
② 迁徙适配(软件适配、硬性适配、依赖缺失、配置差别)
③ 迁徙施行(单机、主备、分布式)
openEuler 社区的迁徙工具 x2openEuler 提供了①迁徙评估能力,依据评估后果,如果存在兼容性问题,参照本文中的②迁徙适配领导,适配实现后发展③迁徙施行;如果无兼容性问题,则间接发展③迁徙施行,通用计划蕴含新增、扩容、原地替换三种场景以及单机、主备、分布式等软件状态。

2. 迁徙评估

openEuler 社区提供的 x2openEuler 工具从如下角度剖析并生成兼容性评估报告:

  • 软件评估
    通过辨认应用软件依赖的软件包清单信息,对 rpm/tar/zip/gzip/jar/py/pyc/sh/bin 利用进行扫描评估,并生成.html 评估报告。
  • 配置收集与评估
    反对对用户环境数据进行收集并生成 json 格式文件,反对收集硬件配置、配置接口、内核选项配置参数、系统配置参数(sysctl/proc/sys)、环境变量、服务、过程、端口、命令接口、零碎调用项和设施驱动接口等信息,并实现配置信息剖析评估。
  • 硬件评估
    评估运行环境的整机(x86/aarch64)、整机板卡(RAID/NIC/FC/IB/GPU/SSD/TPM)是否在 openEuler 兼容性清单。
  • 工具具体应用办法和性能请参考 x2openEuler 使用指南

2.1 装置迁徙评估工具 x2openEuler

依据架构下载最新版本工具

wget https://repo.oepkgs.net/openEuler/rpm/openEuler-20.03-LTS-SP1/contrib/x2openEuler/x86_64/Packages/x2openEuler-2.0.0-430.x86_64.rpm

装置 x2openEuler 工具

yum install x2openEuler-x.x-x.x86_64.rpm

2.2 应用软件兼容性评估

此处以评估 read-os-1.0.0-1.el7.aarch64.rpm 利用包并输入软件评估报告为例,请依据理论状况抉择所需参数并替换为须要扫描的软件包或软件包目录。

x2openEuler scan read-os-1.0.0-1.el7.aarch64.rpm

依据报告提醒,存在不兼容的依赖包和接口,请参考 本文 3.1-3.2 章节 实现适配。

2.3 硬件兼容性评估

此处以剖析本地硬件资源信息为例,请依据理论状况抉择剖析本地硬件资源信息或内部导入硬件信息数据。

x2openEuler hardware-analyse

依据报告提醒,存在不兼容的硬件,请参考 本文 3.3 章节 实现硬件适配。

2.4 配置兼容性评估

此处以评估本地配置信息为例,可依据理论状况抉择所需参数并替换为须要进行评估的内部导入数据。

x2openEuler conf-analyse 

依据报告提醒,存在有变动的配置须要查看,请参考 本文 3.4 章节 实现配置适配。

3. 迁徙适配

迁徙适配工作从剖析评估报告开展,针对报告里的谬误详情施行不同的适配动作。

3.1 应用软件移植

以 2.2 章节 read-os-1.0.0-1.el7.aarch64.rpm 评估报告为例,从接口层面可知,调用的接口产生了变动,通过剖析后该案例因为依赖了“已移除的接口”,

须要分割软件厂家或者自研软件责任方进行适配。

对于兼容的软件可间接应用。

3.2 OS 软件包适配

以 2.2 章节 read-os-1.0.0-1.el7.aarch64.rpm 评估报告为例,发现依赖软件包中有缺失的包如下,

则须要参考软件兼容性适配流程实现包引入。适配实现后,将软件包引入至软件仓库及依据须要刷新软件兼容性清单。

对于兼容的软件可间接应用。

3.3 硬件适配

以 2.3 章节硬件评估报告为例,“是否在兼容清单”存在“待确认”的硬件类型

须要参考硬件兼容性测试服务,疏导硬件厂家或社区发展适配,适配实现后将适配驱动公布至软件所仓库及刷新兼容性清单。

“是否在兼容清单”为“是”的硬件示意曾经过兼容性认证,间接执行下一步。

3.4 配置适配

剖析配置评估报告,x2openEuler 工具主动将系统配置分成动态和动静两种,用户仅需联合本身理论业务诉求和调优策略不同,对各项差别进行比照,抉择须要批改的配置,编写自动化脚本,实现一键配置同步。

4. 迁徙施行(已有零碎替换)

迁徙施行前,须要提前相熟软件部署架构及部署组网,针对性输入对应场景的迁徙计划。目前 openEuler 提供支流场景的迁徙计划,如大数据、分布式存储、虚拟化、容器、数据库软件,胜利撑持多个行业用户实现迁徙工作,具体迁徙我的项目撑持请分割 openEuler 运维人员提供技术领导。搬迁施行过程次要包含进行业务、备份隔离、零碎部署、配置同步、利用部署、业务割接外围步骤。

4.1 进行业务

进行搬迁施行前需申请停机窗口和筹备工作,依据业务场景和割接难度评估停机保护窗口。针对迁徙施行中常见的单机、主备、分布式集群场景,不同应用软件能够做到短暂中断业务或齐全不中断,具体场景需联合应用软件独自剖析,常见的三种场景状况如下:

  1. 单机软件:业务中断,停机 x 小时
  2. 主备软件:不停机
  3. 分布式集群软件:不停机

    4.2 备份隔离

    为保障搬迁过程业务利用安全性,避免搬迁过程信息的失落,倡议搬迁前做好备份,隔离是为了避免搬迁过程影响其余失常业务运行。针对不同业务场景执行容灾备份、网络隔离等可联合业务软件具体的个性进行施行,如 Mysql 数据库场景可通过 xtrabackup 等工具进行疾速备份还原。

    4.3 零碎部署

    零碎部署可应用零碎部署工具进行自动化批量部署,大幅晋升部署效率。部署过程可基于 gkit 工具搭建 pxe 服务器,同步配置文件后可疾速实现装置过程:

  4. 配置 pxe 服务器信息
  5. 导入配置的模板,点击装置,主动配置 pxe 服务器
  6. 确认 Pxe 服务状态为绿色,示意 pxe 服务器搭建实现
  7. 进入服务器 kvm,设置服务器从 pxe 启动并重启
  8. 后续步骤主动实现,同步配置 ip,OS 装置实现

    4.4 配置同步

    依据 3.4 章节 实现适配动作,基于 x2openEuler 集成的配置工具,实现零碎参数配置、服务状态配置等一键同步,确保根底运行环境及状态信息同步移植,保障业务搬迁后零碎运行环境状态统一。

    4.5 利用部署

    利用部署前可将须要部署的利用打包成 RPM 包模式,通过编写利用部署装置脚本,在试验环境上进行验证,确保部署脚本的准确性。进行根底验证后,将脚本批量拷贝到待部署的服务器执行,实现自动化利用部署。针对支流的开源软件,如大数据、数据库、虚拟化、容器等,openEuler 已提供齐备的 rpm 包,可间接利用和部署。

    4.6 业务割接

    业务割接环节须要思考应用软件本身个性,做到尽可能小的中断业务并高效的平滑搬迁。针对单机、主备、分布式集群软件,业务割接过程如下:

  • 单机软件
    该类软件迁徙时,波及到操作系统切换,基本上会中断业务,须要充分考虑迁徙造成的中断影响,抉择适合的窗口进行迁徙,可思考借助备用服务器,割接式迁徙。割接实现后保留原节点 x 天察看新节点业务运行状况,x 天后销毁原节点。
  • 主备软件
    该类软件迁徙时,可不中断业务,先备后主,基于主备状态同步机制,平滑迁徙。隔离备节点服务器,在备节点重新部署 OS 和业务,基于主备同步机制实现主备同步,而后通过主备倒换将降级 OS 后的备节点倒换成主节点,另一个节点以雷同的形式进行 OS 降级。主备切换后察看新的主节点业务运行状况,x 天后替换备节点。
  • 分布式集群软件
    该类软件迁徙时,不中断业务,能够基于分布式软件自带的伸缩扩容机制,通过滚动代替的形式实现平滑迁徙。将须要替换的节点进行隔离,而后重新部署新的 OS,再退出到原有集群中。切换 1 / 3 数量节点后察看新的节点业务运行状况,x 天后替换旧节点。

5.迁徙施行(新增扩容)

零碎部署可应用零碎部署工具进行自动化批量部署,大幅晋升部署效率。部署过程可基于 gkit 工具搭建 pxe 服务器,同步配置文件后可疾速实现装置过程:

  1. 配置 pxe 服务器信息
  2. 导入配置的模板,点击装置,主动配置 pxe 服务器
  3. 确认 Pxe 服务状态为绿色,示意 pxe 服务器搭建实现
  4. 进入服务器 kvm,设置服务器从 pxe 启动并重启
  5. 后续步骤主动实现,同步配置 ip,OS 装置实现

    5.2 配置同步

    依据【迁徙适配】章节实现适配动作,基于 x2openEuler 集成的配置工具,实现零碎参数配置、服务状态配置等一键同步,确保根底运行环境及状态信息同步移植,保障业务搬迁后零碎运行环境状态统一。

5.3 利用部署

利用部署前可将须要部署的利用打包成 RPM 包模式,通过编写利用部署装置脚本,在试验环境上进行验证,确保部署脚本的准确性。进行根底验证后,将脚本批量拷贝到待部署的服务器执行,实现自动化利用部署。针对支流的开源软件,如大数据、数据库、虚拟化、容器等,openEuler 已提供齐备的 rpm 包,可间接利用和部署。

6.总结

以上便是我的一些教训与办法,尽管过程中存在很多疑难,但好在社区开发者很激情,整体来说比拟顺畅。分享这篇博客,也是心愿能给敌人们带来一些帮忙,一起交换交换。

参考链接:
openEuler 迁徙指南

openEuler 兼容性列表

退出移动版