呂始勝 李東 公安部第一研究所
安全檢查作為保障社會穩定的一項重要措施,目前已經廣泛應用在大型活動、交通、場館等各個領域。同時,隨著技術的發展,新型設備、新興技術也在安全檢查行業得到了進一步的推廣,如人臉識別、毫米波人體成像等技術也會提高安檢效率,創造更優質的用戶體驗。
但是在行李檢查方面,傳統X射線技術仍然是目前的主流技術,特別是通道型X射線機更是占據主導地位。與之相對應的管理系統,目前大多是在局域網運行甚至單機模式運行,這樣就形成了一個個信息孤島,不僅無法實現全國范圍的違禁物品交流共享,也無法利用大數據技術對圖像進行分析、輔助判讀,主要靠安檢員的主觀判斷,存在一定的安全隱患。
另一方面,云計算作為目前已經成熟的技術,已經廣泛應用在各個方面。基于安全性考量,安檢行業對IT環境和物理資源特別是核心數據(人員信息、圖像、設備信息)具有完全的控制,同時又有提高資源的利用率、簡化本地硬件管理成本、具備容災功能、建設大數據智能化應用等切實的需求,因此構建安檢私有云平臺是今后安檢行業發展的一個趨勢。
私有云平臺的構建可以采用三種模式:
1. 企業或研究機構自行開發
這種方式需要企業或研究機構有很強的技術實力,比較典型的是清華大學的透明計算平臺。
2. 采用商業解決方案
國內外不少商業公司提供了較為成熟的私有云整體解決方案,比較典型的是VMWare公司的vSphere、華為云、阿里云、百度云、聯想云等。其中,有些公司提出了超融合概念,超融合既有包含軟件和硬件的一體機模式,也有純軟件模式,國內私有云軟件部分都是在開源架構上進行了二次開發。
3. 使用開源解決方案
這種方案是利用開源系統構造企業或組織的私有云平臺,典型的開源系統包括OpenStack、CloundStack、Eucalyptus和OpenNebula等。

在自行開發、商業解決方案和開源解決方案3種私有云的構建模式中,開源方案具有如下多個優勢:
1. 使用成本低
用戶只需要購買硬件設備和網絡設備,無需為開源軟件的使用付費。即使用戶需要開源軟件開發商提供服務,其需要付出的費用也相對比較低廉。
2. 開放源代碼
開放源代碼,有利于研究人員對系統內部的實現機制進行深入研究。開源軟件使用Apache或其他授權協議,用戶能夠獲得系統的源代碼,并且可以通過社區、討論組等多種形式,與開發人員和其他用戶深入探討各種技術問題。
3. 平臺可擴展性強
由于現有的云計算技術尚在快速發展中,沒有形成統一的技術標準和規范,一旦選擇了一種商業解決方案,就很難轉換到其他平臺。而開源云平臺在設計時一般會保持對主流云計算技術的兼容性,同時提供轉換工具,有效地避免了廠商鎖定問題,增強了系統的可擴展性。
目前主要的開源云計算系統有OpenStack、CloudStack、 Eucalyptus和 OpenNebula等 , 其 中OpenStack目前已經獲得英特爾、惠普、戴爾、Ubuntu、思科等多個重要公司和開源組織的支持,同時還可以構建公有云和私有云,是目前最熱門的開源云計算系統,也已經稱為開源云計算的事實標準。
基于成本、技術可實現性、技術發展遠景等方面綜合考慮,同時結合安檢行業的具體需求及規劃,研究方案選擇使用OpenStack構建私有云平臺。
1. KeyStone
主要作用是為各個組件提供用戶的認證、鑒權等服務,是核心組件之一。
2. Nova(OpenStack Compute)
主要作用是控制虛擬機的配置及整個生命周期,是核心組件之一。
3. Glance
主要作用是存儲虛擬機的鏡像和快照等,是核心組件之一。
4. Neutron
主要作用是提供網絡和地址管理,是SDN(軟件定義網絡)在OpenStack里的一個實現,是核心組件之一。
5. Cinder
主要作用是提供塊存儲服務。
6. Swift
主要作用是提供對象存儲服務。
7. Horizon
主要作用是提供一個圖形化OpenStack管理界面。
8. Heat
主要作用是做各個服務的編排。
OpenStack主要有四種節點:
1. 控制器節點
是OpenStack的管理節點, OpenStack大部分服務都是運行在控制器節點上,如keystone認證服務、Glance管理服務等;
2. 計算節點
指實際運行虛擬機的節點,虛擬機實際上最后是在計算節點上運行的;
3. 存儲節點
可以是提供對象存儲或塊存儲的節點,也可以是一個其它服務的存儲后端;
4. 網絡節點
主要是實現網關和路由的功能。
1. 外部網絡-公開
公共網絡,外部或Internet可以訪問的網絡
2. 內部網絡
(1)私有網絡-私有
僅內部訪問的網絡。
(2)管理網絡-管理
用于OpenStack 各組件以及數據庫、消息隊列之間的內部通信。
(3)存儲網絡-存儲
用于虛擬機及其位于外部存儲系統上的應用程序數據集之間的通信。
(4)服務網絡-服務
用于租戶VLAN/subnets中實例的固定IP地址。
常見的OpenStack部署工具包括:DevStack、Rdo、Puppet、 Ansible、 SaltStack、 TripleO、 Kolla、 OSP、Fuel等,另外可以是使用腳本手動部署。
其中,Fuel是針對OpenStack生產環境目標(非開源)設計的一個端到端“一鍵部署”的工具,大量采用了Python、Ruby和JavaScript等語言。其功能涵蓋自動的PXE方式的操作系統安裝、DHCP服務、Orchestration服務和配置管理相關服務等,此外還有OpenStack關鍵業務健康檢查和log實時查看等非常好用的服務,其在OpenStack個人和企業部署市場上占有較大的份額,不少國內OpenStack公司(如聯想云)的安裝包就是基于Fuel去修改的。
(1)節點的自動發現和預校驗;
(2)配置簡單、快速;
(3)支持多種操作系統和發行版,支持HA部署;
4. 對外提供API對環境進行管理和配置,例如動態添加計算/存儲節點;
(5)自帶健康檢查工具;
(6)支持Neutron,子網能配置具體使用哪個物理網卡等。
Fuel的架構圖如圖1所示。

