Skip to main content

主存儲與二級存儲

CloudStack 存儲按用途分為主存儲(Primary Storage)和二級存儲(Secondary Storage),主存儲用來存儲虛擬機的捲,二級存儲用來存放虛擬機的模板,ISO鏡像和快照。

主存儲
當我們創建一台虛擬機時,需要為它指定至少一個卷(Volume),對於虛擬機來說,一個卷就相當於一個硬盤。在CloudStack中,虛擬機的捲被存放在主存儲中
在CloudStack中,主存儲有兩種:本地存儲(Local)和共享存儲(Shared)。

本地存儲在宿主機上,所以當虛擬機的捲使用本地存儲時,只能被和它處於同一宿主機的虛擬機訪問,而使用共享存儲時,任意一台宿主機只要能訪問該存儲,宿主機上的虛擬機也就能訪問該存儲,也就是說該存儲是被多台宿主機上的虛擬機共享的。
虛擬機遷移
當虛擬機使用共享存儲時,虛擬機可以在線遷移到其他宿主機上,因為虛擬機本質上只是一個進程,只需要把該進程複製到另外一台可以訪問它的捲的宿主機上,即可完成虛擬機的遷移。

但使用本地存儲的虛擬機無法實現在線遷移,因為其他宿主機無法訪問該虛擬機位於本地存儲上的捲。

卷遷移
在CloudStack中,使用本地存儲的虛擬機不僅虛擬機本身不能遷移,虛擬機的捲也是不能遷移的,也就是說一旦創建虛擬機時選擇了本地存儲,那麼這台虛擬機永遠只會跑在同一台宿主機上,而它的捲也只能存放在該宿主機的本地存儲上。但是使用共享存儲的虛擬機的捲是可以遷移到其他共享存儲上去的


二級存儲
二級存儲上存放的是ISO鏡像,模板,快照。
ISO鏡像:
就是操作系統的ISO文件,當我們創建虛擬機時,如果我們為虛擬機指定的是一個ISO鏡像,那麼當虛擬機啟動時,就會進入操作系統的安裝界面,按步驟安裝完操作系統以後,下次啟動虛擬機時就可以直接進入安裝好的操作系統中了。

模板:
使用ISO鏡像時,每次創建一台虛擬機都需要安裝一次操作系統,這顯然效率低下,我們可以把安裝完操作系統的虛擬機的捲作為模板上傳上去,創建虛擬機時選擇相應的虛擬機模板,創建出來的虛擬機就是安裝好操作系統的,啟動後可以直接進入操作系統。

快照:
我們可以在任意時刻對虛擬機的捲拍攝快照,然後把快照做成自定義模板,通過自定義模板創建出來的虛擬機的捲和拍攝快照時的虛擬機的捲是一模一樣的,我們可以通過這種方式在模板中預裝好一些常用的軟件或保存一些配置信息。
當我們在CloudStack創建虛擬機時,需要為其指定一個模板,虛擬機的ROOT卷就是通過從二級存儲上複製這個模板到主存儲上得到的,但一個主存儲第一次使用一個模板時,模板會從二級存儲上複製一份放到主存儲上,以後這個主存儲上的ROOT卷再使用這個模板時,就可以直接從主存儲上拷貝,無需每次都去二級存儲上拷貝。