Xen – 减less资源/硬件限制?

在我selectXen VPS提供商后,他们说我并不让他们降级资源/硬件,因此我不能降级我的计划。 我认为这个限制是奇怪的…你能证实这个限制存在(或不)在Xen软件/平台?

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

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

PS:因为有人压低了我…我想说,我GOOGLE了,我还没有find答案。

PS 2:我的问题与许可无关。 这是关于Xen的一个特点的问题

PS 3:VPS提供商销售包裹。 这些软件包不同于CPU,内存,带宽,高清等等。

提前致谢!

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

OpenVZ是一种操作系统级别的虚拟化技术,每个节点共享主要主机的资源。 在OpenVZ中,pipe理员只需更改一个设置,然后为用户提供一组不同的资源。 这就是为什么几乎所有的托pipe者(包括你在你的评论中提到的)实现了OpenVZ的升级和降级,因为改变进程和内存分配就像改变了getrlimit, setrlimit(2) 系统调用和改变光盘的大小quotactl(2) 系统调用一样 。 如果您不熟悉这些系统调用以了解寓言,那么查看HISTORY部分就可以了解它们早在Linux创build之前就已经存在 – 这就是它们的原始性,基本性和无风险性。 (OpenVZ有自己的做法,但基本上是完全相同的概念。)

另一方面,Xen是典型硬件的完全虚拟化。 在Xen中改​​变内存就像在物理上添加或移除内存模块一样 – 你是否会这样做到正在运行的系统,并希望软件能够处理它? 处理器也一样。 硬盘也一样。 所以,大不了,先把它关掉吧? 那么,对于内存和CPU来说,这是完全可能的,但是硬盘是不同的,因为它拥有你想要保存的数据。

HDD如何不同? 在OpenVZ中,您看到的硬盘只是现有主机文件系统中实际文件的一个子集, 如果你没有文件,它没有大小, 所有的限制都是有效的。 在Xen中,它将是实际的文件系统,由主机上的一定大小的文件支持,与您的虚拟光盘相同。

让我们暂时忘记虚拟化吧。 现在,如果您将较小硬盘的逐字拷贝( dd(1) )拷贝到较大的硬盘上,您就会知道结果看起来是一样的,没有显示任何磁盘空间的增加。 这是因为你逐字复制了实际的文件系统和光盘的disklabel(5) 。 如果你想在同一个文件系统中使用更多的空间,你必须先用fdisk(8)编辑光盘的MBR分区,然后用disklabel(8)编辑光盘disklabel(8) ,然后调用growfs(8)来实际增加文件系统的大小。 文件系统本身在整个光盘中包含各种元数据,所以它必须用特殊的命令来增长和缩小。 如果你看手册页,你会发现growfs本身是一个更现代的发明(甚至可能是GNU / Linux的追赶!),至less在BSD的世界里,它仍然缺less必要的“收缩”。

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

可以说, 这是完全可能的 ,例如,Linode会自动执行所有这些操作(包括根据需要自动缩小和扩展文件系统,而不需要任何干预)。 但是,不用说,所有这些听起来都比做一个系统调用要复杂得多(除了修改一个variables和重新启动一个进程之外,并不需要做任何事情),不是吗?

PS经常,托运人拒绝降低旧订单的价格,反而告诉客户重新订购,因为他们知道不是每个人都会为了节省几个卢布而麻烦地进行这样的麻烦。 而对于主机,这是额外的收入。

但是,在保留您的IP地址方面,您可能会询问您的主机是否可以在完成迁移后将旧的IPv4地址重新分配给新的服务器。 如果他们不愿意提供这样的事情,那么我build议你强烈考虑迁移到他们的竞争对手。

磁盘空间:缩小块设备而不先缩小文件系统很可能会破坏文件系统。 由于文件系统很可能(我没有足够的计划信息),而不是由您的主机pipe理,他们不能这样做。

CPU :Xenspipe理界面允许使用xm vcpu-set降低分配的xm vcpu-set数量。

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

因为这个操作需要域操作系统的配合,所以不能保证会成功。 除非域名具有所需的paravirt驱动程序,否则这个命令绝对不行。

警告:事先没有办法知道一个mem-set有多less会使域不稳定并导致崩溃。 在运行域时使用此命令时要非常小心。

如果他们只是在Xen主机(Dom0)上重新启动VPS,收缩CPU /内存将是完全没有问题的,从而导致很less的停机时间。

在你的post中有很多未知的东西 – 当你说降级的时候,你的意思是减lessCPU的功率,降低RAM的数量,缩小磁盘大小,限制networking?

如果您正在寻找更小的CPU占用空间,提供商很可能会说明他们不能简单地降级您的机器。 假设您在Xen群集版本6.2上安装了Ubuntu 14.04虚拟机。 此群集CPU是2ghz。 假设您不想支付超过1ghz的处理能力,并且您要求降级。

有可能他们有一个1ghz处理器的Xen池,但不是像6.2这样的东西,而是5.6版 – 它与Ubuntu 14.04不兼容,所以它不能被移动到CPU速度较慢的较早的群集。 可以在较慢的机器上build立一台新机器,但是在一个池子之间进行简单的移动并不是可以完成的。

有了Xen,你不能只是说'只给我的机器1ghz的CPU能力'一样的RAM可以增加/减less一些快速的命令。 CPU是根据主机所具有的虚拟化技术实现的,并且不能用Xen这种方式进行操作。 有多种方法可以说明您为虚拟机提供了多less个内核/套接字,但这不会降低CPU的速度,也不会降低您的节点暴露的内核数量。

不知道更多关于你想要降级的内容和/或你想从提供者那里得到什么,这是关于尽可能详细的 – 但是这很可能是提供者的许多场景之一具有。

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

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

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

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