长期支持版本

    使用kickstart自动化安装

    总体介绍

    概述

    用户可以使用kickstart工具进行openEuler系统的自动化安装,包括如下两种方式:

    • 半自动化安装:安装人员不需要手动设定操作系统的键盘、语言、分区等具体属性(通过kickstart实现自动化),但是需要手动指定kickstart文件的位置。
    • 全自动化安装:实现操作系统的安装过程全自动化。

    优缺点对比

    使用kickstart工具进行半自动化安装和全自动化安装的优缺点对比如表1所示,用户可以自行选择安装方式。

    表 1 优缺点对比

    安装方式

    优点

    缺点

    半自动化安装

    不需要准备tftp,pxe,dhcp等服务

    需要手动指定kickstart文件的位置

    全自动化安装

    操作系统的全自动化安装

    需要配置tftp,dhcp,pxe等服务

    背景知识

    kickstart

    kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个配置文件(ks.cfg),在安装过程中,安装程序首先会查找ks配置文件,如果查找到合适的参数,就采用所找到的参数;如果未找到合适的参数,便需要安装者手工设定。所以,如果kickstart文件涵盖了安装过程中需要设定的所有参数,安装者只需要告诉安装程序从何处获取ks.cfg文件,就能实现系统安装的自动化。

    kickstart 安装提供一个安装过程自动化的方法,可以是部分自动化,也可以是完全自动化。

    kickstart 采用开源 pykickstart(https://github.com/pykickstart/pykickstart)来对ks.cfg文件进行语法解析。

    PXE

    PXE(Pre-boot Execution Environment,预启动执行环境),工作于Client/Server的网络模式,支持PXE的客户端在启动过程中,能够从DHCP服务器获取IP结合TFTP(Trivial File Transfer Protocol)等协议可以实现客户端的网络引导和安装。

    TFTP

    TFTP(Trivial File Transfer Protocol,简单文件传输协议),该协议用来实现客户机与服务器之间的简单文件传输,它提供不复杂、开销不大的文件传输服务。

    半自动化安装指导

    环境要求

    使用kickstart进行openEuler系统的半自动化安装的环境要求如下:

    • 物理机/虚拟机(虚拟机创建可参考对应厂商的资料): 包括使用kickstart工具进行自动化安装的计算机和被安装的计算机。
    • httpd: 存放kickstart文件。
    • ISO: openEuler-{版本号}-{架构}-dvd.iso。下文中均以openEuler-23.03-aarch64-dvd.iso作为示例。

    操作步骤

    使用kickstart进行openEuler系统的半自动化安装的操作步骤如下:

    环境准备

    说明:
    安装之前,请确保http服务器的防火墙处于关闭状态。关闭防火墙可参照如下命令:

    #清空防火墙规则
    iptables -F  
    #关闭防火墙
    systemctl stop firewalld    
    #禁止开机启动防火墙
    systemctl disable firewalld
    
    1. httpd的安装与服务启动。

      # dnf install httpd -y
      # systemctl start httpd
      # systemctl enable httpd
      
    2. kickstart文件的准备。

      # mkdir /var/www/html/ks
      # vim /var/www/html/ks/openEuler-ks.cfg ===>根据已安装openEuler系统自动生成的anaconda-ks.cfg修改得到
      ====================================
      ***以下内容需要根据实际需求进行修改***
      #version=DEVEL
      ignoredisk --only-use=sda
      autopart --type=lvm
      # Partition clearing information
      clearpart --none --initlabel
      # Use graphical install
      graphical
      # Use CDROM installation media
      cdrom
      # Keyboard layouts
      keyboard --vckeymap=cn --xlayouts='cn'
      # System language
      lang zh_CN.UTF-8
      
      # Network information
      network  --bootproto=dhcp --device=enp4s0 --ipv6=auto --activate
      network  --hostname=openeuler.com
      # Root password
      rootpw --iscrypted $6$fQE83lxEZ48Or4zc$j7/PlUMHn29yTjCD4Fi44WTZL/RzVGxJ/7MGsZMl6QfE3KjIVT7M4UrhFXbafvRq2lUddAFcyWHd5WRmXfEK20
      # Run the Setup Agent on first boot
      firstboot --enable
      # Do not configure the X Window System
      skipx
      # System services
      services --disabled="chronyd"
      # System timezone
      timezone Asia/Shanghai --utc --nontp
      
      %packages
      @^minimal-environment
      @standard
      
      %end
      
      %post
      #enable kdump
      sed  -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg
      %end
      =====================================
      

      说明:
      密码密文生成方式:

      # python3  
      Python 3.7.0 (default, Apr  1 2019, 00:00:00)  
      [GCC 7.3.0] on linux  
      Type "help", "copyright", "credits" or "license" for more information.  
      >>> import crypt  
      >>> passwd = crypt.crypt("myPasswd")  
      >>> print (passwd)  
      $6$63c4tDmQGn5SDayV$mZoZC4pa9Jdt6/ALgaaDq6mIExiOO2EjzomB.Rf6V1BkEMJDcMddZeGdp17cMyc9l9ML9ldthytBEPVcnboR/0  
      
    3. 将ISO镜像文件挂载到需要安装openEuler计算机的光驱上。

      另外,也可以选择NFS等网络安装,kickstart文件中需要指定安装源位置(默认是cdrom)。

    安装系统

    1. 启动系统进入安装选择界面。

      1. 在“启动安装”中的“安装引导界面”中选择“Install openEuler 23.03”,并按下“e”键。

      2. 启动参数中追加“inst.ks=http://{server_ip}/ks/openEuler-ks.cfg”。

      3. 按“Ctrl+x”,开始系统的自动安装。

    2. 确认系统安装完毕。

      系统安装完毕以后会自动重启,如果优先从光驱启动,会再次进入到安装界面,此时关闭计算机,调整启动顺序(优先从硬盘启动)。

    全自动化安装指导

    环境要求

    使用kickstart进行openEuler系统的全自动化安装的环境要求如下:

    • 物理机/虚拟机(虚拟机创建可参考对应厂商的资料):包括使用kickstart工具进行自动化安装的计算机和被安装的计算机。
    • httpd:存放kickstart文件。
    • tftp:提供vmlinuz和initrd文件。
    • dhcpd/pxe:提供DHCP服务。
    • ISO: openEuler-{版本号}-{架构}-dvd.iso。下文中均以openEuler-23.03-aarch64-dvd.iso作为示例。

    操作步骤

    使用kickstart进行openEuler系统的全自动化安装的操作步骤如下:

    环境准备

    说明:
    安装之前,请确保http服务器的防火墙处于关闭状态。关闭防火墙可参照如下命令:

    #清空防火墙规则
    iptables -F
    #关闭防火墙
    systemctl stop firewalld    
    #禁止开机启动防火墙
    systemctl disable firewalld
    
    1. httpd的安装与服务启动。

      # dnf install httpd -y
      # systemctl start httpd
      # systemctl enable httpd
      
    2. tftp的安装与配置。

      # dnf install tftp-server xinetd -y
      # vim /etc/xinetd.d/tftp
      service tftp
      {
      socket_type = dgram
      protocol = udp
      wait = yes
      user = root
      server = /usr/sbin/in.tftpd
      server_args = -s /var/lib/tftpboot
      disable = no
      per_source = 11
      cps = 100 2
      flags = IPv4
      }
      # systemctl start tftp
      # systemctl enable tftp
      # systemctl start xinetd
      # systemctl status xinetd
      # systemctl enable xinetd
      
    3. 安装源的制作。

      # mount openEuler-23.03-aarch64-dvd.iso /mnt
      # cp -r /mnt/* /var/www/html/openEuler/
      
    4. 设置和修改kickstart配置文件 openEuler-ks.cfg,参考3安装源的目录,此处选择http安装源。

      #vim  /var/www/html/ks/openEuler-ks.cfg
      ====================================
      ***以下内容根据实际需求进行修改***
      #version=DEVEL
      ignoredisk --only-use=sda
      autopart --type=lvm
      # Partition clearing information
      clearpart --none --initlabel
      # Use graphical install
      graphical
      # Keyboard layouts
      keyboard --vckeymap=cn --xlayouts='cn'
      # System language
      lang zh_CN.UTF-8
      #Use http installation source
      url --url=http://192.168.122.1/openEuler/
      %post
      #enable kdump
      sed  -i "s/ ro / ro crashkernel=1024M,high /" /boot/efi/EFI/openEuler/grub.cfg
      %end
      ...
      
    5. 修改pxe配置文件grub.cfg, 可参考如下内容(注意:openEuler当前不支持bls格式的cfg文件,如果架构是x86_64,请将grubaa64.efi替换成grubx64.efi)。

      # cp -r /mnt/images/pxeboot/* /var/lib/tftpboot/
      # cp /mnt/EFI/BOOT/grubaa64.efi /var/lib/tftpboot/
      # cp /mnt/EFI/BOOT/grub.cfg /var/lib/tftpboot/
      # ls /var/lib/tftpboot/
      grubaa64.efi  grub.cfg  initrd.img  TRANS.TBL  vmlinuz
      # vim /var/lib/tftpboot/grub.cfg
      set default="1"
      
      function load_video {
        if [ x$feature_all_video_module = xy ]; then
          insmod all_video
        else
          insmod efi_gop
          insmod efi_uga
          insmod ieee1275_fb
          insmod vbe
          insmod vga
          insmod video_bochs
          insmod video_cirrus
        fi
      }
      
      load_video
      set gfxpayload=keep
      insmod gzio
      insmod part_gpt
      insmod ext2
      
      set timeout=60
      
      
      ### BEGIN /etc/grub.d/10_linux ###
      menuentry 'Install openEuler 23.03' --class red --class gnu-linux --class gnu --class os {
              set root=(tftp,192.168.122.1)
              linux /vmlinuz ro inst.geoloc=0 console=ttyAMA0 console=tty0 rd.iscsi.waitnet=0 inst.ks=http://192.168.122.1/ks/openEuler-ks.cfg
              initrd /initrd.img
      }
      
    6. DHCP的配置(可以使用dnsmasq代替,如果架构是x86_64,请将grubaa64.efi替换成grubx64.efi)。

      # dnf install dhcp -y
      #
      # vim /etc/dhcp/dhcpd.conf
      #
      # DHCP Server Configuration file.
      #   see /usr/share/doc/dhcp-server/dhcpd.conf.example
      #   see dhcpd.conf(5) man page
      #
      ddns-update-style interim;
      ignore client-updates;
      filename "grubaa64.efi";    # pxelinux 启动文件位置;
      next-server 192.168.122.1;  # (重要)TFTP Server 的IP地址;
      subnet 192.168.122.0 netmask 255.255.255.0 {
      option routers 192.168.122.1; # 网关地址
      option subnet-mask 255.255.255.0; # 子网掩码
      range dynamic-bootp 192.168.122.50 192.168.122.200; # 动态ip范围
      default-lease-time 21600;
      max-lease-time 43200;
      }
      # systemctl start dhcpd
      # systemctl enable dhcpd
      

    安装系统

    1. 在“Start boot option”界面按下“F2”选择从网络pxe启动,开始自动化安装。

    2. 进入系统全自动化安装界面。

    3. 确认系统安装完毕。

    文档捉虫

    “有虫”文档片段

    问题描述

    提交类型 issue

    有点复杂...

    找人问问吧。

    PR

    小问题,全程线上修改...

    一键搞定!

    问题类型
    规范和低错类

    ● 错别字或拼写错误;标点符号使用错误;

    ● 链接错误、空单元格、格式错误;

    ● 英文中包含中文字符;

    ● 界面和描述不一致,但不影响操作;

    ● 表述不通顺,但不影响理解;

    ● 版本号不匹配:如软件包名称、界面版本号;

    易用性

    ● 关键步骤错误或缺失,无法指导用户完成任务;

    ● 缺少必要的前提条件、注意事项等;

    ● 图形、表格、文字等晦涩难懂;

    ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

    正确性

    ● 技术原理、功能、规格等描述和软件不一致,存在错误;

    ● 原理图、架构图等存在错误;

    ● 命令、命令参数等错误;

    ● 代码片段错误;

    ● 命令无法完成对应功能;

    ● 界面错误,无法指导操作;

    风险提示

    ● 对重要数据或系统存在风险的操作,缺少安全提示;

    内容合规

    ● 违反法律法规,涉及政治、领土主权等敏感词;

    ● 内容侵权;

    您对文档的总体满意度

    非常不满意
    非常满意
    提交
    根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
    文档捉虫
    编组 3备份