後端技術雜談8 OpenStack架構設計

2021-09-20 02:10:48 字數 3078 閱讀 7067

openstack networking (code-name neutron) 網路服務

openstack object storage (code-name swift) 物件儲存服務

openstack block storage (code-name cinder) 塊裝置儲存服務

openstack identity (code-name keystone) 認證服務

openstack image service (code-name glance) 映象檔案服務

openstack dashboard (code-name horizon) 儀錶盤服務

openstack telemetry (code-name ceilometer) 告警服務

openstack orchestration (code-name heat) 流程服務

openstack database (code-name trove) 資料庫服務

compute       【nova】        在openstack環境中計算例項的生命週期管理。按需響應包括生成、排程、**虛擬機器等操作。

networking    【neutron】     確保為其它openstack服務提供網路連線即服務,比如openstack計算。為使用者提供api定義網路和使用。基於外掛程式的架構其支援眾多的網路提供商和技術。

object storage    【swift】   通過乙個 restful,基於http的應用程式介面儲存和任意檢索的非結構化資料物件。它擁有高容錯機制,基於資料複製和可擴充套件架構。它的實現並像是乙個檔案伺服器需要掛載目錄。在此種方式下,它寫入物件和檔案到多個硬碟中,以確保資料是在集群內跨伺服器的多份複製。

block storage       【cinder】   為執行例項而提供的永續性塊儲存。它的可插拔驅動架構的功能有助於建立和管理塊儲存裝置。

identity service  【keystone】    為其他openstack服務提供認證和授權服務,為所有的openstack服務提供乙個端點目錄。

image service     【glance】  儲存和檢索虛擬機器磁碟映象,openstack計算會在例項部署時使用此服務。

telemetry服務      【ceilometer】  為openstack雲的計費、基準、擴充套件性以及統計等目的提供監測和計量。

orchestration服務   【heat服務】   orchestration服務支援多樣化的綜合的雲應用,通過呼叫openstack-native rest api和cloudformation-compatible query api,支援hot格式模板或者aws cloudformation格式模板

私有網路的覆蓋流量通過管理網路而不是專用網路

local 網路與其他網路和節點隔離。local 網路中的 instance 只能與位於同一節點上同一網路的 instance 通訊,local 網路主要用於單機測試。

flat 網路是無 vlan tagging 的網路。flat 網路中的 instance 能與位於同一網路的 instance 通訊,並且可以跨多個節點。

vlan 網路是具有 802.1q tagging 的網路。vlan 是乙個二層的廣播域,同一 vlan 中的 instance 可以通訊,不同 vlan 只能通過 router 通訊。vlan 網路可以跨節點,是應用最廣泛的網路型別。

vxlan 是基於隧道技術的 overlay 網路。vxlan 網路通過唯一的 segmentation id(也叫 vni)與其他 vxlan 網路區分。vxlan 中資料報會通過 vni 封裝成 upd 包進行傳輸。因為二層的包通過封裝在三層傳輸,能夠克服 vlan 和物理網路基礎設施的限制。

gre 是與 vxlan 類似的一種 overlay 網路。主要區別在於使用 ip 包而非 udp 進行封裝。 不同 network 之間在二層上是隔離的。以 vlan 網路為例,network a 和 network b 會分配不同的 vlan id,這樣就保證了 network a 中的廣播包不會跑到 network b 中。當然,這裡的隔離是指二層上的隔離,借助路由器不同 network 是可能在三層上通訊的。network 必須屬於某個 project( tenant 租戶),project 中可以建立多個 network。 network 與 project 之間是 1對多關係。

subnet 是乙個 ipv4 或者 ipv6 位址段。instance 的 ip 從 subnet 中分配。每個 subnet 需要定義 ip 位址的範圍和掩碼。

port 可以看做虛擬交換機上的乙個埠。port 上定義了 mac 位址和 ip 位址,當 instance 的虛擬網絡卡 vif(virtual inte***ce) 繫結到 port 時,port 會將 mac 和 ip 分配給 vif。port 與 subnet 是 1對多 關係。乙個 port 必須屬於某個 subnet;乙個 subnet 可以有多個 port。

br-int:bridge-integration,綜合網橋,常用於表示實現主要內部網路功能的網橋。

br-ex:bridge-external,外部網橋,通常表示負責跟外部網路通訊的網橋。

gre:general routing encapsulation,一種通過封裝來實現隧道的方式。在openstack中一般是基於l3的gre,即original pkt/gre/ip/ethernet

veth:虛擬ethernet介面,通常以pair的方式出現,一端發出的網包,會被另一端接收,可以形成兩個網橋之間的通道。

qvb:neutron veth, linux bridge-side

qvo:neutron veth, ovs-side

tap裝置:模擬乙個二層的網路裝置,可以接受和傳送二層網包。

tun裝置:模擬乙個三層的網路裝置,可以接受和傳送三層網包。

iptables:linux 上常見的實現安全策略的防火牆軟體。

vlan:虛擬 lan,同乙個物理 lan 下用標籤實現隔離,可用標號為1-4094。

vxlan:一套利用 udp 協議作為底層傳輸協議的 overlay 實現。一般認為作為 vlan 技術的延伸或替代者。

namespace:用來實現隔離的一套機制,不同 namespace 中的資源之間彼此不可見。

Shellcode技術雜談

shellcode是溢位程式和蠕蟲病毒的核心,提到它自然就會和漏洞聯想在一起,畢竟shellcode只對沒有打補丁的 主機有用武之地。網路上數以萬計帶著漏洞頑強執行著的伺服器給hacker和vxer豐盛的晚餐。漏洞利用中最關鍵的是 shellcode的編寫。由於漏洞發現者在漏洞發現之初並不會給出完整...

Shellcode技術雜談

shellcode是溢位程式和蠕蟲病毒的核心,提到它自然就會和漏洞聯想在一起,畢竟shellcode只對沒有打補丁的 主機有用武之地。網路上數以萬計帶著漏洞頑強執行著的伺服器給hacker和vxer豐盛的晚餐。漏洞利用中最關鍵的是 shellcode的編寫。由於漏洞發現者在漏洞發現之初並不會給出完整...

c 技術雜談

while scanf d n 這個while迴圈裡面的語句代表當輸入為空或者讀取到最後乙個值時停止迴圈,代表按位取反 const和指標的三種經典組合 const int p 指向常量的指標 char const p a 常指標 const char const p a 指向常量的常指標 左移 右移...