TaoCloud SSAN+oVirt系虚拟化解决方案

 

TaoCloudSSAN是分布式块存储产品,oVirt是Redhat的开源IaaS平台,这两者计算存储融合可提供一体化的虚拟化/私有云解决方案,帮助客户获得更好的高性能、高可用、扩展性、业务连续性、简化管理、更低的整体成本。...



TaoCloud SSAN是分布式块存储产品,oVirt是Redhat的开源IaaS平台,这两者计算存储融合可提供一体化的虚拟化/私有云解决方案,帮助客户获得更好的高性能、高可用、扩展性、业务连续性、简化管理、更低的整体成本。

本文档介绍TaoCloud SSAN + oVirt的融合解决方案,重点阐述方案架构、系统部署、功能测试、高可用测试、性能测试等内部,从而为技术人员进行POC测试或系统实施提供参考。

一、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)    单一集群支持多个存储池,支持物理和融合部署;
(6)    WebGUI管理系统,支持三员分立权限管理;

更多SSAN产品资料请从 http://www.taocloudx.com获取。

二、oVirt简介

oVirt(OpenVirtualization)是一个基于KVM虚拟化技术的开源IaaS解决方案项目,它是Redhat云管理平台RHEV的社区版本,主要的使用场景是私有云管理,在架构设计上使用了节点/引擎(Node/Engine)架构,特点是专注KVM、基于WEB界面、易于搭建。oVirt类似于VMware-vSphere,它是RHEV产品的基石,是RHEV的一个上游项目,一些KVM上的新技术,比如SPICE、GlusterFS等都首先在oVirt上得到支持,之后才会出现在企业版的产品中。oVirt的理念是数据中心虚拟化管理平台解决方案,目标是方便快速的构建私有云。
oVirt提供基于Web的虚拟机管理控制平台,oVirt是KVM开源管理程序,该虚拟机软件支持主流的x86硬件,并允许用户在其上运行Linux及Windows操作系统。无论是一台主机上的几个虚拟机,还是管理数百台主机上的成千个虚拟机。因此,oVirt专门面向基于linux系统的KVM虚拟化应用场景,为主机和客户机提供特性丰富且功能强大的服务器虚拟化管理系统,具体包括高可用性、实时迁移、存储管理、系统调度管理等。

oVirt在架构设计上使用了Node/Engine分离结构,以方便功能的划分与管理。oVirt由客户端和管理端组成,客户端即oVirt-Node类似于VMWare-ESXi,最早由Fedora订制而成,从3.5版本开始使用RHEL6定制,可以在生产环境使用。oVirt也支持在Linux系统上安装VDSM服务而得到一个oVirt客户端,管理端oVirt-Engine 类似基于Web页面的VMWare vCenter。oVirt按照数据中心来划分资源,每个数据中心有整体的存储、网络、模版资源,计算资源按照集群划分,每个集群从数据中心在获取存储、网络、模版资源。oVirt对宿主机管理非常详细,软件和硬件信息都很齐全,甚至可以通过IPIM控制宿主机的电源。oVirt对虚拟机创建是向导式的,也可以将虚拟机转换成模版,通过模块快速复制。

oVirt的主要特性如下:
(1)    宿主机节点管理:支持基于数据中心,集群的管理;
(2)    虚拟机管理:虚拟机的创建、快照、删除、基于模版的克隆等常见操作;
(3)    动态迁移:在线及离线迁移虚拟机;
(4)    高可用:当一台宿主机宕机,在另外一台宿主机上自动开启虚机;
(5)    管理资源的配额(storage, compute, network);
(6)    宿主机、虚拟机性能查看及统计;
(7)    支持NFS、iSCSI、FC、GlusterFS等存储方式;
(8)    支持多端口的网口绑定;
(9)    支持命令行工具,可以完成图形界面的大部分功能;
(10)    支持AD活动目录;
(11)    提供SDK,支持多种开发语音;
(12)    开源免费;

更从oVirt资料请从 http://www.ovirt.org 获取。三、方案介绍

1、SSAN+oVirt融合方案

