OpenStack是否已為IPv6做好準備?
編者按:本文的作者包括Nephos6咨詢公司的總裁、CEO和創始人Ciprian Popoviciu,以及網絡設備供應商的解決方案架構師和Randy Tuttle。
大約在兩年前,我們就開始關注同時解決IPv6過渡和云計算應用兩個問題的重要性。IPv6和云計算是影響企業和服務供應商IT環境演變的若干重大因素中的兩個。
隨著全球范圍內未分配IPv4地址資源的快速匱乏,以及物聯網技術的迅猛發展,我們對于具有更大地址空間的IPv6的需求正變得日益迫切。同時,云計算應用的不斷發展也對服務交付提出了敏捷性的要求,它為企業客戶提供了新的服務選擇。這兩大趨勢是在同時發生著并影響著IT業的各個方面,而且在它們各自的范圍內都是十分復雜的,同時兩者也是相互依存的。單一地考慮其中任何一個都會導致失敗的部署,從而付出昂貴的學費和不必要的返工。
坦白說,我們堅信,如果云計算不是以IPv6為基礎進行建設,那么它必然是無法發揮其潛力的。目前基于IPv4的云計算僅僅只是無所不在云計算服務市場設想的一個概念證明而已。
在2011年至2012年,我們曾對支持IPv6的云計算供應商進行過一次評估,其結果真是慘不忍睹。而隨著越來越多供應商開始提供IPv6支持,我們已把我們的注意力轉向對通過IPv6提供的服務和被我們稱為v6Sonar的基于云計算的服務進行質量評估上。雖然還存在著大量有待完善的問題,但是我們發現一些云計算服務在IPv6上的表現要比它們在IPv4上好得多。但是,我們仍希望看到IPv6在與云計算的協作中做出實質性突破,而不只是簡單的完成預配置虛擬機(VM)的IPv6傳輸。畢竟,“云計算+IPv6”并不是把兩個IT戰略舉措進行簡單的“1+1”,它還是云計算實施中IPv6內在技術價值的增益表現。一直以來,我們都在為云計算與IPv6交集中所孕育的創新機遇而興奮不已。
與弄潮兒一起共舞:OpenStack
從它誕生的第一天開始,我們就一直在關注著OpenStack,這是一個用于建設和管理公共云計算與私有云計算的開源云計算平臺。OpenStack從問世之初就成為了Amazon網絡服務專用平臺的主要競爭對手之一,它是云計算平臺競爭中的一個主要競爭者,所以我們也就很自然地要對其IPv6兼容性進行評估。畢竟,當我們評估專有云計算平臺的IPv6兼容性時,在最好的情況下,很多問題只需要一次評估工作也就很快能變得清晰了。同時,作為一個開源項目,OpenStack允許我們為不兼容IPv6的組件進行打補丁和調整。
OpenStack也得到了服務供應商和大型企業的顯著推動,因為他們也都承受著使用IPv6的越來越大的壓力。為進一步展示和評估云計算與IPv6部署戰略組合的優越性,我們決定在實驗室中進行一次OpenStack IPv6 兼容性的實驗。
很多時候,從創意到實施之間總是有著一條漫長而坎坷的道路。OpenStack宣布從其API 1.1版開始就支持IPv6,而Nova則應該支持有限的功能——也就是說,Nova仍然涵蓋OpenStack網絡和計算功能,且優先于Folsom于2012年九月發布。Nova的網絡組件即將被淘汰,而推出它自己的組件,即Quantum。但是Folsom的發布并不支持IPv6 DHCP和IPv6外部路由,因此我們不得不暫時壓抑一下我們的興奮心情而寄希望于下一次在2013年四月發布的Grizzly。
與熊博弈:OpenStack Grizzly
如圖1所示Grizzly中的每一個組件都在協同過程中起著關鍵的作用。Nova按需提供虛擬服務器,而Quantum – 將于近期在即將到來的10月Havana發布中更名為Neutron – 在Nova和其他OpenStack組件資源之間建立起網絡連接。
我們的目標是評估OpenStack在如下三種模式中在控制級運行的能力,它將會創建雙協議堆棧或只支持從云計算外訪問的IPv6虛擬機:
• IPv6 和 IPv4:雙協議堆棧
• IPv6 和 IPv4:互補 (按需求,一些功能通過IPv6而其他的一些通過IPv4)
• 只支持IPv6
我們不僅希望在IPv6過渡期看到云計算服務的身影,而且希望云計算服務能夠構建基于IPv6的下一代架構。
我們首先評估的是OpenStack Grizzly的命令核心組件:Nova、Glance以及Quantum。Nova和Quantum顯示了IPv6的問題(參見圖2),很顯然,OpenStack的大量開發工作并不是以IPv6為目標的。例如,一個虛擬機是無法輕易地獲得多個IP地址的,更不用說基于范圍將它們納入應用中了。顯然,IPv6專業技術仍處于供不應求階段。

圖. OpenStack中的IPv6問題。
對于租戶網絡——它意味著在多租戶云計算中的單一租戶環境——我們發現以下問題:
• Dnsmasq, 即一個DNS轉發器和DHCP服務器,沒有被推出以支持路由器廣告和無狀態地址自動配置。
• Dnsmasq并沒有被綁定在正確的接口,所以虛擬機點的IPv6默認路由是DHCP服務器地址而不是網關地址。
• 計算機節點的默認ip6table規則需要進行調整,以便于在同一子網中的路由器和虛擬機能夠通過鄰居發現消息實現相互間的通信。
對于外部網絡——即在OpenStack云計算和外部世界之間的通信——我們的測試結果如下:
• 路由器網關(即路由器的端口面向外部網絡)不支持多個子網。換而言之,IPv4和IPv6子網無法實現至相同接口的關聯。
• 不建議在租戶網絡和外部網絡之間使用網絡地址轉換(NAT)和NAT64。
• 在IPv6中不需要通用屬性注冊協議,因為我們在協議堆棧有復制地址檢測,這是IPv6另一個不錯的功能。
我們讓它能夠正常工作,但它也僅僅進行一些努力并完成一些Python編碼工作。盡管如此,我們能夠在IPv6上運行OpenStack,這就是最好的進展。
如果你希望了解我們測試和測試結果的更多詳細信息,我們建議你閱讀我們的免費白皮書《IPv6與OpenStack Grizzly》,該文為相關人士提供了一個入門IPv6和云計算領域以及學習各個相關技術的好途徑。
我們無法希望IPv6消失,無法忽視云計算,但是如果你運行著一個服務供應商業務或企業IT部門,那么最明智的做法就是充分考慮這兩者并正確行事。云計算+IPv6并不是簡單1+1 的問題,而OpenStack+IPv6將成為眾多下一代IT環境的一部分。如欲了解更多詳細信息,請通過以下地址與我們聯系,并敬請關注后續測試結果。
作者簡介:
Ciprian Popoviciu 是Nephos6的總裁、CEO和創始人,Nephos6是一家專門從事IPv6和云計算的咨詢公司,其總部位于Raleigh, N.C。請通過chip@nephos6.com與他聯系。
Shixiong Shang, 電子工程碩士,思科認證網絡專家,是一位具有十四年網絡技術經驗的解決方案架構師。他目前的項目涉及OpenStack部署和基于云計算的視頻解決方案應用。可通過sparkofwisdom.cloud@gmail.com與他聯系。
Randy Tuttle, 電子工程學士,是一位在軟件設計和語音IP解決方案架構領域擁有25年經驗的解決方案架構師。他目前從事基于云計算的視頻服務解決方案工作。可通過randy.m.tuttle@gmail.com與他聯系。