本節書摘來自華章出版社《openstack實戰指南》一 書中的第2章,第2.1節,作者:黃 凱 毛偉傑 顧駿傑 ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
塊存儲節點負責提供volume(雲硬碟)。cinder服務可以在塊存儲上建立volume,以塊存儲的形式通過iscsi提供給計算節點,計算節點使用底層的libvirt庫把volume塊存儲挂載給虛拟機使用。
在控制節點上已經安裝了cinder-api和cinder-scheduler,在真正的塊存儲節點上需要安裝cinder-volume的服務,它排程相應程式,在節點上建立或删除volume,并更新維護volume在資料庫中的狀态。cinder-volume可以使用多種後端來建立塊存儲,最簡單的方式是使用lvm(使用一個vg,然後在這個vg上建立lv作為volume)。我們在測試中也使用lvm的後端。
1.?系統環境準備
作業系統仍舊使用ubuntu 12.04 lts。網絡節點需要一個網口,即network-2。這個網絡除了和控制節點進行rabbit mq、mysql資料通信之外,還和計算節點進行iscsi的資料通信。在實際環境中,所有的虛拟機和雲硬碟資料都通過這個網絡,可能造成虛拟機讀寫volume的瓶頸問題,是以,可以考慮使用單獨的網絡和計算節點連接配接,必要時可以采取網口綁定或采用10gbit/s網絡。
1)進行網絡ip設定,代碼如下:
筆者這樣設定是不能連接配接外網的,但由于需要安裝軟體,是以讀者可以先用其他能連接配接internet的網絡代替。
2)重新開機網絡,指令如下:
3)添加havana的源,代碼如下:
更新完系統之後,可以根據實際情況重新開機伺服器。
4)同步時間,代碼如下:
編輯ntp.conf,在控制節點的ip中加入下面的一行,并且放在所有“server ntp伺服器域名”的行之前,或者删除其他關于server ntp伺服器的行。
2.?安裝配置cinder-volume
因為使用lvm作為後端,是以必須安裝lvm2包。安裝指令如下:
確定系統中有除了安裝系統所在的盤之外的一塊單獨的硬碟或者使用raid做的盤。可以使用指令fdisk-l檢視。在筆者的環境中,系統安裝在/dev/sda中,筆者有額外的一塊硬碟/dev/sdb,用它建立一個vg,命名為cinder-volume,其代碼如下:
安裝cinder-volume元件和相關的包,指令如下:
配置cinder.conf檔案,這個檔案和控制節點的cinder.conf檔案大緻相同,唯一不同的是需要改變rabbit_host參數和資料庫的connection參數,把其中的ip都設定成控制節點的ip,而在控制節點上的配置檔案中,這兩個參數的ip可以是localhost。其代碼如下:
重新開機服務,指令如下:
全部完成之後,可以在控制節點上運作指令cinder-manage service list,檢視cinder-volume服務是否正常運作。