oVirt开源IaaS平台多用于桌面云,也可用于服务器虚拟化。桌面虚拟化/云桌面是典型的多客户端、高并发应用,随着虚拟桌面数量的增多,对存储的容量和性能呈明显的上升趋势。启动风暴以及集中病毒扫描和关机风暴,对存储I/O提出了更高的弹性要求,以满足峰值性能需求。关键的桌面应用会非常在意业务连续性,包括虚机HAFT(Fault-Tolerance)以及冷热迁移。如果没有数据高可用支持,实现桌面业务连续性会很困难或者代价太高。桌面部署时,会要求快速生成新的大量的桌面镜像,需要高效的快照/克隆技术。桌面云的价值很多,诸如访问便利、集中式管理、安全性高、软件升级方便、应用环保等,但最痛的问题还是成本问题,降低整体成本是桌面云竞争的关键之一。

oVirt支持NFS/iSCSI/FC等外部存储系统,同时也支持分布式文件系统。假设每桌面需要50个IOPS,存储容量100GB,则1000个桌面需要5万IOPS/100TB存储性能需求,同时需要数据高可用则还需要1~2倍数据冗余。这种存储需求下,传统的存储无论在性能、可用性、扩展性、管理性、成本等方面都是极大的挑战,实际应用中难以满足需求,还要承担极高的成本。

TaoCloud SSAN是典型的ServerSAN,借助于软件定义存储、开放式X86标准架构和高性能SSD存储介质,SSAN可以替换传统SAN/NAS存储,更好地满足虚拟化对存储的新需求。采用TaoCloudSSAN构建分布式块存储平台,提供可靠、高效的数据存储服务,可以实现模板数据、镜像数据、配置数据、业务数据的统一存储。SSAN可与VDI主机实现融合部署,进一步提升I/O效率比降低成本。根据性能、成本综合考虑,可配置全SSD模式或SSD+HDD混合模式。VDI主机与SSAN之间可通过iSCSI(优先选择)连接,也可以通过Qemu接口进行连接。针对虚拟桌面管理平台的资源配置及控制需求,可通过定制化开发功能实现管理整合或对接。SSAN的SSDCache功能可实现在配置少量SSD的情况下,实现很高的性能,高效的ROW快照及克隆功能可支持快速、批量的创建桌面。大量实践表明,TaoCloud SSAN可以很好地支持oVirt平台。

SSAN支持物理分离和融合部署方式,这里采用SSAN+oVirt融合部署方案,每台物理服务器既是oVirt计算节点,同时也是SSAN存储节点。这种方案可以更好发挥本地存储优先访问策略优势,可以提高资源利用效率,也进一步降低了成本。方案优势如下:
1、弹性存储,支持在线快速扩容;
2、高可用存储,数据多副本,存储不中断;
3、高性能存储,闪存优先,本地I/O优先,高效的快照和克隆;
4、iSCSI标准接口,支持各类VDI平台;
5、融合架构,进一步提升效率,降低成本;
6、支持定制化开发,满足个性化的资源管控需求;

2、方案拓扑

为了便于方案POC测试,这里采用3节点融合部署方案,实际应用根据需求确定集群规模。SSAN采用副本方式保证数据安全性和可用性,副本策略可以根据实际需求灵活设置,POC测试采用三副本策略。存储介质推荐全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-573)

用户/TaoCloud

oVirt

3.5.6

用户/TaoCloud

SSAN

1.3.2

TaoCloud

IP地址

3个管理IP +3个数据IP,分为两个网段

用户

四、系统部署

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采用CentOS6.7 x86_64 (2.6.32-573)最小模式。如果是Intel的万兆网卡和SSD,Centos6.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每个节点上执行此步骤,多个节点可以并行安装。第一个节点安装时,如果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进行集群管理。管理节点可以单独部署,也可以部署在其中一个SSAN节点上。这里我们选择第一个节点作为管理节点。
./ssanweb_install.sh

第一个节点上直接运行上述ssanweb安装脚本,自动安装ssanweb-1.3.2-1.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节点,我们通过“增加”功能将三个节点加入集群。其中IP地址为安装时填写的mip管理地址。



(3)  初始化磁盘
SSAN以整个磁盘为单位管理存储资源池,需要对每一个磁盘进行初始化操作。通过“磁盘管理-->物理磁盘”中的磁盘初始化逐一对磁盘进行初始化。初始化成功后,对应磁盘显示健康和已挂载状态。



(4)  创建OSD
SSAN中由多个OSD(Object Storage

Daemon)组成,每个节点运行若干OSD进程,每个OSD管理一块或多块物理硬盘,支持SATA、SAS、SSD等类型硬盘。通过“虚盘管理-->OSD管理”增加OSD,选择节点、管理网络(IP:Port)、数据网络(IP:Port)、元数据磁盘、数据磁盘即可。其中,网络和磁盘不可以重复使用。



