[產品介紹] Virtualized NonStop - vNonStop

作者/王宜倫

前言 HPE在2015年推出NonStop X型系統,採用Intel Xeon x86-64架構處理器與InfiniBand FDR等技術,大幅提升系統處理容量及縮短延遲時間,並維持一貫的容錯特性,擁有IDC最高等級AL4的可用性。在2016年又推出NSADI (NonStop Application Direct Interface)產品支援RDMA (Remote Direct Memory Access),讓NonStop可更快速、更有效率的與其它平台交換資料。 在2017年3月底,HPE將虛擬化技術應用在NonStop系統,推出Virtualized NonStop – vNonStop (vNS),讓NonStop應用更廣也更有彈性;未來不一定需要大量的硬體設備才能實現不停頓的容錯系統,針對開發、測試、備援都可依需求彈性的調配環境,企業可藉由vNonStop在雲端環境執行最關鍵重要的應用系統。 圖一為HPE對vNonStop的實機展示,使用2台DL380 server建置2套vNonStop系統。

《圖一》vNonStop Demo
vNonStop主要特性 vNonStop主要是結合NonStop X型主機與虛擬化技術,相關特性說明如下:
  • 處理器:採用Intel Xeon x86處理器(64-bit mode)。
  • 作業系統:與NonStop X系列相同的L版本作業系統,自L17.02開始支援vNonStop。
  • 虛擬化環境:KVM hypervisor。
  • Virtual Machines (VMs):下列NonStop元件會以VM方式運作
    • NonStop Virtualized CPUs (vNS CPUs):支援初階與高階規格。
    • Virtualized NonStop System Console (vNSC):每個系統需要1個vNSC。
    • NonStop Virtualized CLuster I/O Modules (vCLIMs):與NonStop X NS7相同,最多支援56台vCLIMs。
  • 容錯架構:vNonStop支援下列容錯架構
    • NonStop標準容錯架構(若正確規劃可擁有與NonStop i、NonStop X相同的容錯能力)。
    • 僅CPUs有容錯規劃。
    • 無容錯規劃,OpenStack在部署vNonStop資源時可不考慮容錯需求。
  • IP CLIM與Open CLIM:支援VLANs、VXLANs for virtio、SR-IOV與PCI-passthrough 網路介面。
  • 軟體和OpenStack:
    • Ubuntu 16.04, including KVM hypervisor
    • OpenStack Mitaka
  • 軟體提供方式:
    • 系統初始建置時提供客製的SUT (QCOW2格式)。
    • vCLIM初始建置時提供QCOW2 image (後續可透過CLIM DVD更新)。
    • 提供NonStop System Console DVD Update的ISO image。
    • 提供Halted System Services (HSS)的ISO image。
    • 提供Virtualized NonStop deployment tools for OpenStack。
  • 系統內部連結:40 Gbps RoCE (RDMA over Converged Ethernet)。
  • Clustering:高階vNonStop系統間可直接透過RoCE連接。
  • Expand:支援Expand/IP,與NonStop i、NonStop X連接透過此方式。
  • Storage:支援多種storage選項,包含SAS drive、HPE StoreVirtual VSA (Virtual Storage Appliance)、storage array。
  • 軟體授權:高階機種支援2、4、6 core licensing,初階機種支援1 core licensing。
  • 程式版本:支援TNS (code 100)與TNS/X (code 500)程式,TNS/R、TNS/E可重新compile為code 500程式。
  • Endianism:Big Endian,與其它NonStop相同。
  • 系統最低需求:需要2台server可供部署vCPU VM x 2、Storage vCLIM VM x 2、IP vCLIM VM x 2、vNSC VM x 1。
vNonStop系統架構 vNonStop擴展NonStop系統產品線,為cloud-ready的產品,提供新的部署工具可讓客戶將VM部署在私有雲上,如圖二所示:

《圖二》執行於私有雲上的vNonStop VMs
vNonStop的VM實際執行於實體主機的運作環境可參考圖3,此為2顆CPU的vNonStop系統,實體主機包含2台Linux server,每台Linux server上各安裝2顆16 core的CPU,兩台RoCE 40Gbps Ethernet Switch做容錯架構(X、Y fabric);每個vCPU使用6個實體core、2台IP vCLIM各使用8個實體core、2台Storage vCLIM各使用2個實體core、1台vNSC使用2個實體core,連接外部Storage和Ethernet網卡。此架構滿足大部分容錯架構的需求,但仍需考量Storage volume必需要為mirrored、Primary和Mirror LUN必需要分散在不同的storage enclosure和disk drive、多組電源等項目。

