网站搜索

XenServer 7 – 通过 CLI 和 XenCenter Web 界面进行池升级


XenServer 7 系列中的第一篇文章介绍了如何安装/升级单个 XenServer 主机。大多数 XenServer 安装可能位于许多 XenServer 主机的池中。

本文将介绍整个 XenServer 池升级的过程。最后的组件将涵盖 XenServer 主机上运行的来宾的一些内务处理。

系统要求

  1. XenServer 7 ISO:XenServer-7.0.0-main.iso

在进一步操作之前,我建议您查看我们的第一篇 Xen Server 7 文章中的系统要求作者建议的添加这两个部分:

  1. XenServer 7 的全新安装

免责声明

本文的目的是演练 XenServer 池升级。执行升级过程的方法有很多种,任何特定安装的“正确”解决方案将在很大程度上取决于组织。

Citrix 有一份非常详细的文档,应在升级过程开始之前查看:xenserver-7-0-installation-guide.pdf

XenServer 池升级

毫无疑问,大多数XenServer安装可能是XenServer池的一部分。这使升级过程变得有点复杂。虽然可以选择手动访问每台服务器并升级每台服务器,但 Citrix 有一种更简单的方法,即通过最新版本的 XenCenter 或通过使用滚动池升级来实现此目的。 'xe' 命令行工具。

根据 Citrix 的文档,池升级可以在任何版本的 XenServer 6.x 或更高版本上执行到版本 7。如果 XenServer 主机运行的版本早于 6.x,则该主机需要遵循相应的升级路径到 XenServer 6.2,然后才能升级到 XenServer 7.0。

为了进行滚动池升级,需要从 Citrix 下载最新版本的 XenCenter。下载地址:XenServer-7.0.1-XenCenterSetup.exe

正如 XenServer 6.5 系列中提到的,XenCenter 仍然是仅限 Windows 的实用程序。对于无法访问 Windows 计算机来运行 XenCenter 的用户,也可以通过 CLI 完成池升级。

本文将详细介绍这两种方法(XenCenter 和带有 xe 实用程序的 CLI)。

注意 – 在进行池升级之前,应注意两件事。滚动池升级不应通过从 SAN 设置引导来完成,并且 Integrated StorageLink 已从 XenServer 6.5 及更高版本中删除。

无论使用 XenCenter 还是 CLI,第一步都是禁用池高可用性,停止所有非必需的来宾虚拟机,确保 XenServer 主机有足够的资源内存来支持升级过程中需要继续运行的客户机(即不要过度配置),主机还需要足够的硬盘空间用于 XenServer 7,确保所有客户机的 cd/dvd 驱动器都是空的,并且强烈要求鼓励对当前池状态进行备份。

让我们开始这个过程。

从 CLI 升级池

1. 确保您已阅读前 5 段,因为它们概述了升级过程中的一些非常重要的信息!还强烈建议用户阅读此处的安装指南:xenserver-7-0-installation-guide.pdf,升级说明和警告从第 24 页开始。

2.实际的第一个技术步骤是使用'xe'工具备份池状态。使用与 Xen 池主主机的 SSH 连接,可以运行以下‘xe’命令。

xe pool-dump-database file-name="Xen Pool.db"

备份数据库后,从主控主机上复制文件,以确保在升级失败时有副本可用。以下命令将从 标识的远程 XenServer 复制文件 Xen Pool.db 并将该文件放置在当前用户的下载文件夹中。

scp 'root@<XenServer_ip>:~/”Xen pool.db”'  ~/Downloads/

3. 备份池数据库后,主服务器需要将所有来宾迁移到池中的其他主机,然后需要使用以下'xe' 禁用主服务器 命令:

xe host-evacuate host=<hostname of master>
xe host-disable host=<hostname of master>

现在需要从本地 XenServer 7 安装介质重新启动主机。此时,升级遵循与本文前面的单主机升级相同的许多部分。

在执行安装程序步骤时,请绝对确保选择了升级!为清楚起见,此时应完成“XenServer 7 – 全新安装”一文中的步骤1-6,然后是15-19

安装过程大约需要 12 分钟,因此请在等待安装完成的同时导航至 https://www.howtoing.com 阅读另一篇文章。安装完成后,重新启动主机并移除安装介质。

4. 当主服务器重新启动时,请确保它不会显示任何错误,并且会启动到 XenServer 控制台屏幕。这是升级成功的良好迹象,但事情还没有完成。通过 SSH 返回主系统,并使用以下命令之一验证它确实正在运行新版本的 XenServer:

cat /etc/redhat-release
uname -a

5.成功!该池主机现已升级。此时,根据需要将任何来宾移动到该主机,然后重复步骤 3 继续移动到下一个 XenServer 主机,但替换下一个要升级的主机的主机名除外。

xe host-evacute host=<hostname of pool slave>
xe host-disable host=<hostname of pool slave>

6. 对池中剩余的从属设备继续执行步骤 3 到 5。