(5)  启动SSAN
全部OSD创建完成后,初始存储资源池就配置完成了,后续可以Online增加OSD进行扩容。通过“集群管理-->节点管理”中的“操作-->启动SSAN”启动所有的OSD进程。



(6)  初始化集群
初次启动OSD后,初始对SSAN集群进行初始化,自动设置全局缺省存储池策略。通过“集群管理-->节点管理”中的“集群-->初始化”进行操作。



2.4、创建oVirt虚拟磁盘

这里我们把oVirt中所需要的全部存储都放置于SSAN存储池中,包括HostedEngine虚拟镜像、数据存储域和ISO存储域。创建三个虚拟磁盘VD,均采用三副本冗余策略,容量分别为30G、500G、100G。在SSAN-WebGUI管理平台中创建如下三个VD:
(1)    创建并输出一个30G的VD,用于安装Hosted Engine。
(2)    创建并输出一个大容量500G的VD,作为oVirt的数据存储域。
(3)    创建并输出一个100G的VD,并创建一个NFS共享,作为oVirt的ISO存储域。

3、oVirt安装配置

oVirt的管理节点叫做oVirt Engine,资源节点叫做oVirt Node。oVirt Engine主要有分离部署、AllinOne和HostedEngine三种部署方式。这里我们推荐并采用Hosted

Engine部署方式。这种模式下,oVirt虚拟化集群本身在共享存储上建立一个虚拟机,使用此虚拟机作为oVirt

Engine,支持的存储协议包括NFS3、NFS4、iSCSI(V3.5+)、GlusterFS(V3.6+)、FC(V3.6+)。部署过程相对
复杂一点,但是通过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. 确认配置后,安装脚本会启动一个虚拟机。通过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-status3.2、oVirt存储配置
(1) 集群存储数据域

数据存储域是面向整个虚拟化集群的存储资源池,由oVirt对存储的一个Lun进行再次分配管理。集群中的虚机均可从中划分一部分空间作为虚盘。
存储域的添加是在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上的同一IQN,就会自动添加到该Lun的多路径中。



ii.  命令行发现多路径
在命令行手动发现并连接不同IP上的同一IQN,然后通过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.  注意事项
多路径配置信息无法持久化,连接的多路径在节点重启后,后备路径会消失,需要重新连接后备路径。五、功能测试

1、测试方法
按上述方法和步骤成功部署和配置SSAN+oVirt计算存储物理融合系统,我们就可以将oVirt中所有的虚机存储放置于SSAN存储池,包括HostEngine和Guest

VM所涉及的Image镜像和云盘存储。功能测试重点验证数据存储域、虚拟机磁盘、快照克隆回滚等常规存储功能点,均在oVirt管理系统中进行操作。功能测试场景非常多,这里列举了一部分存储相关核心测试用例。2、测试场景



六、高可用测试
1、测试方法

SSAN提供了多种数据可靠性和可用性机制,包括副本机制、iSCSI多路径,为oVirt的高可用性提供基础支撑,包括HostEngine和Guest VM的高可用。这里重点模拟iSCSI路径故障和主机故障来验证SSAN和oVirt的安全性和高可用性。

2、测试场景

七、性能测试
1、测试方法

性能是评估一个存储产品最为关键的指标,包括IOPS、带宽和延迟,这里采用FIO进行测试分析。
FIO是一个I/O标准测试和硬件压力验证工具,它支持13种不同类型的I/O引擎,支持块设备和文件系统测试,广泛用于标准测试、QA、验证测试等,支持Linux, Windows等操作系统。

2、测试场景

八、总结
oVirt作为轻量级的IaaS解决方案被广泛应用于桌面云和服务器虚拟化。oVirt支持NFS/iSCSI/FC等外部存储系统以及分布式文件系统,但是传统存储无论在性能、可用性、扩展性、管理性、成本等方面都是难以满足实际需求。

SSAN是典型的ServerSAN,借助于软件定义存储、开放式X86标准架构和高性能SSD存储介质,SSAN可以替换传统SAN/NAS存储,更好地满足虚拟化对存储的新需求。SSAN支持物理分离和融合部署方式,融合或超融合部署可以更好发挥本地存储优先访问策略优势,可以提高资源利用效率,进一步降低了成本。

实践表明,SSAN+oVirt计算存储融合是更加适合oVirt虚拟化的存储解决方案。(完)


    关注 大道云行TaoCloud


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册