全面升级!龙蜥自动化运维平台 SysOM 2.0 可支持操作系统一站式迁移 | 龙蜥技术

简介: 打造集迁移、运维为一体的运维平台。

1.png.JPG

文/系统运维SIG


CentOS 项目将停止维护,企业和个人用户都面临着大量的 CentOS 操作系统更新、维护、系统迁移等问题。对于迁移的过程,若通过手动方式进行不仅效率低下,还存在无法标准化、无法原地迁移等问题,也将耗费大量人力和资源,这显然是不现实的。如何解决依靠工具实现一站式的从迁移的评估、迁移实施到迁移后的优化问题迫在眉睫。


基于此,龙蜥社区正式推出围绕操作系统迁移和运维的自动化运维平台 SysOM 2.0 版本,此次升级从架构到核心功能都做了优化升级,包含三个核心能力:操作系统迁移、全面升级的诊断中心和整体架构的升级。SysOM 2.0 将为用户提供包括迁移评估、迁移工具、迁移前后的对比和系统优化在内的完整迁移功能,保障了用户从迁移到运维的操作系统管理闭环。围绕迁移场景,SysOM 2.0 还在监控中心、诊断中心等模块丰富了相关的功能,使操作系统的运维体验进一步提升。


01 操作系统迁移

还在为 CentOS 停服不知道该换什么、能不能换、怎么换、换了之后系统会不会出问题而烦恼吗?SysOM 2.0 新增的“操作系统迁移”功能可以给你答案。SysOM 2.0 支持 CentOS 7 和 CentOS 8 全系操作系统迁移到龙蜥操作系统(Anolis OS) 7 和 8 版本,为用户提供简单可视化的界面来完成一站式的迁移工作。


SysOM 2.0 操作系统迁移模块功能点包括:迁移评估和迁移实施。支持原地迁移和批量迁移,来解决用户机器的规模庞大,无法进行轮转的问题。支持对迁移后系统的异常进行诊断分析和系统调优。

迁移评估:在操作系统进行迁移之前,通过自动化的迁移评估功能,用户可以了解迁移后的 Anolis OS 对原有系统的兼容性,包括软件兼容性和硬件兼容性,同时会为用户提供详细的兼容性报告,为后续迁移到 Anolis OS 做充分的信息决策的准备。


迁移评估功能包括:

  • 迁移风险评估,针对操作系统进行全面的迁移操作风险评估。
  • 系统评估,针对迁移前后系统内置环境变量、服务命令、内核系统调用等等系统级配置进行评估。
  • 硬件评估,针对系统硬件信息和板卡信息进行评估。
  • 应用评估,针对系统已安装的应用进行兼容性评估。

1.png(图/迁移评估)

2.png(图/迁移评估报告)


迁移实施:当用户完成迁移评估之后,可以通过迁移实施的界面操作来完成系统迁移。为了避免在迁移过程发生意外或迁移结果不如预期,用户可以通过界面提前进行系统备份。迁移实施功能支持单机迁移和批量迁移,支持单步迁移和一键迁移,支持备份还原和离线迁移等功能。

迁移实施流程包含:

  • 实施配置,针对实施配置的一些操作。
  • 系统备份,如果有需要则会对当前系统进行备份。
  • 环境准备,迁移前的环境准备和工具部署。
  • 风险评估,实施迁移会进行一次风险评估。
  • 迁移实施,当风险评估通过之后,将执行系统迁移操作。
  • 重启机器,迁移实施完成之后需要重启机器,当机器重启成功后,系统切换为 Anolis OS,标志着本次系统迁移完成。

如果用户对系统进行了备份,可以随时使用系统还原功能将当前系统还原为未迁移的状态。

3.png

(图/批量迁移实施)

4.png(图/迁移实施)


02 监控中心

SysOM 2.0 新增迁移监控报表功能,该项功能对迁移前后系统的资源总额使用情况、基础指标变化趋势以及指标波动等进行采集和可视化展示,可以让用户更加直观地感受迁移前后,操作系统的变化情况。同时,通过在迁移前后运行一段时间测试任务,可以对实际业务在两种操作系统上运行的性能有一个直观的对比效果。


资源变更监控

迁移监控会对迁移前后常用资源的变更情况和变更趋势进行可视化展示,可以直观的对比迁移前后系统的资源变更情况。

