长期支持版本

    社区创新版本

      准备虚拟机

      本章介绍使用 virt manager 安装虚拟机的方法,如果您已经准备好虚拟机,可以跳过本章节。

      安装依赖工具

      安装虚拟机,会依赖相关工具,安装依赖并使能 libvirtd 服务的参考命令如下(如果需要代理,请先配置代理):

      $ dnf install virt-install virt-manager libvirt-daemon-qemu edk2-aarch64.noarch virt-viewer
      $ systemctl start libvirtd
      $ systemctl enable libvirtd
      

      准备虚拟机磁盘文件

      $ dnf install -y qemu-img
      $ virsh pool-define-as vmPool --type dir --target /mnt/vm/images/
      $ virsh pool-build vmPool
      $ virsh pool-start vmPool
      $ virsh pool-autostart  vmPool
      $ virsh vol-create-as --pool vmPool --name master0.img --capacity 200G --allocation 1G --format qcow2
      $ virsh vol-create-as --pool vmPool --name master1.img --capacity 200G --allocation 1G --format qcow2
      $ virsh vol-create-as --pool vmPool --name master2.img --capacity 200G --allocation 1G --format qcow2
      $ virsh vol-create-as --pool vmPool --name node1.img --capacity 300G --allocation 1G --format qcow2
      $ virsh vol-create-as --pool vmPool --name node2.img --capacity 300G --allocation 1G --format qcow2
      $ virsh vol-create-as --pool vmPool --name node3.img --capacity 300G --allocation 1G --format qcow2
      

      打开 VNC 防火墙端口

      方法一

      1. 查询端口

        $ netstat -lntup | grep qemu-kvm
        
      2. 打开 VNC 的防火墙端口。假设端口从 5900 开始,参考命令如下:

        $ firewall-cmd --zone=public --add-port=5900/tcp
        $ firewall-cmd --zone=public --add-port=5901/tcp
        $ firewall-cmd --zone=public --add-port=5902/tcp
        $ firewall-cmd --zone=public --add-port=5903/tcp
        $ firewall-cmd --zone=public --add-port=5904/tcp
        $ firewall-cmd --zone=public --add-port=5905/tcp
        

      方法二

      直接关闭防火墙

      $ systemctl stop firewalld
      

      准备虚拟机配置文件

      创建虚拟机需要虚拟机配置文件。假设配置文件为 master.xml ,以虚拟机 hostname 为 k8smaster0 的节点为例,参考配置如下:

       cat master.xml
      
      <domain type='kvm'>
          <name>k8smaster0</name>
          <memory unit='GiB'>8</memory>
          <vcpu>8</vcpu>
          <os>
      	<type arch='aarch64' machine='virt'>hvm</type>
      	<loader readonly='yes' type='pflash'>/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw</loader>
      	<nvram>/var/lib/libvirt/qemu/nvram/k8smaster0.fd</nvram>
          </os>
          <features>
      	<acpi/>
      	<gic version='3'/>
          </features>
          <cpu mode='host-passthrough'>
              <topology sockets='2' cores='4' threads='1'/>
          </cpu>
          <iothreads>1</iothreads>
          <clock offset='utc'/>
          <on_poweroff>destroy</on_poweroff>
          <on_reboot>restart</on_reboot>
          <on_crash>restart</on_crash>
          <devices>
      	<emulator>/usr/libexec/qemu-kvm</emulator>
      	<disk type='file' device='disk'>
      	    <driver name='qemu' type='qcow2' iothread="1"/>
      	    <source file='/mnt/vm/images/master0.img'/>
      	    <target dev='vda' bus='virtio'/>
      	    <boot order='1'/>
      	</disk>
      	<disk type='file' device='cdrom'>
      	    <driver name='qemu' type='raw'/>
      	    <source file='/mnt/openEuler-21.03-everything-aarch64-dvd.iso'/>
      	    <readonly/>
      	    <target dev='sdb' bus='scsi'/>
      	    <boot order='2'/>
      	</disk>
              <interface type='network'>
                 <mac address='52:54:00:00:00:80'/>
                 <source network='default'/>
                 <model type='virtio'/>
              </interface>
      	<console type='pty'/>
              <video>
                 <model type='virtio'/>
              </video>
              <controller type='scsi' index='0' model='virtio-scsi'/>
      	<controller type='usb' model='ehci'/>
      	<input type='tablet' bus='usb'/>
      	<input type='keyboard' bus='usb'/>
      	<graphics type='vnc' listen='0.0.0.0'/>
          </devices>
          <seclabel type='dynamic' model='dac' relabel='yes'/>
      </domain>
      

      由于虚拟机相关配置必须唯一,新增虚拟机需要在master.xml文件中适配修改如下内容,保证虚拟机的唯一性:

      • name:虚拟机 hostname,建议尽量小写。例中为 k8smaster0
      • nvram:nvram的句柄文件路径,需要全局唯一。例中为 /var/lib/libvirt/qemu/nvram/k8smaster0.fd
      • disk 的 source file:虚拟机磁盘文件路径。例中为 /mnt/vm/images/master0.img
      • interface 的 mac address:interface 的 mac 地址。例中为 52:54:00:00:00:80

      安装虚拟机

      1. 创建并启动虚拟机

        $ virsh define master.xml
        $ virsh start k8smaster0
        
      2. 获取虚拟机的 VNC 端口号

        $ virsh vncdisplay k8smaster0
        
      3. 使用虚拟机连接工具,例如 VNC Viewer 远程连接虚拟机,并根据提示依次选择配置,完成系统安装

      4. 设置虚拟机 hostname,例如设置为 k8smaster0

        $ hostnamectl set-hostname k8smaster0
        

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

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

      一键搞定!

      问题类型
      规范和低错类

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

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

      ● 英文中包含中文字符;

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

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

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

      易用性

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

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

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

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

      正确性

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

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

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

      ● 代码片段错误;

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

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

      风险提示

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

      内容合规

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

      ● 内容侵权;

      您对文档的总体满意度

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