openEuler Innovation Project – sysMaster

openEuler Innovation Project – sysMaster

sysMaster is a collection of ultra-lightweight and highly reliable #service management programs. It provides an innovative implementation of #PID 1 to replace the conventional init process. Written in #Rust, sysMaster is equipped with fault #monitoring, second-level self-recovery, and quick startup capabilities, which help improve #OS reliability and service availability.

?

Challenges

In #Linux, PID 1, traditionally the init process, is the parent of all user-mode processes. The #init process is the first process that is created when the system is started. It starts and manages all other processes and ends them when the system is shut down. In modern Linux distributions, init is usually replaced by the systemd process. However, the concept of PID 1 (whose minimum functions include system startup and zombie process recycling) still exists.

?

PID 1 is a key system process and is responsible for system initialization and runtime service management. It faces the following challenges:

  • Poor reliability: The function problem of PID 1 has a bigger impact. When PID 1 is faulty, the OS must be restarted to rectify the fault.
  • High complexity: systemd becomes the de facto standard for PID 1, introducing many new concepts, tools, and extended components that depend on each other. It is difficult to tailor the #components based on actual application scenarios.

?

Project Introduction

Features

sysMaster manages #processes, #containers, and #VMs centrally and provides fault monitoring and self-healing mechanisms to help deal with Linux initialization and service management challenges. All these features make sysMaster the ideal choice for server, cloud computing, and embedded scenarios.

?

sysMaster divides the functions of traditional PID 1 into a 1+1+N architecture based on application scenarios. As shown in the figure, sysMaster consists of three components:

  • sysmaster-init, which is a new implementation of PID 1, features simplified functions, a thousand lines of code (#KLOC), and ultimate reliability. It is applicable to embedded systems with functions such as system initialization, zombie process recycling, and keep-alive monitoring.
  • sysmaster-core undertakes the core service management functions and incorporates the reliability framework to enable live updates and quick #selfrecovery in the event of crashes, ensuring 24/7 service availability.
  • sysmaster-extends offers a collection of components (such as devMaster for device management and #busMaster for bus communication) that deliver key system functions, which are coupled in traditional PID 1. You can choose the components to use as required.

Featuring a simple component architecture, sysMaster improves the scalability and adaptability of the overall system architecture while reducing development and maintenance costs. sysMaster provides the following advantages:

  • Live updates and self-recovery in seconds in the event of crashes
  • Faster startup speed with lower memory overhead
  • Plugin-based service types that can be dynamically loaded as required
  • Migration tools that provide seamless migration from systemd to sysMaster
  • Unified interfaces that work with the iSulad container engine and #QEMU for management of #container and #virtualization instances

?

In the future, sysMaster will extend to more scenarios and have its architecture and performance further optimized for higher scalability and adaptability. In addition, new features and components will be developed to meet the requirements of container, virtualization, and #edge computing scenarios. These features will make sysMaster a powerful, efficient, and user-friendly system management framework.

?

Application Scenarios

sysMaster can be used in containers, virtualization, servers, and edge devices to deliver a reliable and lightweight experience.

?

Repositories

https://gitee.com/openeuler/sysmaster

要查看或添加评论,请登录

openEuler的更多文章

社区洞察

其他会员也浏览了