Xen — уменьшить ограничения ресурсов/оборудования?

Xen — уменьшить ограничения ресурсов/оборудования?

После того, как я выбрал провайдера Xen VPS, они сказали мне, что Xen не позволяет им понижать уровень ресурсов/оборудования, поэтому из-за этого я не могу понизить свой план. Я думаю, что это ограничение странное... Можете ли вы подтвердить, что это ограничение существует (или нет) в программном обеспечении/платформе Xen?

Если ограничения не существует, почему вы думаете, что VPS его не настроил?

Если существуют ограничения, как Xen может конкурировать с другими программами виртуализации?

PS: Поскольку кто-то поставил мне минус... Я хотел бы сказать, что я гуглил, но не нашел ответа.

PS 2: Мой вопрос не связан с лицензированием. Это вопрос о функции Xen

PS 3: Провайдер VPS продает пакеты. Пакеты отличаются процессором, памятью, пропускной способностью, HD и, возможно, чем-то еще.

Заранее спасибо!

решение1

На самом деле это отличный вопрос!

OpenVZ — это технология виртуализации на уровне операционной системы, где каждый узел разделяет ресурсы основного хоста. В OpenVZ администратор может просто изменить настройку, и другой набор ресурсов будет предоставлен пользователю как само собой разумеющееся. Вот почему почти все хостеры (включая ваш, как вы упоминаете в своих комментариях) реализуют обновления и понижения для OpenVZ, поскольку изменение процесса и распределения памятипохожийвнесение изменений вgetrlimit, setrlimit(2) системные вызовы, и изменение размера диска - это то же самое, что делатьquotactl(2) системный вызов. Если вы не знакомы с этими системными вызовами, чтобы понять аллегорию, достаточно заглянуть в раздел ИСТОРИЯ, чтобы увидеть, что они существовали задолго до создания Linux — настолько они примитивны, просты и безопасны. (У OpenVZ свой собственный способ делать эти вещи, но по сути это та же самая концепция.)

Xen, с другой стороны, является полной виртуализацией типичного оборудования. Изменение памяти в Xen похоже на физическое добавление или удаление модулей памяти — вы когда-нибудь делали это в работающей системе и ожидали, что программное обеспечение сможет с этим справиться? То же самое и для процессоров. То же самое и для жесткого диска. Так что, большое дело, просто выключите его сначала, верно? Ну, да, это возможно и совершенно нормально в отношении памяти и ЦП, но с жестким диском все иначе, так как он хранит данные, которые вы хотите сохранить.

Чем отличается HDD? В OpenVZ HDD, который вы видите, по сути, является просто подмножеством реальных файлов из существующей файловой системы хоста; если у вас нет файлов, он не занимает никакого размера; и все ограничения фактическимягкий. В Xen это будет фактическая файловая система, поддерживаемая файлом определенного размера на хосте, того же размера, что и ваш виртуализированный диск.

Давайте забудем на минуту о виртуализации. Теперь, если вы когда-либо делали дословную копию (сdd(1)) меньшего HDD на больший HDD, вы бы знали, что результаты будут идентичными, без увеличения дискового пространства. Это потому, что вы копируете фактическую файловую систему иdisklabel(5)диска дословно. Если вы затем захотите использовать больше места в той же файловой системе, вам придется сначала отредактировать раздел MBR диска с помощьюfdisk(8), затем disklabel сdisklabel(8), и только потом звонитеgrowfs(8)для фактического увеличения размера файловой системы. Сама файловая система содержит различные метаданные по всему диску, поэтому ее нужно увеличивать и уменьшать специальной командой. Если вы посмотрите на страницу руководства, то заметите, что growfs сама по себе является гораздо более современным изобретением (возможно, даже догоняет GNU/Linux!), и, по крайней мере в мире BSD, в ней все еще отсутствует необходимая "shrinkfs".

Теперь вернемся к Xen. HDD вашего VPS, скорее всего, поддерживается одним файлом определенного размера на базовом хосте Xen. Чтобы уменьшить его, вам сначала придется уменьшить базовую файловую систему в вашем VPS (к счастью, в отличие от ffs/ufs в *BSD, уменьшение на самом делеявляетсяподдерживается в Linux для ext2/ext3 и т. д.), то побеспокойтесь о disklabel/fdisk, если применимо. Только тогда провайдер Xen-хостинга может обрезать базовый файл, который поддерживает ваш HDD.