7. 此时再应用一项更新是至关重要的。 Citrix 发布了一个补丁来解决在某些情况下可能出现的数据丢失和损坏的问题。

请立即应用此补丁! 此补丁还要求重新启动 XenServer 主机。本文后面提供了通过 XenCenter 完成此操作的说明。

要通过 XenServer 主机的 CLI 完成此操作,请下载补丁并发出以下‘xe’命令:

wget -c http://support.citrix.com/supportkc/filedownload?uri=/filedownload/CTX214305/XS70E004.zip
unzip XS70E004.zip
xe patch-upload file-name=XS70E004.xsupdate
xe patch-apply uuid=<UUID_from_above_command>
xe patch-pool-apply uuid=<UUID_from_above_command> - only applies to a XenServer pool and must be run from the pool master

8. 更新池中的所有主机后,来宾将需要更新 XenServer 来宾工具。实现此目的的步骤位于本文末尾。

从 XenCenter 升级池

对于有权访问 Windows 计算机来运行 XenCenter 的用户,可以通过 XenCenter 应用程序完成滚动池升级。

使用XenCenter的好处是前面的说明中需要手动完成的许多任务和检查现在将由XenCenter自动处理。

XenCenter 中的滚动池升级向导有两种模式; 手动自动。在手动模式下,XenServer 7 的安装程序必须在升级时放入每个单独的 XenServer 主机中(即可启动 USB 或 CD)。

使用自动模式时,向导将使用位于某种网络文件共享(例如 HTTP、NFS 或 FTP 服务器)上的文件。要使用此方法,必须将 XenServer 安装 iso 中的安装文件解压到相应的网络文件服务器上并可供 XenServer 主机访问。

本指南不会详细介绍设置 HTTP 服务器的过程,但它将逐步介绍提取 ISO 内容以允许自动升级的过程。

将 XenServer 安装文件提取到 HTTP 服务器

本节假设用户有一个正常运行的 HTTP 服务器,其 Web 根目录设置为“/var/www/html”。本节还将假设 XenServer 7 iso 文件已下载并驻留在 Web 根文件夹中。

设置本文的安装文件的第一步是挂载 iso,因此可以将安装程序文件放入 webroot 中。第二步是为安装程序文件创建一个文件夹,然后将文件复制到该文件夹中。

所有步骤都可以按如下方式完成:

mount XenServer-7.0.0-main.iso /mnt
mkdir /var/www/html/xenserver
cp -a /mnt/. /var/www/html/xenserver

此时,导航到服务器的 IP 地址和 xenserver 文件夹,安装材料应该显示在浏览器中。

使用 XenCenter 进行滚动池升级

1. 第一步是重新阅读本文档前面的 XenServer 池升级 标题下面的段落!这非常重要,因为这些段落将详细说明有关升级的具体信息,以帮助从旧版本的 XenServer 进行过渡。

2.第一个技术步骤是通过使用池主机的‘xe’命令来备份池的当前状态。使用与 Xen 池主主机的 SSH 连接或 XenCenter 控制台,可以运行以下‘xe’命令。

xe pool-dump-database file-name="Xen Pool.db"

备份数据库后,强烈建议从主数据库中创建一个副本,以便在升级失败时,可以将主数据库/池恢复到原始状态。

3. 确保安装了最新版本的XenCenter。下载链接如下:XenServer-7.0.1-XenCenterSetup.exe。

4. 保存池数据库并安装最新版本的 XenCenter 后,即可开始池升级。打开 XenCenter 并连接到需要新版本 XenServer 的池。连接到池主机后,导航至“工具”菜单并选择“滚动池升级...”

5. 请务必阅读第一个提示中的警告。这里提到的步骤是在本文的“使用 XenCenter 进行滚动池升级”部分的步骤一中完成的池数据库备份。

6. 下一个屏幕将提示用户选择他们想要升级的池。可以选择 XenCenter 连接到的每个池。为了简单起见,本文档中使用了一个小型测试池。

7.下一步允许用户选择“自动”或“手动”模式。本文再次介绍自动方法,并假设 HTTP 服务器可用,并且已将 XenServer ISO 内容提取到该 HTTP 服务器上名为 “xenserver” 的文件夹中。

8. 此时,XenCenter 将运行一系列检查,以确保所有主机都有适当的补丁/修补程序,并将检查以确保升级可能成功。

根据环境的不同,这可能是遇到问题的步骤。但作者此时遇到了两个问题。找到了解决方案,希望这些对其他人有帮助。

遇到的第一个问题是需要向 XenServer 主机应用两个补丁。如果用户决定这样做,XenCenter 将完成此操作,但根据作者和其他人的经验,此步骤并不总是正确完成,并且可能会阻止下一步正常工作。

如果 XenCenter 声称已应用所有补丁,但用户在下一个屏幕上收到“安装程序文件的无效 URL”,则作者可以通过重新启动主 XenServer 成功消除该错误。

