本文目錄:
背景描述
架構參考
準備工作
控制節點
計算節點
功能測試
參考鏈接
----------------------正文-------------------------
背景描述:
由於OpenStack的被接受程度越來越高,部署使用OpenStack的企業也越來越多,那承載虛機的存儲使用什麼成爲企業考慮的重點因素,如果放在計算節點本地則無法實現快速的遷移等特性,對於宕機後的數據恢復也是挑戰,所以企業數據基本都是放在共享存儲上的。
傳統的虛擬化例如VMware基本都是存儲在商業存儲上並實現高可用,那對於OpenStack來講,其存儲的選擇也有幾種,其中隨着OpenStack的活躍,也帶動了分佈式存儲Ceph的發展,Ceph不失爲一種好的選擇,但是也有其利弊。也有很多客戶更傾向於商業存儲,今天我就梳理下OpenStack對接商業存儲的方式,用華爲S2600T v1示例。
當然,不通的存儲廠家,甚至不同的型號對接方式都有可能不同,但是華爲的對接方式基本一致。
既然已經到了對接商業存儲的地步了,那麼本文默認你已經將OpenStack部署完成,且有了一定的瞭解,所以本文不會對OpenStack再進行贅述。
架構參考:
OpenStack的存儲分爲三大類:
1、塊存儲-->cinder
2、對象存儲-->swift
3、文件系統-->glance,其實這樣說不太合適
我們主要通過Cinder來對接商業存儲,Cinder的架構如下,不再贅述(圖片源自IBM):
OpenStack版本:liberty
操作系統版本:CentOS 7.2,即1511
Cinder版本:1.4.0
存儲型號:華爲S2600T v1
存儲協議:SAN FC,非ISCSI(FC和ISCSI對接方式稍有差別)
先來看一下整體的物理架構圖:
架構簡述:
1、使用Cinder對接商業存儲,Cinder只提供框架,調用廠商的driver來使用和管理商業存儲;
2、控制節點需要能夠訪問存儲的管理口,官方建議使用管理網;
3、存儲需要支持OpenStack,並提供可用的driver;
4、本方案使用全FC互聯,即控制節點和計算節點全部接有FC HBA卡,並跟存儲互通,即zone已劃好。
然後看一下邏輯架構圖,大致瞭解下掛載流程(以ISCSI爲例,此處跟FC一樣,原圖好像摘自IBM):
準備工作:
1、首先要確認存儲對OpenStack支持情況,需要到OpenStack官網查詢:
https://wiki.openstack.org/wiki/CinderSupportMatrix
我們可以找打Huawei T V1,這就是我爲什麼在寫型號的時候標註v1的原因,因爲華爲對其存儲的 分類歸爲四種:v1、v2、v3和18000,所以我們屬於v1版本,確認支持,並從H版就開始支持,所以 支持應該不錯。
2、現在需要存儲工程師上場了(當然我們已經安裝好了cinder組件),如下:
a、提供存儲端具有管理員權限的用戶名和密碼;
b、由於S2600不支持pool,只能劃分raid組,但是華爲支持對raid組的對接,其他家目前還沒發現支 持的,所以需要提前劃好raid組,並提供raid組的名稱;
c、配置好控制器的IP地址,並提供給OpenStack工程師,這個IP需要跟控制節點,即cinder服務所在 節點互通;
d、FC網絡按照規劃接線,一般需要冗餘,即主機端至少兩根FC線和HBA口,兩臺SAN交換機,存儲端 每臺控制器不少於兩根光纖線;
e、zone需要所有主機都可以連通存儲。
注:如果需要快照功能的話,需要購買snapshot的license
控制節點(cinder節點):
1、安裝如下軟件包:sysfsutils、sg3_utils、kpart3、device-mapper-multipath
前面幾個軟件主要是用於查找HBA卡的WWN已經格式化磁盤等,multipath相信很多人都用過就是多 路徑軟件,用於鏈路聚合,這裏不再介紹;
2、說一下控制節點爲什麼要接HBA卡,這是因爲如果你使用boot from volume功能的話,即虛機創建 在商業存儲上就必須接,如果只是當雲硬盤使用,那麼控制節點可以不接,當然也不排除個別存 儲必須要接的情況;
3、下載驅動並上傳到控制節點
a、下載鏈接:華爲驅動下載 需要確認下載的是對應的版本,例如本次使用liberty版;
b、將下載好的驅動上傳到如下目錄...site-packages/cinder/volume/drivers/huawei,本次對接 前面省略號代替的是/usr/lib/python2.7/site-packages/,不同版本可能不同,需要提前將原 來的代碼文件備份然後清空,當然你也可以使用默認帶的driver,之所以建議下載是爲了保持 最新,因爲這很可能解決了一些已知的BUG;
c、然後定義xml文件
vim /etc/cinder/hws2600tv1_fc_1.xml <?xmlversion='1.0' encoding='UTF-8'?> <config> <Storage> <Product>T</Product> #T or v1系列 <Protocol>FC</Protocol> #FC協議 <ControllerIP0>192.168.0.1</ControllerIP0> #存儲控制器IP <ControllerIP1>192.168.0.2</ControllerIP1> <UserName>admin</UserName> #存儲用戶名密碼 <UserPassword>admin</UserPassword> </Storage> <LUN> <LUNType>thick</LUNType> #厚置備模式 <StripUnitSize>64</StripUnitSize> <WriteType>1</WriteType> <MirrorSwitch>1</MirrorSwitch> <Prefetch Type="3"Value="0" /> <StoragePool Name="RAID001"/> #raid組的名字 <StoragePool Name="RAID002"/> </LUN> </config>
d、定義cinder.conf文件
vim /etc/cinder/cinder.conf [default] enabled_backends = hws2600tv1_fc_1 [hws2600tv1_fc_1] volume_driver=cinder.volume.drivers.huawei.huawei_t.HuaweiTFCDriver cinder_huawei_conf_file= /etc/cinder/hws2600tv1_fc_1.xml volume_backend_name= hws2600tv1_fc_1 use_multipath_for_image_xfer=true enforce_multipath_for_image_xfer=true
e、重啓cinder volume服務
systemctl restart openstack-cinder-volume
f、驗證
當在cinder的volume日誌看到如下日誌信息時,恭喜你,表示已經對接成功。
2016-11-14 18:03:06.189 372883 INFO cinder.volume.manager[req-6edb824c-52c0-437c-8b5d-1996507bb9bd - - - - -] Driver initializationcompleted successfully.
g、創建cinder type
cindertype-create Huawei_S2600_1 cindertype-key Huawei_S2600_1 set volume_backend_name=hws2600tv1_fc_1
這時,你在dashboard上面已經可以看到這臺存儲了,可以創建空卷和可啓動的捲了。
h、如果需要配置cinder多後端,只需要添加backend、對接項和xml文件就好了,此處不寫了。
計算節點:
1、安裝如下軟件包:sysfsutils、sg3_utils、kpart3、device-mapper-multipath
前面幾個軟件主要是用於查找HBA卡的WWN已經格式化磁盤等,multipath相信很多人都用過就是多 路徑軟件,用於鏈路聚合,這裏不再介紹;
2、說一下計算節點節點接HBA卡的作用,其實也不用說了,當然是虛機通過FC網絡進行讀寫操作啦;
3、多路徑軟件的配置我就不多說了,安裝完成後,生成配置文件,或者copy一個到/etc/下即可,然 後重啓multipath服務,這裏需要注意一點從liberty版本後,nova默認不調用multipath,所以需 要檢查nova.conf文件是否啓用了multipath調用,即iscsi_use_multipath;
其實,到了這裏已經對接完成了,接下來你就可以測試了。
功能測試:
根據OpenStack官方支持功能如下,可以逐一進行測試了。
參考鏈接:
1、cinder支持存儲情況:https://wiki.openstack.org/wiki/CinderSupportMatrix
2、cinder driver下載鏈接:https://github.com/openstack/cinder/tree/master/cinder/volume/drivers
3、對接方法參考:http://docs.openstack.org/liberty/config-reference/content/config-fc-tv1.html