隨著服務器的運行,磁盤空間越來越吃緊的現象非常普遍。如果是物理服務器,遇到磁盤空間需要擴容的時候,唯一的辦法就是添加或更換硬盤,然后將原硬盤的數據克隆到新硬盤上。因此,給物理服務器硬盤擴容,會引起長時間的業務中斷。
服務器虛擬化以后,無論是計算資源還是存儲資源,都是根據需要動態調整的,虛擬機所占用的存儲空間并不是分配多大空間就占用多大空間,而是實際需要多少空間,就占用多大空間。當用戶為虛擬機分配的硬盤容量超過物理硬盤的空余空間后,VMware vSphere Client會彈出警示對話框,告知用戶磁盤空間過量分配可導致虛擬磁盤過滿從而堵塞虛擬機。也就說,大多數網管員會按照應用實際需求,為虛擬機指定硬盤容量,因此,在虛擬服務器環境下,同樣存在給虛擬機擴容的問題。

圖1 虛擬機的硬件參數設置
筆者使用VMware vSphere Client(簡 稱 為Vclient)管理服務器。用Vclient編輯需要擴容的虛擬機,進入虛擬機硬盤編輯后,發現硬盤編輯參數只有置備大小,沒有擴容選項(如圖1)。我們知道,VMware有三種磁盤置備方式,分別是厚置備延遲置零、厚置備置零、精簡置備。不管采用哪種置備方式,都會占用一定的物理磁盤空間,三種置備方式只是在分配物理磁盤空間方式上有所不同。
例如,為節省物理磁盤空間,管理員們通常采用精簡 置 備(Thin Provision)格式。這種置備方式在創建初期,只占用幾KB的存儲空間。隨著虛擬機的運行,其占用的空間會越來越大,這是因為VMware是根據虛擬機實際使用情況動態分配存儲空間的。當然,VMware為虛擬機分配的磁盤空間也是有限制的,那就是不能超過創建虛擬機時,為虛擬機指定的硬盤容量,也就是圖1中置備大小。
但置備大小和硬盤容量在概念上是不能等同的,如果提高了置備大小,而硬盤容量上不去,就是在浪費存儲資源。因此,筆者未敢用修改置備大小的方式來擴容。發現Vclient沒有重新指定硬盤大小或沒有硬盤擴容功能項后,也就只能采用給虛擬機添加一塊新硬盤,用這種原始的方式來為虛擬機硬盤擴容。這種擴容同物理服務器一樣,需要用克隆方式將原硬盤數據復制到新硬盤,再刪除原硬盤,因此,采用這種方式擴容,同樣有較長的業務中斷,只是沒有下架、拆機、換硬盤、開機、重新組建磁盤陣列、裝機、上架這些給物理服務器擴容必須的操作過程。
除 用VMware vSphere Client管理服務器外,也可VMware Workstation Pro連接VCenter。筆者嘗試用VMware Workstation Pro編輯虛擬機硬盤,在“磁盤實用工具”欄有“擴展磁盤容量”功能項,不過是灰色按鈕,估計這是VMware Workstation Pro不支持在線編輯(虛擬機處于開機狀態)的緣故。
關閉虛擬機后再編輯硬盤,此時就可以使用“擴展磁盤容量”功能項了。單擊“擴展”按鈕開始擴展磁盤容量。出現“擴展磁盤容量”窗體后,指定擴展后的磁盤大小。在本例中,虛擬機原來的磁盤容量是200GB,想擴大為1TB,此時輸入“1000”。

圖2 使用Vsphere Web Client管理虛擬機
VMware Workstation還是比較人性化的,擴容成功后,會彈出相關提示內容:“磁盤已成功擴展,您必須從客戶機操作系統內部對磁盤重新進行分區和擴展文件系統”。
打開虛擬機,用磁盤管理工具查看擴容后的磁盤,此時多出來的824GB未分配的磁盤空間就是對虛擬機硬盤進行擴容后,擴展出來的磁盤空間。
用VMware Workstation對虛擬機硬盤進行擴容,操作過程簡單,擴容時間很短,沒有硬盤數據備份和還原的過程,業務中斷時間非常短,重新啟動虛擬機需要多長時間,業務也就中斷多長時間。
筆者想到VMware的另一款管理工具“Vsphere Web Client”,使用 Vsphere Web Client編輯虛擬機,發現,無論虛擬機處于關機狀態還是開機狀態,都是可以編輯虛擬機硬盤容量的。只是在虛擬機處于開機狀態編輯虛擬機硬盤容量,需要重新啟動虛擬機,才能看到擴容后的磁盤空間(如圖2)。
VMware Workstation和Vsphere Web Client兩 款工具都支持直接對虛擬機硬盤擴容,回到管理員們常用的工具VMware vSphere Client,用工具也應該能對虛擬機硬盤直接擴容。難道圖1中的置備大小就是指虛擬機硬盤容量呢?筆者嘗試用VMware vSphere Client編輯虛擬機硬盤,將虛擬機硬盤的置備大小改為1TB,重新啟動虛擬機,進入操作系統后,用磁盤管理工具查驗擴容后的磁盤。經查驗,證明用VMware vSphere Client修改了虛擬機硬盤置備大小,也就修改了虛擬機硬盤容量。可見,此處的置備大小和硬盤容量是相同概念,只是說法不一樣而已。