5.png

(图/迁移监控)

基础指标监控

同时迁移监控会对常用指标(CPU、内存、网络、IO、磁盘)进行监控,对每个指标的实时值、变化趋势、以及波动幅度进行可视化展示,可以直观的对比迁移前后各个指标在时间维度上的波动情况。

6.png

(图/基础监控)


03 诊断中心

SysOM 2.0 提供调度、存储、网络、内存等全方位的诊断,帮助操作系统用户进行全方位的问题排查和定位。新增诊断功能:调度抖动诊断、IO 时延分析、IO hang 诊断、网络丢包诊断、网络抖动诊断、网络重传诊断、内存 Cache 分析、内存 OOM 诊断和支持自定义命令下发功能。


调度诊断中心

调度抖动诊断:在系统运维场景中,CPU 长时间在 sys 态执行,导致用户态程序得不到调度;系统长时间关中断,导致 CPU 无法正常接收 TICK 中断、引发调度抖动问题。这两种情况下往往伴随着业务进程突发调度延迟,甚至系统短暂 hang。调度抖动记录了调度抖动发生的时间点、发生的次数、和抖动的具体数值,来帮助用户更好的定位该场景下发生的问题。

7.png

存储诊断中心

IO 时延分析:IO 高延迟一般意味着 IO 性能瓶颈,如 IO 流量太多、积压,达到存储设备瓶颈或者存储设备异常、OS 存储栈异常等等,造成 IO 请求处理慢、IO 延迟高。该项监控每个存储设备的历史 IO 延迟水位,统计每分钟访问的 IO 延迟异常偏离历史水位的次数,可以快速定位出 IO 延时最大消耗在哪一层级,方便定位问题。

IO 流量分析:系统 IO 流量过高、IO 打满磁盘,容易引起 IO 资源的争抢而导致有 IO 需求的用户进程阻塞,出现这种情况,一般意味着 IO 资源没有得到合理的分配,让某些进程占据了超出预期的大量 IO 资源。该项监控每个存储设备在进程级别的 IO 资源(如 iops、吞吐)占用情况,并且能够分析出资源占用最大的进程,方便定位问题。

IO hang 诊断:IO hang 对于系统来说可谓灾难,及时发现,并将 IO 流量切换到正常的存储设备上,隔离异常的存储设备非常重要,该监控项监控系统每个存储设备的 IO 访问路径上是否存在 IO  hang 问题。


网络诊断中心

网络丢包诊断:丢包诊断通过监控记录丢包的事件、丢包的硬件或网卡设备、丢包点和次数以及丢包原因。帮助用户诊断定位网络丢包的问题。

网络抖动诊断:抖动诊断目前支持 icmp 报文。其包含两个部分,一个是 ping 发起端的报文时延,即发送报文路径,另外一个是 ping 接收端的报文时延,即接收报文路径。

网络重传诊断:重传诊断通过记录重传的时间、IP、TCP socket 所处的状态和拥塞状态,帮助用户了解网络重传发生的情况。


内存诊断中心

内存 Cache 分析:内存 Cache 分析功能用于解析系统中或容器组和容器内部文件缓存和共享内存对应的文件,以及文件缓存活跃和非活跃的占比。

内存 OOM 诊断:OOM(Out of memory)是生产环境中常见的异常,当 OOM 发生时伴随着大量内核日志,而这些内核日志往往难于分析。该诊断可以帮助用户定位系统 cgroup 发生定位内存泄漏、cpuset、mempolicy 的原因等设置不合理导致的 OOM。


自定义诊断中心

命令诊断:考虑到运维人员诊断问题时会有各种各样的场景,而这些场景有可能是SysOM现有的一些诊断功能无法精确覆盖到的,因此新增了一个命令诊断功能,支持用户像平常终端输入命令一样,自定义输入自己需要的命令,然后可以查看返回的结果。

04 整体架构升级

SysOM 1.0 架构设计适用于在单机上部署全量功能,可以一键式集成主机管理、主机监控、主机诊断、宕机分析和安全检测等强大的运维功能。随着 SysOM 在多个场景的落地以及开源社区的热度升高,功能的新增和管理规模的增长对 SysOM 的架构设计提出了新的需求:

  • 支持大规模场景。
  • 支持快速功能扩展。