Fuel的網絡拓撲圖如圖2所示。


在實驗驗證環境中,可以選擇使用低配置服務器甚至是虛擬機等進行功能性驗證;但是在安檢生產環境中,需要對計算、存儲、網絡物理資源等進行高可用設計,實現控制器節點、計算節點、存儲節點、網絡節點的高可用,從而滿足可靠性、可用性、伸縮性、安全性、可管理性、高性能等要求。
安檢私有云平臺的搭建重點在于利用現有的技術,根據安檢的特定需要進行規劃、部署,并最終實現安檢相關業務的遷移上云,從而在不改變現有業務邏輯的前提下,最大程度利用云計算的優點解決當前安檢業務中的實際問題。
1. 選擇網絡拓撲
采用標準Fuel高可用網絡拓撲;
2. 準備網絡和IP分配管理方案
根據節點類型確定網絡物理接口數量,并采用VLAN模式進行網絡隔離,為公網、浮動地址、管理網、存儲網和虛擬機內部網絡規劃網絡地址和VLAN ID;
3. 選擇存儲
根據安檢業務的需要,選擇Ceph作為后端存儲,并確定為3副本模式從而保證存儲的高可用;
4. 確定節點總數、各節點角色以及高可用規劃
確保各節點不少于3個,以確保控制器節點、網絡節點、計算節點和存儲節點的高可用,并通過對虛擬機的規劃實現安檢業務系統的高可用;
5. 規劃監控工具
采用Ceiloment對資源和用量進行監控;
6. 安裝Sahara、運行 Hadoop
實現安檢特定業務的大數據處理需求;
7. 規劃裸機
安裝部署裸機服務,滿足連接特定外設的需要;
8. 計算需要的服務器和網絡情況
在匯總OpenStack高可用環境及安檢業務系統所需的計算、存儲、網絡資源后,根據相應的計算公式計算所需的服務器和網絡數量,從而保證業務的穩定可靠。
1. 配置相關網絡
根據網絡規劃,設置物理網卡,并劃分相關子網。
2. 安裝Fuel Master
使用安裝包,進行Fuel Master節點的安裝。安裝完成后會彈出配置界面,可以根據Fuel Master節點的網絡情況設置網絡以及PXE等,配置完后即可通過瀏覽器打開管理界面。
3. 安裝OpenStack
Fuel主節點安裝完畢后開始部署OpenStack。各子節點網絡部署好并重啟后,便會自動進入PXE模式被Fuel主節點發現。在管理界面中根據實際情況將各子節點劃分成控制器節點、存儲節點、計算節點,然后為每一個節點修改網卡對應的網絡,如圖3所示。

待各子節點設置完成,即可進行OpenStack環境的部署,系統將會在各子節點上安裝操作系統及OpenStack相應的組件,從而完成云平臺的構建,為上層應用提供資源和服務。
在安檢私有云平臺搭建完成后,可以在該平臺上根據業務需要安裝虛擬機或直接管理裸機,并將相關安檢業務系統遷移到這些虛擬機或裸機上,從而實現安檢業務上云。
安檢業務上云后,不僅能夠保證原有業務系統正常運行,而且具有良好的可靠性和可擴展性,為今后安檢向智能化發展提供技術保障。
根據業務需要,規劃并部署了一套用于安檢系統驗證和測試的安檢私有云平臺,將現有的某些業務遷移到該平臺,并在此基礎上結合公有云實現了基于混合云模式的安檢典型案例、典型違禁品數據共享等業務的拓展。通過該平臺,不僅能夠完成現有系統的測試,而且對現有系統的升級改造提供了新的解決方案,在試用過程中獲得了良好的評價。



根據安檢行業現狀以及今后的發展趨勢,結合私有云平臺的規劃和部署選型,使用Fuel部署工具搭建安檢私有云一方面能夠滿足安檢的實際需要以及擴展能力,另外一方面可以實現技術的快速落地,從而為提高安檢效率、提高資源利用率提供可靠的技術保障。