Linux vm

当虚拟机类型为Linux时,请使用对应操作系统的模板创建虚拟机。您可以使用Citrix Hypervisor为您的操作系统提供的模板,也可以使用您之前创建的模板。您可以通过XenCenter和CLI两种方式创建虚拟机。本节主要介绍如何使用CLI。

注意:

要创建一个比Citrix Hypervisor支持安装的RHEL版本更新的虚拟机,请完成以下步骤:

  • 从最新支持的媒体进行安装
  • 使用yum更新以更新虚拟机

对于CentOS、Oracle Linux等RHEL衍生产品,也适用此流程。

建议在安装完操作系统后立即安装Citrix VM Tools for Linux。有关更多信息,请参见安装Citrix VM Tools for Linux

Linux虚拟机创建流程概述如下:

  1. 使用XenCenter或CLI为目标操作系统创建虚拟机。

  2. 使用厂商提供的安装介质安装操作系统。

  3. 安装Citrix VM Tools for Linux(推荐)

  4. 在虚拟机和VNC上配置正确的时间和时区,就像在普通的非虚拟环境中一样。

Citrix Hypervisor支持将多种Linux发行版作为虚拟机安装。

警告:

其他安装介质模板适用于想要安装运行不支持的操作系统的虚拟机的高级用户。已经对Citrix Hypervisor进行了测试,只运行受支持的发行版和标准提供的模板所涵盖的特定版本。安装的虚拟机其他安装介质模板是支持。

有关特定Linux发行版的信息,请参见Linux发行版的安装注意事项

支持的Linux发行版

有关受支持的Linux发行版列表,请参见客户操作系统支持

其他Linux发行版包括支持。但是,使用与Red Hat Enterprise Linux相同安装机制的发行版(例如Fedora Core)可以使用相同的模板成功安装。

创建Linux虚拟机

介绍通过命令行方式,通过物理光驱或可通过网络访问的ISO安装操作系统,创建Linux虚拟机的操作步骤。

  1. 根据模板创建虚拟机。返回虚拟机UUID:

    Xe vm-install template=template-name new-name-label=vm-name 
  2. 为新创建的虚拟机添加虚拟光驱:

    • 如果从CD或DVD安装,请获取Citrix Hypervisor服务器上的物理CD驱动器的名称:

      cd-list 

      该命令的结果显示的是SCSI 0:0:0:0品牌)字段。

      使用此值参数作为cd-name参数:

      Xe vm-cd-add vm=vm_name cd-name="host_cd_drive_name_label" device=3 
    • 如果从网络可访问的ISO进行安装,请使用ISO库标签中的ISO名称作为cd-name参数:

      Xe vm-cd-add vm=vm_name cd-name="iso_name. exe "Iso " device=3 
  3. 将操作系统安装光盘放入Citrix Hypervisor服务器的光驱中。

  4. 使用XenCenter或SSH终端打开虚拟机控制台,按照操作步骤安装操作系统。

  5. 启动虚拟机。它直接引导到操作系统安装程序:

    xe vm-start uuid= uuid 
  6. 安装来宾实用程序并配置图形显示。有关更多信息,请参见安装Citrix VM Tools for Linux

该任务指导软件调测工程师通过PXE方式创建Linux虚拟机

通过PXE引导方式安装Linux虚拟机操作系统。当您必须创建许多Linux虚拟机时,这种方法非常有用。

要使用PXE引导方式安装,请在Linux虚拟机所在网络中设置以下前提条件:

  • DHCP服务器,配置为将任何PXE引导安装请求定向到TFTP服务器
  • Linux操作系统安装文件所在的TFTP服务器

在创建Linux虚拟机时,需要执行以下命令:

  1. 根据模板创建虚拟机。返回虚拟机UUID:

    Xe vm-install template=template-name new-name-label=vm-name 
  2. 设置引导顺序为先从磁盘引导,然后从网络引导:

    HVM-boot-params:order=cn 
  3. 启动虚拟机,开始PXE引导安装。

    xe vm-start uuid=< uuid > 
  4. 安装来宾实用程序并配置图形显示。有关更多信息,请参见安装Citrix VM Tools for Linux

有关使用PXE引导安装Linux操作系统的更多信息,请参阅操作系统文档:

安装Citrix VM Tools for Linux

