TaoCloud SSAN是散布式塊存儲產品,oVirt是Redhat的開源IaaS平臺,這二者計算存儲融會可提供1體化的虛擬化/私有云解決方案,幫助客戶取得更好的高性能、高可用、擴大性、業務連續性、簡化管理、更低的整體本錢。
本文檔介紹TaoCloud SSAN + oVirt的融會解決方案,重點論述方案架構、系統部署、功能測試、高可用測試、性能測試等內部,從而為技術人員進行POC測試或系統實行提供參考。
1、SSAN簡介
TaoCloud SSAN是典型的ServerSAN產品,遵守軟件定義存儲理念,可從X86服務器硬件平臺的本地存儲資源中創建基于服務器的SAN,以便按需提供具有彈性的、可擴大的存儲容量和性能。SSAN采取去中心化的全對等Share-nothing架構,融入Scale-out散布式塊存儲技術,閃存優化技術,超融會技術,安全加固技術,構建高效、可靠、智能、彈性的存儲計算平臺。
SSAN采取Scale-out橫向擴大存儲架構,聚合X86服務器內的存儲和計算資源,可最小從3個X86服務器節點動態擴大到上千個X86服務器節點,實現EB級的海量存儲容量和大范圍I/O并行的存儲性能。SSAN支持動態的性能擴大,隨著新存儲節點的加入,整體性能延續線性增加。
SSAN遵守SDS軟件定義存儲的設計理念,充分整合各類 IT硬件能力(CPU、內存、總線、磁盤、網絡等),以存儲軟件的高度優化和硬件資源最大化利用為目標,構建高效,智能、可延續升級的開放型軟件定義存儲系統。SSAN集合多種企業級數據服務功能(例如 QoS、自動精簡配置和快照),可實現大范圍、高可靠、高性能、超融會的存儲利用,非常合適對可擴大性和存儲性能要求不斷提升的利用場景,如數據庫、虛擬化、云計算等。
針對虛擬化利用場景,SSAN支持融會/超融會部署模式,每一個SSAN存儲節點同時也是計算節點,通過標準iSCSI接口實現高效的I/O數據訪問。在SSAN中可配置高性能SSD介質,實現存儲加速或自動分層部署。SSAN支持高效的快照機制,可支持無窮數量的并發快照,非常合適虛擬化利用中的虛擬機批量創建/克隆等需求。
TaoCloud SSAN散布式融會存儲差異性特點以下:
(1) KISS簡單系統,無中心對稱式系統架構;
(2) 單卷最大256TB,卷級冗余策略,支持副本和糾刪碼;
(3) iSCSI標準接口,支持多路徑,易于對接各種利用系統;
(4) 支持FC和NAS(NFS/CIFS/FTP)協議導出;
(5) 單1集群支持多個存儲池,支持物理和融會部署;
(6) WebGUI管理系統,支持3員分立權限管理;
更多SSAN產品資料請從 http://www.taocloudx.com 獲得。
2、oVirt簡介
oVirt(Open Virtualization)是1個基于KVM虛擬化技術的開源IaaS解決方案項目,它是Redhat云管理平臺RHEV的社區版本,主要的使用處景是私有云管理,在架構設計上使用了節點/引擎(Node/Engine)架構,特點是專注KVM、基于WEB界面、易于搭建。oVirt類似于VMware vSphere,它是RHEV產品的基石,是RHEV的1個上游項目,1些KVM上的新技術,比如SPICE、GlusterFS等都首先在oVirt上得到支持,以后才會出現在企業版的產品中。oVirt的理念是數據中心虛擬化管理平臺解決方案,目標是方便快速的構建私有云。
oVirt提供基于Web的虛擬機管理控制平臺,oVirt是KVM開源管理程序,該虛擬機軟件支持主流的x86硬件,并允許用戶在其上運行Linux及Windows操作系統。不管是1臺主機上的幾個虛擬機,還是管理數百臺主機上的成千個虛擬機。因此,oVirt專門面向基于linux系統的KVM虛擬化利用場景,為主機和客戶機提供特性豐富且功能強大的服務器虛擬化管理系統,具體包括高可用性、實時遷移、存儲管理、系統調度管理等。
oVirt在架構設計上使用了Node/Engine分離結構,以方便功能的劃分與管理。oVirt由客戶端和管理端組成,客戶端即oVirt-Node 類似于VMWare ESXi,最早由Fedora訂制而成,從3.5版本開始使用RHEL6定制,可以在生產環境使用。oVirt也支持在Linux系統上安裝VDSM服務而得到1個oVirt客戶端,管理端oVirt-Engine 類似基于Web頁面的VMWare vCenter。oVirt依照數據中心來劃分資源,每一個數據中心有整體的存儲、網絡、模版資源,計算資源依照集群劃分,每一個集群從數據中心在獲得存儲、網絡、模版資源。oVirt對宿主機管理非常詳細,軟件和硬件信息都很齊全,乃至可以通過IPIM控制宿主機的電源。oVirt對虛擬機創建是向導式的,也能夠將虛擬機轉換成模版,通過模塊快速復制。
oVirt的主要特性以下:
(1) 宿主機節點管理:支持基于數據中心,集群的管理;
(2) 虛擬機管理:虛擬機的創建、快照、刪除、基于模版的克隆等常見操作;
(3) 動態遷移:在線及離線遷移虛擬機;
(4) 高可用:當1臺宿主機宕機,在另外1臺宿主機上自動開啟虛機;
(5) 管理資源的配額(storage, compute, network);
(6) 宿主機、虛擬機性能查看及統計;
(7) 支持NFS、iSCSI、FC、GlusterFS等存儲方式;
(8) 支持多端口的網口綁定;
(9) 支持命令行工具,可以完成圖形界面的大部份功能;
(10) 支持AD活動目錄;
(11) 提供SDK,支持多種開發語音;
(12) 開源免費;
更從oVirt資料請從 http://www.ovirt.org 獲得。
3、方案介紹
1、SSAN+oVirt融會方案
oVirt開源IaaS平臺多用于桌面云,也可用于服務器虛擬化。桌面虛擬化/云桌面是典型的多客戶端、高并發利用,隨著虛擬桌面數量的增多,對存儲的容量和性能呈明顯的上升趨勢。啟動風暴和集中病毒掃描和關機風暴,對存儲I/O提出了更高的彈性要求,以滿足峰值性能需求。關鍵的桌面利用會非常在乎業務連續性,包括虛機HA、FT(Fault Tolerance)和冷熱遷移。如果沒有數據高可用支持,實現桌面業務連續性會很困難或代價太高。桌臉部署時,會要求快速生成新的大量的桌面鏡像,需要高效的快照/克隆技術。桌面云的價值很多,諸如訪問便利、集中式管理、安全性高、軟件升級方便、利用環保等,但最痛的問題還是本錢問題,下降整體本錢是桌面云競爭的關鍵之1。
oVirt支持NFS/iSCSI/FC等外部存儲系統,同時也支持散布式文件系統。假定每桌面需要50個IOPS,存儲容量100GB,則1000個桌面需要5萬IOPS/100TB存儲性能需求,同時需要數據高可用則還需要1~2倍數據冗余。這類存儲需求下,傳統的存儲不管在性能、可用性、擴大性、管理性、本錢等方面都是極大的挑戰,實際利用中難以滿足需求,還要承當極高的本錢。
TaoCloud SSAN是典型的Server SAN,借助于軟件定義存儲、開放式X86標準架構和高性能SSD存儲介質,SSAN可以替換傳統SAN/NAS存儲,更好地滿足虛擬化對存儲的新需求。采取TaoCloud SSAN構建散布式塊存儲平臺,提供可靠、高效的數據存儲服務,可以實現模板數據、鏡像數據、配置數據、業務數據的統1存儲。SSAN可與VDI主機實現融會部署,進1步提升I/O效力比下降本錢。根據性能、本錢綜合斟酌,可配置全SSD模式或SSD+HDD混合模式。 VDI主機與SSAN之間可通過iSCSI(優先選擇)連接,也能夠通過Qemu接口進行連接。針對虛擬桌面管理平臺的資源配置及控制需求,可通過定制化開發功能實現管理整合或對接。SSAN的SSD Cache功能可實現在配置少許SSD的情況下,實現很高的性能,高效的ROW快照及克隆功能可支持快速、批量的創建桌面。大量實踐表明,TaoCloud SSAN可以很好地支持oVirt平臺。
SSAN支持物理分離和融會部署方式,這里采取SSAN+oVirt融會部署方案,每臺物理服務器既是oVirt計算節點,同時也是SSAN存儲節點。這類方案可以更好發揮本地存儲優先訪問策略優勢,可以提高資源利用效力,也進1步下降了本錢。方案優勢以下:
1、彈性存儲,支持在線快速擴容;
2、高可用存儲,數據多副本,存儲不中斷;
3、高性能存儲,閃存優先,本地I/O優先,高效的快照和克隆;
4、iSCSI標準接口,支持各類VDI平臺;
5、融會架構,進1步提升效力,下降本錢;
6、支持定制化開發,滿足個性化的資源管控需求;
2、方案拓撲
為了便于方案POC測試,這里采取3節點融會部署方案,實際利用根據需求肯定集群范圍。SSAN采取副本方式保證數據安全性和可用性,副本策略可以根據實際需求靈活設置,POC測試采取3副本策略。存儲介質推薦全SSD或SSD+HDD,網絡互連建議10GbE,POC環境采取全SSD/萬兆。測試拓撲以下:
3、硬件環境
硬件項目 |
配置 |
數量 |
提供者 |
X86服務器 |
E5 2620v2單路CPU; 64GB內存; |
3臺 |
|
SSD |
Intel DC3700 400GB |
6塊 |
|
萬兆網卡 |
Intel X520-SR2萬兆網卡 |
3塊 |
|
萬兆交換機 |
48口博科10GbE交換機 |
1臺 |
|
萬兆模塊和網線 |
SFP+光纖 |
3套 |
4、軟件環境
軟件項目 |
配置 |
提供者 |
Linux OS |
CentOS 6.7 x86_64 (2.6.32⑸73) |
用戶/TaoCloud |
oVirt |
3.5.6 |
用戶/TaoCloud |
SSAN |
1.3.2 |
TaoCloud |
IP地址 |
3個管理IP+3個數據IP,分為兩個網段 |
用戶 |
4、系統部署
1、CentOS安裝配置
1.1、開啟CPU虛擬化(VT)功能
oVirt基于KVM虛擬化技術管理虛擬機,需要CPU虛擬化(VT)功能支持,開機啟動進入BIOS設置,開啟虛擬化VT功能。如圖所示,開啟Intel VT-x(CPU硬件虛擬化)和Intel VT-d(PCI Passthrough IO虛擬化)。
1.2、CentOS最小安裝
X86服務器硬件和網絡硬件安裝配置完成后,便可以進行操作系統和相干軟件的安裝。每一個服務器節點安裝相同版本的操作系統,Linux OS采取CentOS 6.7 x86_64 (2.6.32⑸73)最小模式。如果是Intel的萬兆網卡和SSD,Centos 6.7可以直接支持,不需要額外安裝驅動。其他廠商的萬兆網卡和SSD,請依照廠商文檔安裝對應驅動。
1.3、系統配置
(1)DNS設置
oVirt配置Engine和Node時,需要使用節點的域名,即oVirt中節點的FQDN。如果有本地有DNS服務器,可以將所有節點的HostName和IP添加進去。若沒有,每一個節點(包括Engine)均需寫到本地。
(2)關閉及清除iptables設置
由于SSAN需要關閉iptables,而oVirt在安裝配置進程中會自動開啟iptables,在每次oVirt節點配置后需重新關閉及清除iptables規則。
(3)Multipath多路徑屏蔽
oVirt是通過multipath管理存儲,而SSAN是直接使用硬盤裝備。由于硬盤被SSAN使用,而oVirt會不斷嘗試使用multipath管理這些硬盤,致使報錯。因此,需將本地硬盤及系統盤添加到multipath的blacklist中,而裝備名可能會產生變動,需要使用wwid添加。
2、SSAN安裝配置
2.1、SSAN軟件安裝
SSAN集群節點自動化進行安裝配置,直接履行ssan_install.sh便可。
(1) 集群節點自動安裝
./ssan_install.sh
輸入節點序號(如0, 1, 2),將自動安裝SSAN軟件包,并自動進行相干系統配置。SSAN每一個節點上履行此步驟,多個節點可以并行安裝。
第1個節點安裝時,如果SSAN集群配置文件ssan_install.conf不存在,則會進行交互式輸入,也能夠手動編輯,其他節點可以直接使用此配置文件。
交互輸入信息包括:
ssan_node_nr: ssan節點數量,缺省是3;
zk_node_nr: zookeeper節點數量,缺省是3;
zk_client_port: zookeeper客戶端端口,缺省是2181;
zk_server_port: zookeeper服務器端口,缺省是2888:3888;
ntp_server: NTP服務IP地址,可選配置項,保證節點時間同步便可;
webgui_server: ssan webgui管理節點IP,可選配置項,使用webgui管理;
node1_mip: 第1個節點管理IP,必填配置項;
node2_mip: 第2個節點管理IP,必填配置項;
node3_mip: 第3個節點管理IP,必填配置項;
(2) 啟動集群服務
SSAN集群管理依賴zookeeper、sagentd和suiagentd服務。集群所有節點安裝配置完成后,需要在每一個節點手工啟動服務,或直接reboot也能夠。請確認每一個節點以上服務都處于Running狀態。
2.2、WebGUI安裝
SSAN支持命令行和WebGUI兩種管理模式,推薦使用WebGUI進行集群管理。管理節點可以單獨部署,也能夠部署在其中1個SSAN節點上。這里我們選擇第1個節點作為管理節點。
./ssanweb_install.sh
第1個節點上直接運行上述ssanweb安裝腳本,自動安裝ssanweb⑴.3.2⑴.el6.x86_64.rpm和webgui運行環境所需求的依賴包,包括httpd、mysql、php等,并自動完成webgui運行環境的配置。安裝完成后,請確認mysqld、httpd服務處于Running狀態。
2.3、SSAN集群配置
下面我們使用WebGUI來對SSAN進行初始的集群配置。
(1) 登錄WebGUI
SSANWEB安裝完成后會提示WebGUI訪問地址,比如
http://192.168.1.1,缺省登錄用戶名admin,密碼為taocloud。登錄以后,可以修改密碼和創建新的管理用戶。
(2) 加入節點
初次登錄WebGUI管理系統,“集群管理-->節點管理”中沒有任何SSAN節點,我們通過“增加”功能將3個節點加入集群。其中IP地址為安裝時填寫的mip管理地址。
(3) 初始化磁盤
SSAN以全部磁盤為單位管理存儲資源池,需要對每個磁盤進行初始化操作。通過“磁盤管理-->物理磁盤”中的磁盤初始化逐1對磁盤進行初始化。初始化成功后,對應磁盤顯示健康和已掛載狀態。
(4) 創建OSD
SSAN中由多個OSD(Object Storage Daemon)組成,每一個節點運行若干OSD進程,每一個OSD管理1塊或多塊物理硬盤,支持SATA、SAS、SSD等類型硬盤。通過“虛盤管理-->OSD管理”增加OSD,選擇節點、管理網絡(IP:Port)、數據網絡(IP:Port)、元數據磁盤、數據磁盤便可。其中,網絡和磁盤不可以重復使用。
(5) 啟動SSAN
全部OSD創建完成后,初始存儲資源池就配置完成了,后續可以Online增加OSD進行擴容。通過“集群管理-->節點管理”中的“操作-->啟動SSAN”啟動所有的OSD進程。
(6) 初始化集群
初次啟動OSD后,初始對SSAN集群進行初始化,自動設置全局缺省存儲池策略。通過“集群管理-->節點管理”中的“集群-->初始化”進行操作。
2.4、創建oVirt虛擬磁盤
這里我們把oVirt中所需要的全部存儲都放置于SSAN存儲池中,包括Hosted Engine虛擬鏡像、數據存儲域和ISO存儲域。創建3個虛擬磁盤VD,均采取3副本冗余策略,容量分別為30G、500G、100G。在SSAN WebGUI管理平臺中創建以下3個VD:
(1) 創建并輸出1個30G的VD,用于安裝Hosted Engine。
(2) 創建并輸出1個大容量500G的VD,作為oVirt的數據存儲域。
(3) 創建并輸出1個100G的VD,并創建1個NFS同享,作為oVirt的ISO存儲域。
3、oVirt安裝配置
oVirt的管理節點叫做oVirt Engine,資源節點叫做oVirt Node。oVirt Engine主要有分離部署、All in One和Hosted Engine3種部署方式。這里我們推薦并采取Hosted Engine部署方式。這類模式下,oVirt虛擬化集群本身在同享存儲上建立1個虛擬機,使用此虛擬機作為oVirt Engine,支持的存儲協議包括NFS3、NFS4、iSCSI(V3.5+)、GlusterFS(V3.6+)、FC(V3.6+)。部署進程相對復雜1點,但是通過Hosted Engine HA避免了單點故障。
官方推薦通過repo源在線安裝,如果沒法訪問外網,則可以通過緩存yum安裝包的方式獲得依賴RPM包,然落后行離線安裝。
3.1、Hosted Engine安裝
(1) 安裝oVirt 3.5的repo源
rpm -Uvh
http://resources.ovirt.org/pub/yum-repo/ovirt-release35.rpm
(2) oVirt Hosted Engine的安裝
yum install ovirt-engine
(3) 首個oVirt Hosted Engine的配置
ovirt-hosted-engine-setup Or hosted-engine --deploy
i. 選擇iSCSI,連接所創建30G的iSCSI存儲;
ii. 選擇oVirt管理網絡所橋接的網卡,選擇不配置iptables,和選擇用于安裝Engine的OS的ISO。網卡要避開SSAN所使用的網絡;
iii. 確認配置后,安裝腳本會啟動1個虛擬機。通過VNC連接到虛擬機,安裝CentOS6;
iv. 操作系統安裝后會重啟VM,此時選擇繼續安裝,安裝腳本會再次啟動此VM。啟動后,安裝oVirt Engine并配置DNS等;
v. oVirt Engine安裝且配置完成后,選擇繼續安裝。等待安裝腳本更新oVirt Engine的數據庫后,根據腳本提示關閉VM,安裝腳本配置完成;
vi. 完成后,Hosted Engine HA進程會檢測并啟動Engine所在的VM。此時可以通過Web訪問oVirt Engine,管理虛擬化平臺了;
vii. 由于安裝進程中oVirt會開啟iptables,需要再次關閉并清除iptables的設置;
(4) 附加oVirt Hosted Engine的配置
ovirt-hosted-engine-setup Or hosted-engine --deploy
i. 選擇iscsi,連接所創建30G的iscsi存儲;
ii. 安裝腳本會檢測到該盤已包括數據域,確認本次是Hosted Engine的附加節點安裝。輸入Host ID,注意節點不要跟已有的節點重復;
iii. 腳本提示輸入首節點IP,用于拷貝配置文件。選擇oVirt管理網絡所橋接的網卡;
iv. 完成Hosted Engine的附加節點的配置。此時可以通過命令查看Hosted Engine節點的狀態。
hosted-engine --vm-status
3.2、oVirt存儲配置
(1) 集群存儲數據域
數據存儲域是面向全部虛擬化集群的存儲資源池,由oVirt對存儲的1個Lun進行再次分配管理。集群中的虛機都可從中劃分1部份空間作為虛盤。
存儲域的添加是在Web管理界面中,順次選擇 數據中心-->存儲-->新建域。選擇Data/iSCSI,輸入連接IP和Port,選擇對應Lun便可。
(2) ISO存儲域
ISO存儲域是面向全部集群的ISO鏡像資源池,虛機可連接其中ISO作為虛擬光盤。
存儲域的添加是在Web管理界面中,順次選擇 數據中心-->存儲-->新建域。選擇ISO/NFS,輸入連接NFS的連接地址肯定便可。
(3) 虛擬機外部存儲
外部存儲是面向單個虛擬機的,使得虛擬機可以獨立的使用Lun作為虛盤。
存儲域的添加是在Web管理界面中,順次選擇數據中心-->集群-->虛機。選擇待操作的虛機,在磁盤選項卡當選擇添加虛擬磁盤。選擇iSCSI,輸入連接IP和Port發現,選擇對應Lun便可。
3.3、存儲多路徑配置
(1) 添加多路徑配置信息
手動在多路徑配置文件/etc/multipath.conf中加入SSAN的多路徑配置信息?;蛑苯油ㄟ^ssan-mpath命令添加:
ssan-mpath.pl --mode device --op add
(2) 添加iSCSI多路徑
i. 界面發現多路徑
在存儲域的添加的進程中,屢次發現連接不同IP上的同1IQN,就會自動添加到該Lun的多路徑中。
ii. 命令行發現多路徑
在命令行手動發現并連接不同IP上的同1IQN,然后通過multipath查看:
iscsiadm -m discovery -t st -p 172.10.10.21:3262
iscsiadm -m node -T iqn.xxx -p 172.10.10.21:3262 –l
multipath -l
iii. 注意事項
多路徑配置信息沒法持久化,連接的多路徑在節點重啟后,后備路徑會消失,需要重新連接后備路徑。
5、功能測試
1、測試方法
按上述方法和步驟成功部署和配置SSAN+oVirt計算存儲物理融會系統,我們就能夠將oVirt中所有的虛機存儲放置于SSAN存儲池,包括HostEngine和Guest VM所觸及的Image鏡像和云盤存儲。功能測試重點驗證數據存儲域、虛擬機磁盤、快照克隆回滾等常規存儲功能點,均在oVirt管理系統中進行操作。功能測試場景非常多,這里羅列了1部份存儲相干核心測試用例。
2、測試場景
6、高可用測試
1、測試方法
SSAN提供了多種數據可靠性和可用性機制,包括副本機制、iSCSI多路徑,為oVirt的高可用性提供基礎支持,包括HostEngine和Guest VM的高可用。這里重點摹擬iSCSI路徑故障和主機故障來驗證SSAN和oVirt的安全性和高可用性。
2、測試場景
7、性能測試
1、測試方法
性能是評估1個存儲產品最為關鍵的指標,包括IOPS、帶寬和延遲,這里采取FIO進行測試分析。
FIO是1個I/O標準測試和硬件壓力驗證工具,它支持13種不同類型的I/O引擎,支持塊裝備和文件系統測試,廣泛用于標準測試、QA、驗證測試等,支持Linux, Windows等操作系統。
2、測試場景
8、總結
oVirt作為輕量級的IaaS解決方案被廣泛利用于桌面云和服務器虛擬化。oVirt支持NFS/iSCSI/FC等外部存儲系統和散布式文件系統,但是傳統存儲不管在性能、可用性、擴大性、管理性、本錢等方面都是難以滿足實際需求。
SSAN是典型的Server SAN,借助于軟件定義存儲、開放式X86標準架構和高性能SSD存儲介質,SSAN可以替換傳統SAN/NAS存儲,更好地滿足虛擬化對存儲的新需求。SSAN支持物理分離和融會部署方式,融會或超融會部署可以更好發揮本地存儲優先訪問策略優勢,可以提高資源利用效力,進1步下降了本錢。
實踐表明,SSAN+oVirt計算存儲融會是更加合適oVirt虛擬化的存儲解決方案。(完)