要了解有关该问题的更多信息,请查看以下 URL 中的 Citrix 讨论:XenServer 7 安装程序文件的 URL 无效。

此时遇到的另一个问题是 XenCenter 发出有关本地 VM 存储在主 XenServer 主机上的警告。此本地 VM 将阻止 XenServer 安装程序使用新的 GPT 分区方案对主机重新分区。

经过大量搜索后,我们注意到主主机的本地存储上存储了池元数据备份。一旦将其移动到另一个位置,安装程序就不再发现任何问题。

9.一旦完成预检查,安装程序将提示输入安装文件的位置。本文利用 HTTP 服务器向 XenServer 主机提供安装文件,因此安装程序需要了解这些文件的位置。

在框中,提供必要的服务器路径信息以及连接所需的凭据,然后按“测试”按钮以确保 XenCenter 可以访问文件。如果显示绿色复选标记,则表明安装介质已找到且可用。

10.一切准备就绪后,单击“开始升级”按钮。这将从池主机开始该过程。

注意 – 确保 XenServer 主机的管理网络具有 DHCP。当安装程序重新启动主机时,它将尝试通过 DHCP 获取 IP 地址。

11. 此时,明智的做法是开始吃午餐或跟进其他任务。这个过程需要一段时间。如果 XenServer 主机上可以访问本地监视器或 KVM 系统,则管理员可以监视安装过程并查看一切是否按预期进行。

12. 这个四主机测试集群上的安装过程大约需要两个小时才能完成。安装完成后,请务必升级池中所有来宾的来宾工具。

另请务必通过查看 XenCenter 中池的“常规”选项卡或手动连接到每个 XenServer 主机来验证池是否已完全升级。

此时可能还需要一些后续任务。在池升级后尝试启动来宾时,作者遇到了某些来宾上的虚拟接口的一些问题。

事实证明,池的某些网络配置并未通过安装过程进行转换。这些服务器都有 4 个物理接口 (PIF),其中两台服务器上的一对 PIF 在启动时停止激活。

这引起了很大的悲伤,但值得庆幸的是其他人也经历过类似的问题,并且很容易找到解决方案。相关服务器是带有集成 Broadcom BCM5708 NIC 的 Dell Power Edge 2950。

所需要做的就是将系统恢复到XenServer 6.5,然后应用戴尔网站上的更新。作者强烈建议确保所有固件更新均已应用于将升级到较新 XenServer 版本的任何系统,以帮助防止出现问题。

要了解有关此主题的更多信息,请查看 Citrix 讨论页面上的主题:XenServer 7 升级无板载网络。

BCM5708 NIC 上升级固件之前的原始问题

记下固件版本以及无序的 PIF 分配。

interface-rename -l

使用接口重命名实用程序更正了固件和 PIF 重新分配

注意固件已更新,PIF 顺序也正确。

interface-rename -l

13. 此时,所有 XenServer 主机都应该可用并返回到正确的池配置中。此时再应用一项更新是至关重要的。 Citrix 发布了一个补丁来解决在某些情况下可能出现的数据丢失和损坏的问题。 请立即应用此补丁!

应用XenServer 7重要补丁XS70E004

正如全新安装文章中所要求的那样,池升级还需要将此关键的 XenServer 7 补丁应用于池以确保数据完整性。

要应用补丁,请按照本指南中的新 XenServer 7 中的步骤 20 到步骤 26 进行操作:应用 XenServer 7 重要补丁。

向主机更新/安装 XenServer 的过程到此结束。此时,应重新导入、配置和测试存储库和虚拟机。

下一节将介绍更新虚拟来宾上的 XenServer 来宾工具的最终任务。

更新 XenServer 访客工具

1. 最后的后续任务是确保来宾可以重新启动并确保他们安装了最新的来宾实用程序。通过执行接下来的几个步骤可以轻松完成此操作。

2.第一步是将guest-tools ISO附加到其中一个虚拟来宾的DVD驱动器。

3. XenServer 将 guest-tools.iso 连接到 guest 虚拟机后,请确保 guest 虚拟机能够识别新磁盘。本示例将介绍 Debian 客户机和工具的安装。

在下面的输出中,来宾实用程序磁盘被映射为‘xvdd’

4. 该设备可以使用安装实用程序快速安装,如下所示:

mount /dev/xvdd /mnt

5.安装设备后,可以使用dpkg来安装新的访客工具,如下所示:

dpkg -i /mnt/Linux/xe-guest-utilities_7.0.0-24_all.deb

6. 在安装过程中,将安装正确的文件并代表系统重新启动 xe 守护程序。

要通过 XenCenter 确认更新是否成功,请转到来宾计算机的“常规”选项卡,然后查找标记为“虚拟化状态:”的属性。

哇…如果您已经熬过了这么久,希望 XenServer 7 已安装、修补,并且来宾也已更新!如果您有任何疑问或问题,请在下面的评论中留言,我们将尽快提供帮助。