尽管所有受支持的Linux发行版都是原生半虚拟化的(并且不需要特殊的驱动程序来实现完整的性能),但是用于Linux的Citrix VM Tools提供了客户机代理。这个客户机代理向主机提供关于虚拟机的额外信息。该任务指导软件调测工程师在每台Linux虚拟机上安装guest agent,开启DMC功能。

在升级Citrix Hypervisor服务器时,务必使Linux客户机代理保持最新状态。有关更多信息,请参见更新Linux内核和来宾实用程序

注意:

在SUSE Linux Enterprise Desktop或Server 15客户端上安装guest agent之前,请确保insserv 2.15.noarch.rpm——兼容- 0.1已安装在来宾机上。

Citrix VM Tools for Linux的安装方法:

  1. 从网站下载“Citrix VM Tools for Linux”文件Citrix Hypervisor下载页面

  2. 复制LinuxGuestTools-xxx.tar.gz将文件保存到Linux虚拟机中,或保存到Linux虚拟机可访问的共享驱动器中。

  3. 提取tar文件的内容:LinuxGuestTools-xxx.tar.gz

  4. 以root用户执行安装脚本:

    / < extract-directory > / install.sh < !——NeedCopy >
  5. 如果内核已经升级,或者虚拟机是从以前的版本升级的,请立即重启虚拟机。

Linux发行版的安装注意事项

在创建指定的Linux虚拟机之前,需要考虑不同厂商的配置信息。

有关所有发行版的更详细发行说明,请参见Linux虚拟机发行说明

Red Hat Enterprise Linux* 7(32 /64位)

这些客户机的新模板指定2 GB RAM。这个数量的RAM是成功安装v7.4和更高版本的必要条件。对于v7.0 - v7.3,模板指定2gb RAM,但是与以前版本的Citrix Hypervisor一样,1gb RAM就足够了。

注意:

此信息适用于Red Hat和Red Hat衍生产品。

Apt存储库(Debian)

对于不频繁或一次性的安装,直接使用Debian镜像是合理的。但是,如果您打算安装多个VM,我们建议您使用缓存代理或本地镜像。虚拟机支持安装以下两种工具:

  • Apt-cacher代理服务器的一个实现,它保持包的本地缓存
  • debmirror:创建Debian存储库的部分或全部镜像的工具

准备克隆Linux虚拟机

通常,在克隆VM或计算机时,除非您对克隆的映像进行泛化,否则该机器的唯一属性将在您的环境中复制。克隆时复制的一些唯一属性是IP地址、SID或MAC地址。

因此,在克隆Linux虚拟机时,Citrix Hypervisor会自动修改部分虚拟硬件参数。使用XenCenter复制虚拟机时,XenCenter会自动为用户修改MAC地址和IP地址。如果这些接口是在您的环境中动态配置的,则可能不需要修改克隆的VM。但是,如果接口是静态配置的,则可能需要修改其网络配置。

可能需要对VM进行定制以了解这些更改。有关受支持的特定Linux发行版的说明,请参见Linux虚拟机发行说明

机器的名字

克隆的VM是另一台计算机,与网络中的任何新计算机一样,它在网络域中必须具有唯一的名称。

IP地址

克隆虚拟机在所属网络域中IP地址必须唯一。一般来说,当使用DHCP分配地址时,这个要求不是问题。虚拟机启动时,DHCP服务器为虚拟机分配IP地址。如果克隆的虚拟机有一个静态IP地址,在启动前必须给克隆的虚拟机一个未使用的IP地址。

MAC地址

有两种情况,我们建议在克隆之前禁用MAC地址规则:

  1. 在某些Linux发行版中,克隆虚拟机虚拟网口的MAC地址会记录在网络配置文件中。但是,克隆虚拟机时,XenCenter会为克隆的虚拟机分配一个不同的MAC地址。因此,当新虚拟机第一次启动时,网络无法识别新虚拟机,无法自动启动。

  2. 一些Linux发行版使用udev规则来记住每个网络接口的MAC地址,并为该接口保留一个名称。这种行为是为了使相同的物理网卡总是映射到相同的网卡n接口,这对于可移动网卡(如笔记本电脑)非常有用。然而,这种行为在vm上下文中是有问题的。

    例如,考虑以下情况下的行为:

    1.安装虚拟机时,配置两块虚拟网卡1.安装虚拟机。关闭虚拟机1.执行以下命令。拆卸第一块网卡

    当虚拟机重启时,XenCenter只显示一个网卡,但会调用它eth0。同时,虚拟机故意强迫这个网卡eth1。结果是网络不起作用。