针对上述需求,SysOM 2.0 对整体的架构设计进行了全面升级,使整个平台可以更加灵活快速的部署和接入新的服务:

1. SysOM 将后端各个组件微服务化,实现部署分离,在大规模场景下支持分布式容器化部署,并且可以根据各个微服务的负载对指定微服务进行水平扩容。

2. SysOM 引入通用事件中心(Common Event Center,CEC)支撑微服务间的异步通信,促进微服务间的解耦,保证高内聚、低耦合、职责单一、关系清晰,同时可插拔式的设计可以兼容各种类型的消息队列(Message Queue,MQ)技术,在不修改代码的情况下在多种MQ之间灵活切换。

3. SysOM 提供了统一的通道能力,各个微服务可以使用通道 SDK(Channel SDK)对节点(Node)进行命令执行、文件下发和文件下载等功能,其插拔式的设计可以快速支持各种不同类型的通道,并且通道微服务采用全异步编程,大大提升了并行处理能力。

8.png

(图/SysOM 2.0 架构图)


05 使用实践

下载 rpm 包

wget https://gitee.com/anolis/sysom/releases/download/v2.0/sysom-2.0-1.an8.x86_64.rpm

安装 rpm 包

rpm -ivh sysom-2.0-1.an8.x86_64.rpm
# 或 yum install -y sysom-2.0-1.an8.x86_64.rpm
  • 默认安装路径为 /usr/local/sysom 下
  • 默认配置使用的 nginx 对外端口为 80,可以通过 export SERVER_PORT=xxx 来设置
  • 默认配置的内网IP是通过 ip -4 route 命令查找的第一个 IP,可以通过 export SERVER_LOCAL_IP=xxx.xxx.xxx.xxx 来设置

启动

# 使用以下命令进行启动:
bash -x /usr/local/sysom/init_scripts/server/init.sh

当服务日志输出下列日志表示部署成功:

Oct 10 12:58:51 mfeng bash[3217754]: /usr/local/sysom/init_scripts/server
Oct 10 12:58:51 mfeng bash[3217754]: + for dir in `ls`
Oct 10 12:58:51 mfeng bash[3217754]: + '[' -d init.sh ']'
Oct 10 12:58:51 mfeng bash[3217754]: + for dir in `ls`
Oct 10 12:58:51 mfeng bash[3217754]: + '[' -d stop.sh ']'
Oct 10 12:58:51 mfeng bash[3217754]: + sed -i 's/^FIRST_INIT_DONE=0/FIRST_INIT_DONE=1/g'     /usr/local/sysom/init_scripts/server/init.sh

通过 WEB 前端访问

部署成功之后,可以通过访问部署时指定的公网/私网地址访问 SysOM 前端,比如 http://172.22.3.238。

默认的用户名密码:admin/123456

SysOM 提供了 Demo 体验网站,可以访问:http://sysom.openanolis.cn

9.png

06 系列直播预告

10.png

直播预告: 周二(今天)16:00-17:00 ,龙蜥社区邀请了系统运维 SIG Contributor 阙建明分享《SysOM 2.0 特性及架构介绍》,带大家了解 SysOM 2.0 的架构设计、新增的功能特性以及如何快速扩展 SysOM。快来扫描海报二维码入群,预定前排小板凳观看直播!

07 关于SysOM

SysOM 是龙蜥社区系统运维 SIG 成员基于其业务真实场景打磨而成的,集监控、告警、诊断、修复、安全能力于一体的操作系统运维平台。目前 SysOM 已经开源到龙蜥社区,详见龙蜥社区系统运维 SIG,欢迎大家参与讨论、使用、共建。


龙蜥社区系统运维 SIG:https://openanolis.cn/sig/sysom

SysOM 项目 gitee:https://gitee.com/anolis/sysom


相关阅读:

系统运维 SysOM profiling 在云上环境的应用观测实践

SysOM 案例解析:消失的内存都去哪了 !

