安装与部署

sysmaster可应用于容器和虚拟机,本文档将以 aarch64系统为例说明如何在各场景下进行安装与部署。

软件要求

  • 操作系统:openEuler 22.03 LTS SP4

硬件要求

  • x86_64架构、aarch64架构

容器场景安装与部署

  1. 安装 docker。

    bash
    yum install -y docker
    systemctl restart docker
  2. 加载基础容器镜像。

    下载容器镜像:

    bash
    wget https://repo.openeuler.org/openEuler-22.03-LTS-SP4/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
    xz -d openEuler-docker.aarch64.tar.xz

    加载容器镜像:

    bash
    docker load --input openEuler-docker.aarch64.tar
  3. 构建容器。

    基于 docker images命令查询得到的镜像名创建 Dockerfile,以 openEuler-22.03-LTS-SP4为例。

    bash
    cat << EOF > Dockerfile
    FROM openEuler-22.03-LTS-SP4
    RUN yum install -y sysmaster
    CMD ["/usr/lib/sysmaster/init"]
    EOF

    构建容器:

    bash
    docker build -t openEuler-22.03-LTS-SP4:latest .
  4. 启动并进入容器。

    启动容器:

    bash
    docker run -itd --privileged openEuler-22.03-LTS-SP4:latest

    获取CONTAINERID

    bash
    docker ps

    使用上一步获取到 CONTAINERID进入容器:

    bash
    docker exec -it CONTAINERID /bin/bash

虚拟机场景安装与部署

  1. initramfs镜像制作。

    为了避免 initrd阶段 systemd的影响,需要制作一个剔除 systemdinitramfs镜像,并以该镜像进入 initrd流程。使用如下命令:

    bash
    dracut -f --omit "systemd systemd-initrd systemd-networkd dracut-systemd" /boot/initrd_withoutsd.img
  2. 新增启动项。

    grub.cfg中增加新的启动项,aarch64下的路径为 /boot/efi/EFI/openEuler/grub.cfgx86_64下的路径为 /boot/grub2/grub.cfg,拷贝一份原有启动项,并做以下几处修改:

    • menuentry 设置启动项名称为 openEuler sysmaster
    • linux 项内核启动参数修改 root=/dev/mapper/openeuler-root roroot=/dev/mapper/openeuler-root rw
    • linux 项内核启动参数修改 plymouth,如果环境上安装了 plymouth, 需要添加 plymouth.enable=0 禁用 plymouth
    • linux 项内核启动参数增加 init=/usr/lib/sysmaster/init
    • initrd 项修改为 /initrd_withoutsd.img
  3. 安装 sysmaster。

    bash
    yum install sysmaster
  4. 重启后出现 openEuler sysmaster启动项表示已成功配置,选择此启动项进入虚拟机。