对于使用持久化名称的虚拟机,请在克隆前禁用这些规则。如果不想关闭持久名称,则必须在VM内重新配置网络(以通常的方式)。但是,XenCenter中显示的信息与您网络中的实际地址不匹配。

更新Linux内核和来宾实用程序

可以通过重新运行install.sh脚本从Linux版的Citrix VM Tools中获取安装Citrix VM Tools for Linux).

好吃。支持的发行版,CentOS和RHEL,xe-guest-utilities安装一个好吃。配置文件,使后续更新能够使用好吃。以标准的方式。

Debian,/etc/apt/sources.list默认情况下使用apt填充以启用更新。

升级时,我们建议您总是重新运行install.sh。该脚本自动确定您的虚拟机是否需要任何更新和安装。

从PV升级到HVM客户端

升级现有的不支持的PV Linux客户机到支持的版本中运行HVM模式,执行来宾升级。此时,升级后的客户机只能在PV模式下运行——不支持PV模式,并且存在已知的问题。运行以下脚本将新升级的guest转换为支持的HVM模式。

在Citrix Hypervisor服务器上,打开本地shell,以root用户登录,输入如下命令:

/opt/xensource/bin/pv2hvm vm_name 

/opt/xensource/bin/pv2hvm vm_uuid 

重启虚拟机完成该操作。

Linux虚拟机发行说明

大多数现代Linux发行版都直接支持Xen半虚拟化,但是有不同的安装机制和一些内核限制。

RHEL图形安装支持

要使用图形化安装程序,请在XenCenter步骤中通过新的虚拟机向导。在安装介质页,在高级操作系统启动参数节中,添加vnc到列表参数:

图形utf8 VNC 

新建虚拟机向导的屏幕截图。在“Installation Media”界面的“Advanced OS Boot Parameters”中输入“graphic utf8 vnc”。

系统提示您为新虚拟机提供网络配置,以启用VNC通信。完成新建VM向导的其余部分。向导完成后,在基础设施视图,选中虚拟机,单击控制台查看虚拟机的控制台会话。此时,它使用标准安装程序。虚拟机安装最初以文本方式启动,可能会请求网络配置。一旦提供,切换到图形控制台按钮,显示在“xcenter”窗口的右上角。

Red Hat Enterprise Linux 7

迁移或挂起虚拟机后,RHEL 7客户端可能会在恢复过程中被冻结。有关更多信息,请参见Red Hat问题1141249

CentOS 7

有关CentOS 7发行说明列表,请参见Red Hat Enterprise Linux 7

Oracle Linux 7

有关Oracle Linux 7发行说明列表,请参见Red Hat Enterprise Linux 7

科学Linux 7

有关Scientific Linux 7发行说明的列表,请参见Red Hat Enterprise Linux 7

Debian 10

如果使用PXE网络引导方式安装Debian 10 (Buster),则不需要添加控制台= tty0到引导参数。此参数可能导致安装过程出现问题。只使用控制台= hvc0在引导参数中。有关更多信息,请参见Debian问题944106944125

SUSE Linux Enterprise 12

准备一个用于克隆的SLES客户机

注意:

在准备用于克隆的SLES客户机之前,请确保清除udev网络设备配置如下:

Cat < /dev/null > /etc/udev/rules.d/30-net_persistent_names.rules

为克隆准备一个SLES客户机:

  1. 打开文件/etc/sysconfig/network/config

  2. 编辑如下行:

    FORCE_PERSISTENT_NAMES = yes < !——NeedCopy >

    FORCE_PERSISTENT_NAMES = no < !——NeedCopy >
  3. 保存更改并重启虚拟机。

有关更多信息,请参见准备克隆Linux虚拟机

Ubuntu 18.04

Ubuntu 18.04提供了以下类型的内核:

  • 通用可用性(GA)内核,在发布时不会更新
  • 硬件支持(HWE)内核,在发布时更新

Ubuntu 18.04的一些次要版本(例如18.04.2和18.04.3)默认使用HWE内核,在运行图形控制台时可能会遇到问题。为了解决这些问题,你可以选择运行这些带有GA内核的Ubuntu 18.04的小版本,或者改变一些图形设置。有关更多信息,请参见CTX265663 - Ubuntu 18.04.2虚拟机在Citrix Hypervisor上启动失败