《圖三》vNonStop – 2 CPU example
一、vNonStop Networking IP、Telco vCLIM (open CLIM)是透過OSM OpenStack plugin進行部署,後續的建置與設定使用OSM。
  • IP、Telco vCLIM支援7個網路port,eth0保留給管理使用,eth1~5為user使用;每個vNonStop系統至少要有2個port供$ZTCP0、$ZTCP1使用,通常使用eth1~eth5,若eth1~eth5無空port可使用,則使用eth6。
  • vCLIM支援PCI passthrough、SR-IOV、virtio,採用SR-IOV或是PCI passthrough模式,IP、vCLIM最多可設定4個實體HPE 10Gbps Ethernet網路port。
  • 支援VLANs與VXLANs。
  • IP、Telco vCLIM與實體CLIM支援相同的NonStop加值功能,包含udp, tcp, sctp, raw sockets, IPv4, IPv6與IPSec;partner軟體也可安裝執行於Telco vCLIM。
  • vCLIM支援Expand/IP連接NonStop i與NonStop X。
  • RoCE clustering支援高階vNonStop server。
  • PCI passthrough、SR-IOV、virtio優缺點說明如下表:

《表一》
二、vNonStop Storage vNonStop支援的Storage包含SAS disk drive、HPE StoreVirtual Virtual Storage Appliance、Storage array等,vNonStop的Storage建置是先使用OpenStack Cinder service設定disk I/O裝置(block device),採用virtio方式提供給Storage vCLIM使用,後續的建置和設定則使用Storage Subsystem Manager;Storage vCLIM的部署是使用OSM OpenStack plugin,並使用OSM做後續設定。Storage vCLIM支援3個virtio介面,eth0保留給硬體管理使用,eth1~eth2供ESKM (Enterprise Secure Key Manager)和iSCSI使用。圖4為採用VSA的架構圖。

《圖四》VSA option with Storage Fabric Switches
vNonStop在效能與可用性上設計考量
  • 硬體本身支援虛擬化技術,並提供一個簡單、穩固和可靠的Hypervisor host OS軟體,提供眾多VM間的隔離和保護能力。
  • vNonStop使用Intel虛擬化技術– Intel Virtualization Technology for Directed I/O (VT-d),包含下列功能:
    • DMA remapping:支援I/O裝置到VM的DMA轉址功能。
    • Interrupt remapping:支援I/O裝置到特定VM的interrupt隔離和路由功能。
    • 支援Single Root I/O Virtualization (SR-IOV):SR-IOV是PCI (Peripheral Component Interconnect)的標準,允許PCIe的I/O裝置以多個實體與虛擬裝置呈現。
  • VM效能最佳化參數設定
    • 針對vCPU和vCLIM綁定core、記憶體設定1GB pinned huge page、啟用hyperthread、VM所使用的core需要為同一NUMA zone。
    • 在部署vNonStop時,OSM OpenStack plugin會選擇預設的最佳效能相關參數。
  • 不允許其他VM使用綁定給vCPU和vCLIM的core。
  • vNonStop軟體經最佳化可降低VM exits
    • VM exit為VM將控制權交回給VMM (host OS)。
  • Linux host OS上軟體最佳化
    • RHEL需要QEMU (Quick Emulator) version 2.3以上的版本以取得較佳效能。
    • QEMU package可單獨於Linux host OS上更新。
    • vNonStop使用手冊上有列出驗證過的Linux版本和重要的更新。
  • RoCE的訊息傳遞延遲時間相較InfiniBand無顯著較高。
  • 40 Gbps RoCE (vNonStop)和56 Gbps InfiniBand (NonStop X)的頻寬遠高於大多數應用系統需求,不太可能發生耗盡RoCE NIC頻寬的狀況,除非共用RoCE NIC的所有VM同時產生非常大量的資料流量;針對RoCE NIC使用上的限制說明如下:
    • 每張RoCE NIC最多支援4個vNonStop VM。
    • 其中最多只能有2個VM是vCPU。
    • 若2個vCPU VM要共用同一張RoCE NIC,這2個vCPU必需要為不同vNonStop系統。
OpenStack Service for vNonStop vNonStop使用下列OpenStack Service部署和配置vNonStop環境:

《表二》
總結 vNonStop是一個cloud-ready的解決方案,使用OpenStack service在私有雲上建置Virtualized NonStop server,有效解決傳統NonStop使用者對於維護開發測試與備援系統的負擔,也提供線上系統不同的選項,同時擁有NonStop系統容錯特性、對transaction完整的支援能力、不斷提升的效能與虛擬化雲端運算的彈性。 (作者目前服務於凌群電腦NonStop Kernel服務總處) 參考資料 1.Plum, Lars, vNonStop architecture, Connect HPE NonStop Technical Boot Camp, November 2016 2.HPE Virtualized NonStop Deployment and Configuration Guide, March 2017