程 寧,戴遠泉
(湖北輕工職業技術學院 湖北 武漢 430070)
隨著云計算技術的興起,一種新型的網絡存儲技術云存儲應運而生。云存儲區別于傳統的存儲技術,不再像傳統的存儲技術那樣必須隨身攜帶存儲設備,人們可以在任意時刻通過網絡獲取到存儲在云盤上的數據。對個人用戶而言,可根據實際需要申請相應的存儲服務;對于企業而言,可對存儲資源實現統一的管理,降低企業后期的運維成本,因此云存儲近年已被廣泛應用在企業和個人用戶的數據存儲中[1]。本文研究基于OpenStack云計算平臺,提出通過Cinder服務實現存儲管理的一種解決方案,并實現了部署操作。
云存儲是一種新興的網絡存儲技術。它通過集群應用、網絡技術或分布式系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統[2],以保證存儲數據的安全性以及節約數據的存儲空間。云存儲從類型上可劃分為塊存儲、文件存儲和對象存儲[3]。
(1)塊存儲:塊存儲可以裸盤上劃分邏輯卷,邏輯卷可格式化成任意文件系統。其優點在于支持多種文件系統,傳輸速度快,提供硬件容錯機制。塊存儲主要適用于快速更改的單一文件系統和針對單一文件大量寫操作的應用場合。
(2)文件存儲:文件存儲屬于文件級別的存儲,可在同一磁盤上存儲同一文件,如文件太大則需要進行拆分,但也需要放在同一磁盤上。其優點在于提供網絡共享。文件存儲主要適用文件較大、多個文件同時寫入等場合。
(3)對象存儲:對象存儲是一個容器組織中存儲文件,以靈活可定制的對象為存儲單元,元數據服務器提供快速并發尋址,來檢索文件。其優點在于讀寫速度較快,同時支持網絡共享,對象可靈活定義。對象存儲主要應用于存儲資源池、集中備份、歸檔等應用場合。
OpenStack作為企業廣泛應用的云計算管理平臺,其提供塊存儲服務的是Cinder服務。Cinder服務本身并不是一種存儲技術,它提供一個中間的抽象層,即在云主機和具體存儲設備之間引入了一層“邏輯存儲卷”的抽象。Cinder通過調用不同存儲后端類型的驅動接口來管理相對應的后端存儲,為用戶提供統一的volume相關操作的存儲接口。
Cinder組件主要由cinder-api、cinder-scheduler、cinder-volume以及cinder-backup幾個服務所組成,各服務之間通過消息隊列進行通信。可在控制節點上安裝cinder-api和cinder-scheduler,其中cinder-api負責接收其他組件或命令對cinder-volume的請求,而cinder-scheduler則是Cinder的調度程序,調度使用哪個volume。
通過Cinder服務創建volume,以塊存儲的形式通過ISCSI提供給計算節點,計算節點使用底層的Libvirt庫把volume塊存儲掛載給云主機使用。同時需在塊存儲節點上安裝cinder-volume服務,它負責調度相應程序,在節點上創建或刪除volume,并更新維護volume在數據庫中的狀態。cinder-volume可以使用多種后端來創建塊存儲,包括LVM、NFS、Ceph和其他諸如EMC、IBM等商業存儲產品和方案。
在controller節點(控制節點)和compute節點(計算節點)安裝好OpenStack的基本環境,配置好yum源,關閉防火墻,Controller節點和Compute節點之間能相互訪問,同時所有密碼均設置為000000。
(1)在控制節點安裝,并創建Cinder服務數據庫和管理賬戶,并給Cinder數據庫設置相應權限。



(9)利用管理員賬號進入管理界面,在管理界面上依次選擇“計算”-“卷”-“創建云硬盤”,創建名為mycinder-1的云硬盤,并將云硬盤連接到cloud2云主機上,見圖1。

圖1 管理已連接云硬盤界面
進入云主機,運行sudo fdisk–l命令進行查看,可以看到新掛載的云硬盤為/dev/vda,見圖2。

圖2 云硬盤掛載圖示
隨著云計算的迅速發展,云存儲技術得到了廣泛應用,本文通過對云存儲技術的介紹,研究了利用Openstack+Cinder實現塊存儲的解決方案并加以實現,希望本文的研究成果能為企業數據存儲提供實際的借鑒價值。