在上一篇咱們介紹瞭如何在QCloud標準化的搭建一套域環境,並介紹瞭如何在生產過程當中如何避免一些坑,今天,咱們來介紹這次demo中的另一個角色——共享存儲SG如何部署與設計。sql
接着搭建存儲服務器來聊下如何在QCloud上作線路分離。api
Q一、QCloud提供了虛擬機多個網卡的技術,可是如何確保它們在物理上是隔離的呢?服務器
A1:不可能徹底隔離,由於不僅僅是QCloud,大部分的公有云(包括國際)底層都是採用多個網卡作team來進行多卡容災,若是要多個vNet拆分對應多個物理網卡無非是增長服務器硬件成本,不過目前爲止貌似也沒有哪一個公有云廠商敢宣稱作了徹底的SDN(SDN意味着屏蔽了硬件,vNet可隨機落在某個宿主機的某個網卡上,這一點至少咱們已經在日程上了),若是有兄弟知道這方面的資源歡迎糾偏指正:)網絡
Q二、既然沒法徹底物理隔離難道沒辦法解決線路分離問題嗎?架構
A2:徹底物理分離的完美方案几乎不可能,對國內公有云來講也的確有點爲難,因此儘量的去避免單點故障仍是有可能的,有這麼一種方案,如今QCloud的虛擬機投放策略是儘量打散在不一樣宿主機,那就意味着同一臺宿主機多個虛擬機同一個物理網卡的可能性是微乎其微的,爲了確保這個信息,能夠提交工單來確保這個問題:運維
Okay,回答了上述問題後,咱們開始進入正題,如下是今天須要的服務器信息(本例中會開通外網流量主要爲了方便Demo,可是生產環境中不建議使用外網帶寬):ide
編號優化 |
服務器名稱spa |
生產IP設計 |
存儲IP |
心跳IP |
對外VIP |
1 |
Q-DC01 |
192.168.108.188 |
無 |
無 |
|
2 |
Q-SG01 |
192.168.108.206 |
10.11.11.231 |
無 |
|
3 |
Q-SQL01 |
192.168.108.254 |
10.11.11. |
10.10.10.2 |
|
4 |
Q-SQL02 |
192.168.108.114 |
10.11.11. |
10.10.10.234 |
關於SG,是用來做爲SQL Cluster共享存儲,存儲做用一共分爲三塊,一塊做爲仲裁盤,一塊做爲生產數據,一塊做爲備用(未啓用預留空間)。
涉及架構以下:
Okay,開始動手:
一、 建立多個網卡做爲輔助網卡添加到對應的CVM中,這裏暫時不支持從控制檯直接新建(已經快上線的功能)
因此我們經過API來進行添加便可
能夠參考如下兩篇文章:
a、https://www.qcloud.com/doc/api/245/%E5%88%9B%E5%BB%BA%E7%A7%81%E6%9C%89%E7%BD%91%E7%BB%9C
b、https://www.qcloud.com/doc/product/215/5850
(記得先申請API受權喲)
二、 建立完成後得使用DescribenetworkInterfaces遍歷網卡(使用api建立的網卡不會在界面顯示, https://www.qcloud.com/doc/api/245/4814)
三、 進行網卡改綁定(目前也僅能經過API, https://www.qcloud.com/doc/api/245/4820):
PS:注意是networkinterfaceid不是name,且成功後也不會在控制檯上體現,可是在系統內部能夠看到
四、 使用一樣的方式建立網卡,確認兩個sql子機均可以得到網卡後(分別有三塊,1塊生產、1塊心跳、1塊存儲),這裏偷了下懶用內部系統看了下對應關係是正確的:
(存儲網絡,兩個SQL節點,一個存儲節點)
(心跳網絡,兩個SQL節點)
五、 確保心跳網絡、存儲網絡兩兩之間是通的(略)。
附錄,本篇槽點:
a) 建立彈性網卡 到 綁定主機這個流程太考驗運維實力了,運維童鞋的代碼能力直接決定了這個架構是否搭建成功,由於建立彈性網卡須要API調用,查看彈性網卡須要API調用,綁定彈性網卡也須要API調用。(這一點博主已經直接聯繫了對應的產品童鞋,產品童鞋迴應在12月份就會上線GUI建立網卡這些功能,API主要是方便自動化場景調用)
b) 這裏其實有更加優化的方案去作網絡隔離,那就是私有網絡也用不一樣的,可是這是博主以後想到,建立網卡也須要指定子網ID,就意味着要修改網卡重,根據槽點A這是致命的,因此博主按照規範及架構考慮,強烈建議分離,操做以下:
i. 建立VPC私有網絡
(以一樣的方式建立存儲心跳)
ii. 效果以下:
iii. 接下來將SQL0一、SQL02根據正文中的步驟從新建立網卡並作綁定(沒法直接進行修改,見槽點三)
c) 修改彈性網卡的API ModifyNetworkInterface居然只能修改網卡名稱跟網卡描述,若是要更改網卡,要通過 解綁主機網卡 —— 刪除彈性網卡 —— 建立新彈性網卡 —— 綁定主機。。而這一切,是的仍是得經過API來作(見槽點二)。