Достаточно сказать,это все вполне возможно, и Linode, например, автоматизирует все эти вещи (включая автоматическое сжатие и увеличение вашей файловой системы по мере необходимости, без какого-либо вмешательства с вашей стороны). Но, само собой разумеется, все это звучитгораздо сложнеечем просто сделать системный вызов (который на самом деле не должен ничего делать, кроме изменения переменной и перезапуска процесса), не так ли?

PS Довольно часто хостеры специально отказываются снижать цены на старые заказы, предлагая клиенту сделать повторный заказ, потому что они знают, что не каждый будет утруждать себя такими хлопотами, чтобы сэкономить несколько рублей здесь и там. А для хостера это дополнительный доход.

Однако, в плане сохранения вашего IP-адреса, вы можете спросить у своего хостера, возможно ли повторно назначить ваш старый адрес IPv4 на ваш новый сервер после завершения миграции. Если они также не готовы предложить ничего подобного, то я настоятельно рекомендую вам рассмотреть возможность миграции к их конкуренту.

решение2

Дисковое пространство:Сжатие блочного устройства без предварительного сжатия файловой системы, скорее всего, уничтожит файловую систему. Поскольку файловая система, скорее всего (у меня недостаточно информации о вашем плане) не управляется вашим хостером, они не могут просто так это сделать.

Процессор: Интерфейс управления Xens позволяет уменьшить количество назначенных виртуальных ЦП с помощью xm vcpu-set.

Память: То же самое касается памяти с xm mem-set. Но с этим, это не очень хорошая идея. Я собираюсь процитировать man-страницу xm здесь:

Поскольку эта операция требует сотрудничества с операционной системой домена, нет гарантии, что она будет успешной. Эта команда определенно не будет работать, если домен не имеет требуемого драйвера paravirt.

Предупреждение: нет хорошего способа узнать заранее, насколько малый размер mem-set сделает домен нестабильным и приведет к его краху. Будьте очень осторожны при использовании этой команды на работающих доменах.

Уменьшение загрузки ЦП/памяти не вызвало бы никаких проблем, если бы просто перезапускало ваш VPS на хосте Xen (Dom0), что привело бы к небольшому простою.

решение3

В вашем сообщении много неизвестных — когда вы говорите «даунгрейд», имеете ли вы в виду снижение мощности процессора, уменьшение объема оперативной памяти, уменьшение размера диска, ограничение сети?

Вполне возможно, что поставщик прав, утверждая, что они не могут просто понизить производительность вашей машины, если вы ищете меньший объем процессора. Допустим, у вас есть виртуальная машина Ubuntu 14.04 на кластере Xen версии 6.2. Этот кластерный процессор имеет частоту 2 ГГц. Допустим, вы не хотите платить за более чем 1 ГГц вычислительной мощности и запрашиваете понижение.

Возможно, у них есть пул Xen с процессорами 1 ГГц, но вместо версии 6.2 это версия 5.6, которая несовместима с Ubuntu 14.04, поэтому ее нельзя перенести на старый кластер с более медленными скоростями ЦП. Новую машину можно построить на более медленной машине, но простое перемещение между пулами — это не то, что можно сделать.

С Xen вы не можете просто сказать «дайте моей машине только 1 ГГц мощности ЦП», как можно увеличить/уменьшить ОЗУ несколькими быстрыми командами. ЦП виртуализируется из того, что есть у хост-машины, и им нельзя манипулировать таким образом с помощью Xen. Есть способы указать, сколько ядер/сокетов вы даете виртуальной машине, но это не снизит скорость вашего ЦП, а только то, сколько ядер доступно вашему узлу.

Не имея более подробной информации о том, на какую версию вы хотите перейти и/или между чем вы пытаетесь перейти со стороны провайдера, это все, что я могу получить, но вполне возможно, что это один из многих сценариев, которые есть у провайдера.

решение4

Xen создает файл конфигурации .cfg для каждого гостя (называемый DOMU в /etc/xen/DOMAIN.cfg), в котором можно изменять параметры, включая количество виртуальных процессоров, начальный объем оперативной памяти при запуске VPS и максимальный объем оперативной памяти при работе VPS.

Если кто-то изменит параметры в файле cfg из этого Domu и перезапустит VPS, новые параметры будут применены.

Ссылка: http://wiki.xenproject.org/wiki/Xen_3.x_Параметры_Файла_Конфигурации

Я должен упомянуть, что немного сложнее увеличить дисковое пространство (с SSD или HD) для VPS, работающего на XEN. В этом случае администратор должен выключить VPS, добавить нули в конец файла виртуального сервера с помощью командной строки dd, проверить, все ли в порядке, и перезапустить.

Связанный контент