當位於 vCenter Server 中的 ESXi 主機之間無共享儲存,僅具有本地儲存時,假如我需要安裝虛擬機器作業系統,那可以將作業系統 ISO 映象檔案上傳到主機的本地檔案儲存內,這時在這臺主機上執行安裝的虛擬機器只需要在虛擬機器的 CD/DVD 光碟機裝置上掛載並從本地儲存檔案內選擇需要的 ISO 映象檔案皆可。如果我想在另外一臺 ESXi 主機上安裝虛擬機器並使用之前主機上的同一個 ISO 映象檔案(如下圖所示),但是又不想重新上傳一份到主機的本地檔案儲存,那有什麼辦法呢?
這個時候你說可以配置一個共享儲存,讓兩邊主機都能訪問到不就可以了嗎?使用客戶端 VMRC 工具掛載本地 ISO 映象檔案不也可以嗎?當然可以,但是這不是本篇文章的本意,而是討論在沒有上述前提下,ESXi主機之間如何共享本地儲存ISO檔案的場景。
當然你也可以使用檔案儲存當中的“複製到”功能(如下圖),將 ISO 映象檔案 Copy 到另外一臺主機的本地檔案儲存當中,但是,這僅限於當前 vCenter Server,如果要實現跨 vCenter Server 共享呢?答案是:使用內容庫訂閱。
當前環境中,esxi8-a1.mulab.local 主機具有本地儲存 esxi8-a1,esxi8-a2.mulab.local 主機具有本地儲存 esxi8-a2。虛擬機器 VM1 執行在 esxi8-a2.mulab.local 主機上,如果當前虛擬機器 VM1 去掛載 CD/DVD 驅動器並選擇從資料儲存檔案中選擇 ISO 檔案,肯定只有本地儲存 esxi8-a2 可選,但是虛擬機器需要使用的 ISO 映象檔案位於 esxi8-a1.mulab.local 主機的 esxi8-a1 本地儲存上(如上圖)。
現在,我們去內容庫中建立內容庫,並透過訂閱的方式讓虛擬機器 VM1 使用到 ISO 映象檔案。導航到 vSphere Client->內容庫,點選“建立”。
這裡就以 ESXi 主機的本地儲存的名稱命名內容庫名稱。
選擇本地內容庫並勾選“啟用釋出”,如果有身份驗證需求,可以把“啟用身份驗證”功能開啟。
不應用安全策略。
選擇 ISO 映象所在的儲存位置。
點選完成。
建立完成後,進入該內容庫,點選操作選擇“匯入專案”,選擇本地 ISO 映象檔案,點選匯入即可。
如果你的 ISO 映象檔案已經上傳到 ESXi 主機的本地儲存檔案中,並且比較大的話,下面有一個小技巧,可以直接把已經匯入到儲存檔案中的 ISO 映象檔案轉到內容庫中。首先,你需要在本地建立一個非常小的 ISO 映象檔案,比如新建一個文字檔案並將字尾改成 ISO 格式,然後使用上面方式選擇“匯入專案”將該檔案匯入到內容庫,應該非常快~
然後到內容庫使用的所在檔案儲存當中,可以看到“contentlib......”就是我們建立的內容庫“esxi-a1”的資料夾,點選進去,可以看到有一個子資料夾,子資料夾裡面的檔案就是剛剛我們上傳的 ISO 檔案。這裡你需要將這個ISO檔案的“名稱”全部複製下來,然後將該檔案刪除掉。
找到你已經上傳的 ISO 映象檔案,並將該檔案的名稱“重新命名”為剛剛複製的檔名稱,然後選擇“移至”到 esxi-a1 內容庫的子資料夾中去。
此時,你再回到內容庫當中去,雖然你看到檔案的大小沒有改變,但是你已經可以使用替換後的 ISO 映象了。
如果你覺得還是想看到實際的大小,可以右擊該檔案選擇“克隆專案”,並選擇同樣的儲存庫,然後你可以使用這個新的檔案,將之前的那個刪除掉,並重名為自己想要設定的名稱即可完成全部替換。
好了,現在回來,進入剛剛建立的 esxi-a1 內容庫中後,點選“摘要”,拉到最下面,選擇“複製連結”,這是這個內容庫的訂閱連結,後面需要用到。
回到內容庫的首頁,現在新建一個內容庫,點選“建立”並設定內容庫的名稱,這裡設定為 esxi-a2 的內容庫。
配置內容庫,選擇“已訂閱內容庫”,並貼上剛剛上面複製的 esxi8-a1 的內容庫的訂閱連結,如果之前配置了身份驗證,則選擇“啟用身份驗證”並輸入之前設定的密碼。
選擇內容庫所使用的儲存,這裡要選擇 esxi8-a2 的本地儲存。
點選完成。
建立完成後,可以看到內容的配置資訊,當前已使用的儲存空間為 0,因為上面我們配置了當需要時才進行下載內容。
現在,重新配置虛擬機器 VM1 的 CD/DVD 驅動器,選擇從內容庫中選擇 ISO 檔案,一定要選擇 esxi8-a2 的內容庫,點選確定後會從 esxi8-a1 的內容庫中同步過來,這樣你便可以在沒有共享儲存的 ESXi 主機之間共享使用 ISO 映象檔案了。
跨 vCenter Server 也可以使用內容庫訂閱,這是內容庫的主要功能之一,如下圖所示。
另外一個 vCenter Server 站點上的虛擬機器 VM2 掛載內容庫中的 ISO 映象檔案。