在我選擇 Xen VPS 提供者後,他們告訴我 Xen 不允許他們降級資源/硬件,因此我無法降級我的計劃。我認為這個限制很奇怪......你能確認這個限制在Xen軟體/平台中存在(或不存在)嗎?
如果不存在這個限制,你認為為什麼VPS沒有配置呢?
如果有限制,Xen如何與其他虛擬化軟體競爭?
PS:由於有人對我投了反對票......我想說我用谷歌搜尋了它但還沒有找到答案。
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 託管提供者才能截斷支援 HDD 的底層檔案。
只要說。這一切都是可能的,例如,Linode 確實可以自動化所有這些事情(包括根據需要自動縮小和成長檔案系統,而無需您的任何干預)。但是,不用說,所有這些聽起來確實複雜得多而不僅僅是進行系統呼叫(除了修改變數和重新啟動進程之外,實際上不需要做任何事情),不是嗎?
PS 通常情況下,託管商會明確拒絕降低舊訂單的定價,而是告訴客戶重新訂購,因為他們知道並不是每個人都會為了節省一些盧布而費心陷入這樣的麻煩。對於託管商來說,這是額外的收入。
但是,在保留 IP 位址方面,您可能會詢問託管服務商是否可以在完成遷移後將舊 IPv4 位址重新指派給新伺服器。如果他們也不願意提供類似的東西,那麼我建議您強烈考慮遷移到他們的競爭對手。
答案2
磁碟空間:在不先收縮檔案系統的情況下收縮塊設備很可能會破壞檔案系統。由於檔案系統很可能(我沒有關於您的計劃的足夠資訊)不由您的託管商管理,因此他們不能這樣做。
中央處理器:Xens 管理介面允許使用 來降低分配的 vcpu 數量xm vcpu-set
。
記憶: 記憶體也是如此xm mem-set
。但對於這個,這樣做並不是一個好主意。我將在這裡引用 xm 的線上說明頁:
由於此操作需要網域作業系統的配合,因此不能保證它會成功。除非網域具有所需的 paravirt 驅動程序,否則該命令肯定不起作用。
警告:沒有好的方法可以事先知道記憶體集多小會使域不穩定並導致崩潰。在運行網域上使用此命令時要非常小心。
如果他們只是在 Xen 主機 (Dom0) 上重新啟動 VPS,那麼縮小 CPU/記憶體將完全沒有問題,從而導致短暫的停機時間。
答案3
您的貼文中有很多未知之處 - 當您說降級時,您的意思是降低 CPU 功率、減少內存量、縮小磁碟大小、限制網路嗎?
如果您正在尋找更小的 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 是從主機所擁有的虛擬化出來的,並且不能使用 Xen 以這種方式真正進行操作。有幾種方法可以指定為虛擬機器提供多少核心/插槽,但這不會降低 CPU 的速度,只會降低節點暴露的核心數量。
在不了解更多關於您想要降級的內容和/或您想要從提供商方面進行轉換的內容的情況下,這就是我所能得到的最詳細的信息- 但這很可能這可能是提供商的許多場景之一有。
答案4
Xen 為每個guest 虛擬機器建立.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 命令列在虛擬伺服器檔案末尾新增零,檢查一切是否正常並重新啟動。