文 / 零碎运维 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 做充沛的信息决策的筹备。
迁徙评估性能包含:
- 迁徙危险评估,针对操作系统进行全面的迁徙操作危险评估。
- 零碎评估,针对迁徙前后零碎内置环境变量、服务命令、内核零碎调用等等零碎级配置进行评估。
- 硬件评估,针对零碎硬件信息和板卡信息进行评估。
- 利用评估,针对零碎已装置的利用进行兼容性评估。
(图 / 迁徙评估)
(图 / 迁徙评估报告)
迁徙施行:当用户实现迁徙评估之后,能够通过迁徙施行的界面操作来实现零碎迁徙。为了防止在迁徙过程发生意外或迁徙后果不如预期,用户能够通过界面提前进行零碎备份。迁徙施行性能反对单机迁徙和批量迁徙,反对单步迁徙和一键迁徙,反对备份还原和离线迁徙等性能。
迁徙施行流程蕴含:
- 施行配置,针对施行配置的一些操作。
- 零碎备份,如果有须要则会对以后零碎进行备份。
- 环境筹备,迁徙前的环境筹备和工具部署。
- 危险评估,施行迁徙会进行一次危险评估。
- 迁徙施行,当危险评估通过之后,将执行零碎迁徙操作。
- 重启机器,迁徙施行实现之后须要重启机器,当机器重启胜利后,零碎切换为 Anolis OS,标记着本次零碎迁徙实现。
如果用户对系统进行了备份,能够随时应用系统还原性能将以后系统还原为未迁徙的状态。
(图 / 批量迁徙施行)
(图 / 迁徙施行)
02 监控核心
SysOM 2.0 新增迁徙监控报表性能,该项性能对迁徙前后零碎的资源总额应用状况、根底指标变化趋势以及指标稳定等进行采集和可视化展现,能够让用户更加直观地感触迁徙前后,操作系统的变动状况。同时,通过在迁徙前后运行一段时间测试工作,能够对理论业务在两种操作系统上运行的性能有一个直观的比照成果。
资源变更监控
迁徙监控会对迁徙前后罕用资源的变更状况和变更趋势进行可视化展现,能够直观的比照迁徙前后零碎的资源变更状况。
(图 / 迁徙监控)
根底指标监控
同时迁徙监控会对罕用指标(CPU、内存、网络、IO、磁盘)进行监控,对每个指标的实时值、变化趋势、以及稳定幅度进行可视化展现,能够直观的比照迁徙前后各个指标在工夫维度上的稳定状况。
(图 / 根底监控)
03 诊断核心
SysOM 2.0 提供调度、存储、网络、内存等全方位的诊断,帮忙操作系统用户进行全方位的问题排查和定位。新增诊断性能:调度抖动诊断、IO 时延剖析、IO hang 诊断、网络丢包诊断、网络抖动诊断、网络重传诊断、内存 Cache 剖析、内存 OOM 诊断和反对自定义命令下发性能。
调度诊断核心
调度抖动诊断:在零碎运维场景中,CPU 长时间在 sys 态执行,导致用户态程序得不到调度;零碎长时间关中断,导致 CPU 无奈失常接管 TICK 中断、引发调度抖动问题。这两种状况下往往随同着业务过程突发调度提早,甚至零碎短暂 hang。调度抖动记录了调度抖动产生的工夫点、产生的次数、和抖动的具体数值,来帮忙用户更好的定位该场景下产生的问题。
存储诊断核心
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 对整体的架构设计进行了全面降级,使整个平台能够更加灵便疾速的部署和接入新的服务:
- SysOM 将后端各个组件微服务化,实现部署拆散,在大规模场景下反对分布式容器化部署,并且能够依据各个微服务的负载对指定微服务进行程度扩容。
- SysOM 引入通用事件核心(Common Event Center,CEC)撑持微服务间的异步通信,促成微服务间的解耦,保障高内聚、低耦合、职责繁多、关系清晰,同时可插拔式的设计能够兼容各种类型的音讯队列(Message Queue,MQ)技术,在不批改代码的状况下在多种 MQ 之间灵便切换。
- SysOM 提供了对立的通道能力,各个微服务能够应用通道 SDK(Channel SDK)对节点(Node)进行命令执行、文件下发和文件下载等性能,其插拔式的设计能够疾速反对各种不同类型的通道,并且通道微服务采纳全异步编程,大大晋升了并行处理能力。
(图 /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/
06 系列直播预报
直播预报:周二(明天)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:百万级实战经验打造!一站式运维治理平台
—— 完 ——