Xen-减少资源/硬件限制?

Xen-减少资源/硬件限制?

在我选择 Xen VPS 提供商后,他们告诉我 Xen 不允许他们降级资源/硬件,因此我无法降级我的计划。我认为这个限制很奇怪... 您能确认 Xen 软件/平台中是否存在此限制吗?

如果不存在这个限制,你为什么认为 VPS 没有配置它?

如果存在这个限制,Xen如何与其他虚拟化软件竞争?

附言:由于有人对我投了反对票...我想说的是,我在谷歌上搜索过,但没有找到答案。

PS 2:我的问题与许可无关。这是关于 Xen 功能的问题

PS 3:VPS 提供商出售套餐。套餐的 CPU、内存、带宽、硬盘等可能有所不同。

提前致谢!

答案1

这实际上是一个很好的问题!

OpenVZ 是一种操作系统级虚拟化技术,其中每个节点共享主机的资源。在 OpenVZ 中,管理员只需更改设置,就会理所当然地为用户提供一组不同的资源。这就是为什么几乎所有托管商(包括您在评论中提到的托管商)都为 OpenVZ 实施升级和降级,因为更改进程和内存分配是一样做一个改变getrlimit, setrlimit(2) 系统调用,改变磁盘大小就像做quotactl(2) 系统调用。如果您不熟悉这些系统调用,无法理解这个寓言,只需查看“历史”部分即可发现它们早在 Linux 创建之前就已经存在了——这就是它们原始、基本和无风险的程度。(OpenVZ 有自己的方法来做这些事情,但基本上是完全相同的概念。)

另一方面,Xen 是典型硬件的完全虚拟化。在 Xen 中更改内存就像物理添加或移除内存模块一样——您会对正在运行的系统这样做,并期望软件能够处理它吗?处理器也一样。硬盘也一样。所以,有什么大不了的,先关闭它,对吗?嗯,是的,对于内存和 CPU 来说,这是可能的,而且完全没问题,但硬盘不同,因为它保存着您想要保留的数据。

HDD 有何不同?在 OpenVZ 中,您看到的 HDD 基本上只是现有主机文件系统中实际文件的一个子集;如果您没有文件,则不占用任何大小;并且所有限制实际上柔软的。在 Xen 中,它是实际的文件系统,由主机上一定大小的文件支持,大小与虚拟磁盘相同。

让我们暂时忘掉虚拟化。现在,如果你曾经逐字复制过(使用dd(1)) 从较小的 HDD 复制到较大的 HDD,您会知道结果看起来相同,而不会显示任何磁盘空间增加。这是因为您正在复制实际的文件系统和disklabel(5)逐字逐句地复制磁盘。如果你想在同一个文件系统中使用更多空间,你必须先用以下命令编辑磁盘的 MBR 分区fdisk(8),然后使用disklabel(8),然后才调用growfs(8)来实际增加文件系统的大小。文件系统本身包含整个磁盘中的各种元数据,因此,必须使用特殊命令来增大和缩小它。如果您查看手册页,您会注意到 growfs 本身是一项更现代的发明(甚至可能赶上 GNU/Linux!),并且,至少在 BSD 世界中,它仍然缺少必需的“shrinkfs”。

现在,回到 Xen。您的 VPS 的 HDD 可能由底层 Xen 主机上特定大小的单个文件支持。为了缩小它,您首先必须缩小 VPS 中的底层文件系统(幸运的是,与 *BSD 中的 ffs/ufs 不同,缩小实际上如果您的硬盘驱动器不支持 Linux 中的 ext2/ext3 等文件系统,则请考虑 disklabel/fdisk(如果适用)。只有这样,Xen 托管提供商才能截断支持您的硬盘驱动器的底层文件。

只要说。。。就够了,这一切都很有可能,例如,Linode 确实可以自动执行所有这些操作(包括根据需要自动缩小和扩大文件系统,而无需您进行任何干预)。但不用说,所有这些听起来确实更加复杂而不仅仅是进行系统调用(除了修改变量和重新启动进程之外,实际上不需要执行任何其他操作),不是吗?

PS 很多时候,托管商会拒绝降低旧订单的价格,而是告诉客户重新下单,因为他们知道并不是每个人都会为了省下几个卢布而费尽心思。而对于托管商来说,这是额外的收入。

但是,在保留 IP 地址方面,您可以咨询托管商,在完成迁移后是否可以将旧的 IPv4 地址重新分配给新服务器。如果他们也不愿意提供任何类似服务,那么我建议您强烈考虑迁移到他们的竞争对手。

答案2

磁盘空间:在没有先缩小文件系统的情况下缩小块设备很可能会破坏文件系统。由于文件系统很可能(我没有足够的关于您的计划的信息)不由您的托管商管理,他们不能这样做。

中央处理器:Xens 管理界面允许使用 来降低分配的 vcpus 数量xm vcpu-set

记忆:对于 的内存也是如此xm mem-set。但是对于这个,这样做不是一个好主意。我将在这里引用 xm 的手册页:

由于此操作需要域操作系统的配合,因此无法保证它会成功。除非域具有所需的 paravirt 驱动程序,否则此命令肯定不起作用。

警告:没有好的方法可以提前知道多小的内存集会使域不稳定并导致其崩溃。在正在运行的域上使用此命令时要非常小心。

如果他们只是在 Xen Host(Dom0)上重新启动您的 VPS,那么缩小 CPU/内存是完全没有问题的,从而导致短暂的停机时间。

答案3

您的帖子中有很多未知数 - 当您说降级时,您的意思是降低 CPU 功率、减少 RAM 数量、缩小磁盘大小、限制网络吗?

如果您需要更小的 CPU 占用,提供商说他们不能简单地降级您的机器,这种说法很可能是正确的。假设您在 Xen 集群版本 6.2 上有一个 Ubuntu 14.04 虚拟机。此集群 CPU 为 2ghz。假设您不想为超过 1ghz 的处理能力付费,并且您请求降级。

他们可能有一个配备 1ghz 处理器的 Xen 池,但不是 6.2 之类的版本,而是 5.6 版本 - 与 Ubuntu 14.04 不兼容,因此无法将其移动到 CPU 速度较慢的旧集群。可以在较慢的机器上构建新机器,但无法在池之间进行简单的移动。

使用 Xen,您不能只说“只给我的机器 1ghz 的 CPU 能力”,就像可以通过几个快速命令增加/减少 RAM 一样。CPU 是从主机的 CPU 虚拟化而来的,不能真正使用 Xen 进行操作。有多种方法可以指定您为虚拟机提供多少个核心/插槽,但这不会降低 CPU 的速度,只会降低暴露给节点的核心数量。

在不进一步了解您想要降级的内容和/或您尝试从提供商方面进行的操作的情况下,这大概就是我能得到的最详细的信息了 - 但这很可能是提供商遇到的众多情况之一。

答案4

Xen 为每个客户机创建 .cfg 配置文件(在 /etc/xen/DOMAIN.cfg 中称为 DOMU),其中可以更改参数,包括虚拟 CPU 的数量、VPS 启动时的初始 RAM 以及 VPS 运行时的最大 RAM。

如果有人从此 Domu 更改 cfg 文件中的参数并重新启动 VPS,则会应用新的参数。

参考: http://wiki.xenproject.org/wiki/Xen_3.x_Configuration_File_Options

我必须提到,为运行在 XEN 上的 VPS 增加存储空间(从 SSD 或 HD)稍微复杂一些。在这种情况下,管理员必须关闭 vps,使用 dd 命令行在虚拟服务器文件末尾添加零,检查一切正常并重新启动。

相关内容