本地存儲(Local Storage)是繼NFS主存儲、iSCSI主存儲之后ZStack支持的第三類主存儲。本地存儲相比網絡共享存儲而言,更輕量、更方便(甚至在網絡速度和網絡存儲性能不佳的情況下,本地存儲的性能也更高),所以也有很多客戶采用本地存儲方案來搭建云系統。ZStack自v0.8.0開始支持本地存儲。本教程僅會介紹如何添加本地存儲來做云環境的主存儲。
ZStack對于本地存儲的使用有如下定義: 1. 一個Cluster內的所有計算節點應該有相同的目錄放本地存儲。 2. 如果一個Cluster既擁有本地主存儲也掛載了NFS或者其他網絡共享存儲,那么云主機的根磁盤將會存放在本地存儲,而數據磁盤將會存放在網絡共享存儲。 3. 在使用網絡共享存儲的時候,當原始云主機磁盤被刪除后,備份過的磁盤快照依然可以用于創建磁盤鏡像模板和恢復磁盤;但是這個操作在本地存儲上無法進行。用戶需要在原始磁盤刪除前,使用磁盤快照功能創建磁盤鏡像模板。
通過UI添加本地存儲
用戶關于如何添加Zone,Cluster,Host等其他資源的方法請訪問創建扁平網絡環境
在創建主存儲的時候: 1. 選擇類型'LocalStorage' 2. 輸入計算節點上云主據磁盤要存放的目錄
通過zstack-cli添加本地存儲
用戶關于如何添加Zone,Cluster,Host等其他資源的方法請訪問創建扁平網絡環境。在創建主存儲的時候:
>>>AddLocalPrimaryStorage zoneUuid=15d546efe84a499caa36b2f6a95d6b81 name=local url=/home/volumes
URL
本地主存儲使用本地的一個目錄來存放云主機的磁盤。當主存儲掛載到Cluster上時,該目錄會在Cluster內的所有計算節點上創建出來。
關于本地存儲的容量
一個cluster里面本地存儲的總容量是每一個計算節點上存儲容量的總和。不像網絡共享存儲(例如NFS主存儲), 即使您發現ZStack系統顯示的可用容量大于你所申請的磁盤空間,您可能還是會遇到空間不足(not enough capacity)的錯誤。 這是因為該Cluster內找不到任何一個單個的計算節點能夠獨立滿足空間分配的需求。例如,您有兩個計算節點, 每個節點上都有10GB的剩余空間,ZStack會顯示當前Cluster有20GB的可用空間。當您試圖去創建一個15GB的云主機磁盤的時候, ZStack會告訴你找不到足夠的空間。
本地儲存不支持云主機漂移和有限的跨云主機數據盤掛載
由于本地存儲不具備網絡共享存儲中,每個計算節點都可以訪問該存儲的能力。所以在存儲漂移功能支持前, 使用本地存儲的云主機將不會具有漂移的功能。用戶需要對可能發生的數據丟失或者長時間無法恢復云主機的運行做好準備。 例如,需要考慮如何在應用層做到跨云主機的高可用。 對于系統中可以掛載(狀態為Ready)的數據磁盤,該磁盤僅能掛載到和該磁盤在同一計算節點的云主機上。