1.項目介紹
Openstack已經成為當下雲計算解決方案的事實標准,然而Openstack囊括了計算、網絡、存儲等大量底層組件,涉及的知識和原理眾多。作為一名openstack的開發人員,在學習研究openstack的過程和平時項目開發中,為學習openstack的運行原理去部署一整套運行環境時耗費精力巨大,還有在進行網絡和SDN相關測試時,由於需要模擬大量虛機的網絡訪問,很難組織大量軟件和硬件資源來進行場景測試。僅僅根據以上兩點,在我自己的openstack軟件開發和測試中非常想去解決這個問題,經過自己的思考和借鑒以往經驗,提出了'從頭搭建openstack運行環境'(Openstack From Scratch)的想法。這是從一套干凈的linux系統,通過軟件包源碼和底層計算(kvm、qemu)、網絡(ovs)、存儲(iscsi、ceph)命令的方式,一步步執行命令運行出一套可運行openstack的環境。
從頭搭建出的openstack環境對以下方面會有重要借鑒意義:
1.對於Openstack的學習者,根據部署手冊,可以在虛機環境里構建出一套openstack原型系統,對於學習虛擬化、網絡、存儲的相關技術原理非常有幫助。
2.對於Openstack開發過程中,去驗證開發的新功能時,可以方便快速的根據自己的需要去構建openstack實驗環境,並對運行環境根據自己的需要進行修改。
3.對於Openstack測試過程中,搭建的Openstack運行環境,占用資源少,部署快捷迅速,在場景測試和壓力測試會大大提高測試效率和減少對硬件資源的依賴。
2.項目基礎架構介紹
2.1 運行環境配置
virtualbox虛機 2台 操作系統:centos7
vm1(控制節點、網絡節點):vcpu:1個,mem:1G,disk:10G,網卡4塊
vm2(計算節點):vcpu:2個,mem:2G,disk:20G,網卡3塊
控制節點網卡配置:
Adapter 1:Host-only網絡 vboxnet3 10.255.255.1 管理網絡
Adapter 2:Host-only網絡 vboxnet4 10.255.254.1 隧道網絡
Adapter 3:Internal網絡 intnet_vlan vlan網絡
Adapter 4:Host-only網絡 vboxnet5 10.255.253.1 外部網絡
計算節點網卡配置:
Adapter 1:Host-only網絡 vboxnet3 10.255.255.1 管理網絡
Adapter 2:Host-only網絡 vboxnet4 10.255.254.1 隧道網絡
Adapter 3:Internal網絡 intnet_vlan vlan網絡
2.2 環境架構圖
2.2.1網絡構成
Manager network:管理網絡用於OFS虛機和宿主機之間管理登錄使用
Tunnel network:隧道網絡用於租戶間建立隧道虛擬網絡使用
Vlan network:vlan網絡用於租戶間provider網絡使用
External network:外部網絡用於租戶虛機訪問外網使用

2.2.2計算節點內部構成
eth0:10.255.255.20 255.255.255.0 10.255.255.1
eth1:10.255.254.100 255.255.255.0 10.255.254.1
eth2:無
租戶Tenant1 tenant網絡 tunnelid=1
vm1: 10.0.0.81 52:54:00:12:34:60 255.255.255.0 10.0.0.1
vm2: 10.0.0.82 52:54:00:12:34:61 255.255.255.0 10.0.0.1
租戶Tenant2 tenant網絡 tunnelid=2
vm3: 10.0.1.83 52:54:00:12:34:62 255.255.255.0 10.0.1.1
租戶Tenant3 provider網絡 vlanid=103
vm4: 10.0.2.84· 52:54:00:12:34:63 255.255.255.0 10.0.2.1
qbr* 安全組網橋,運行虛機對應安全組iptable規則
br-int 集成網橋,虛機掛載網橋,實現localvlan虛機隔離
br-tun 隧道網橋,實現虛機localvlan與隧道id轉換
br-eth2 vlan網橋,實現虛機localvlan與外部vlan轉換
2.2.3網絡節點內部構成
eth0:10.255.255.21 255.255.255.0 10.255.255.1
eth1:10.255.254.101 255.255.255.0 10.255.254.1
eth2:無
eth3:無
租戶Tenant1
dhcp:10.0.0.3 qdhcp-01
HAproxy:10.0.0.100 qlbass-01
租戶Tenant2
dhcp:10.0.1.3 qdhcp-02
租戶Tenant3
dhcp:10.0.2.3 qdhcp-03
br-int 集成網橋,dhcp、HAproxy等服務掛載網橋,實現localvlan租戶間服務隔離
br-tun 隧道網橋,實現虛機localvlan與隧道id轉換
br-ex vlan網橋,實現虛機localvlan與外部vlan轉換
2.2.4綜合場景說明
根據以上信息可以得出以下信息:
1.一共三個tenant租戶,tenant1有兩台虛機通過隧道網絡互通,tenant2有一台虛機也通過隧道網絡互通,tenant3有一台虛機通過vlan網絡互通,並且租戶分別對應有各自的dhcp服務。
2.租戶tenant1和tenant2共享一個router路由,可以實現兩租戶間路由和防火牆服務,並且可以添加外網路由實現snat虛機訪問外網和分配floatingip后實現dnat外網訪問虛機。
3.租戶tenant1兩台虛機配置LBaas服務,實現兩台虛機的負載均衡,並且負載均衡VIP可配置router實現snat和dnat