龙蜥正式开源 SysOM:百万级实战经验打造!一站式运维管理平台

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
10天前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
|
2月前
|
人工智能 Anolis
|
2月前
|
运维 算法 调度
深入理解操作系统:进程调度与优先级自动化运维:使用Ansible实现服务器集群管理
【8月更文挑战第27天】在操作系统的众多奥秘中,进程调度无疑是一个既简单又复杂的主题。它就像是交响乐团中的指挥,协调着每一个音符,确保乐曲和谐而有序地进行。本文将带领读者走进进程调度的世界,探索其背后的原理和实现,同时通过代码示例揭示其精妙之处。让我们一起揭开进程调度的神秘面纱,理解它在操作系统中的重要性。
|
2月前
|
测试技术 Android开发 iOS开发
Appium 是一个开源的自动化测试框架,它支持多种平台和多种编程语言
Appium是一款开源自动化测试框架,支持iOS和Android多平台及多种编程语言。通过WebDriver协议,开发者可编写自动化测试脚本。在iPhone上实现屏幕点击等操作需安装Appium及其依赖,启动服务器,并设置所需的测试环境参数。利用Python等语言编写测试脚本,模拟用户交互行为,最后运行测试脚本来验证应用功能。对于iPhone测试,需准备真实设备或Xcode模拟器。
67 1
|
2月前
|
Web App开发 敏捷开发 测试技术
自动化测试框架的设计与实现探索操作系统的心脏:内核与用户空间的交互
【8月更文挑战第26天】本文旨在探讨自动化测试框架的设计原则、核心组件和实现方法。通过分析自动化测试的优势,我们深入讨论了框架设计的关键考虑因素,包括模块化、可重用性、可扩展性和易维护性。文章还介绍了如何利用流行的测试工具和编程语言来实现一个高效的自动化测试框架,并通过实例展示了框架的应用。
|
3月前
|
敏捷开发 监控 Devops
自动化测试框架的选择与实践揭秘操作系统的心脏:内核
【7月更文挑战第31天】在软件开发的生命周期中,测试阶段占据着举足轻重的地位。随着敏捷开发的流行和DevOps文化的渗透,自动化测试成为提升软件交付速度和质量的关键工具。本文将探讨自动化测试框架的选择标准,并通过一个实际案例来展示如何有效实施自动化测试策略,旨在为读者提供一套清晰的指导思路和实操经验。
21 0
|
3月前
|
弹性计算 运维 自然语言处理
属于Basis运维的、在Linux平台上运行的大模型测评 OS Copilot智能助手测评
OS Copilot是阿里云为Linux打造的智能操作系统助手,基于大模型,助用户进行自然语言问答、命令执行和系统运维。它简化了Linux操作,适合新手和运维人员。测评者作为IT架构师,发现OS Copilot使非技术背景人员也能操作Linux,接入命令可在官方文档找到。测试显示,通过"co"命令可与OS Copilot交互,实现生产任务融合。该工具提高了工作效率,尤其是对于遗忘具体命令时,非常有帮助。文档清晰,适合生产环境使用,值得进一步探索。
69 0
|
4月前
|
安全 开发工具 虚拟化
6 大亮点!全新 Anolis OS 23.1 GA 版正式发布,满足多样化平台支持
结合新时代技术发展需求,龙蜥正式发布全新发行版 Anolis OS 23.1。
|
4月前
|
消息中间件 Kubernetes Kafka
AutoMQ 自动化持续测试平台技术内幕
Marathon 是一个针对流系统 AutoMQ 的自动化持续测试平台,旨在在模拟生产环境和各种故障场景中验证 SLA 的可靠性。设计原则包括易拓展、可观测和低成本。平台采用分布式架构,Controller 负责资源管理和任务编排,动态调整 Worker 数量和配置,而 Worker 是无状态的,用于生成负载和上报数据。系统基于 K8S,利用服务发现、事件总线和 Spot 实例降低成本并提高弹性。测试场景以代码形式描述,支持不同流量模型和断言,提供丰富的可观测性和告警功能。未来,Marathon 有望泛化为适用于各种分布式系统的测试平台。
48 0
AutoMQ 自动化持续测试平台技术内幕
|
5月前
|
JSON 数据管理 测试技术
自动化测试工具Selenium Grid的深度应用分析深入理解操作系统的内存管理
【5月更文挑战第28天】随着互联网技术的飞速发展,软件测试工作日益复杂化,传统的手工测试已无法满足快速迭代的需求。自动化测试工具Selenium Grid因其分布式执行特性而受到广泛关注。本文旨在深入剖析Selenium Grid的工作原理、配置方法及其在复杂测试场景中的应用优势,为测试工程师提供高效测试解决方案的参考。
下一篇
无影云桌面