当时方位: 主页 > Linux学院 > 企业运用 > 集群 > OpenStack开发测验云渠道介绍

OpenStack开发测验云渠道介绍

2014-08-08 15:59 来历:IBM 作者:赵龙 人气指数: 我要谈论
因而,咱们邀请了来自五八同城公司的高档云核算工程师:赵龙,同享了他在企业内部规划、构建以及运维整个 OpenStack 体系的经历,让更多期望能够了解和运用这个优异的云核算渠道的技术人员能够更有用地取得最有实用价值的信息。跟着互联网技术的飞速发展和广泛运用,互联网公司关于产品迭代和技术晋级的要求都更为火急。相应地,研制测验人员关于机器的运用需求量也上了一个台 阶。传统的虚拟化解决计划存在很多的问题和坏处,现已无法满意企业内部用户按需取用虚拟机资源的需求,运维人员和开发测验人员在虚拟机的运用办理上存在着 很大的耦合性和关联性。探究更为自动化、方便的虚拟资源运用分配办法现已成为无法逃避的问题。

通过充沛调研需求,咱们在企业内部完结了一套依据 OpenStack 的虚拟机资源办理渠道(VMMS),能够动态、实时地呼应全公司开发测验人员恳求、续用和其他日常运用虚拟机的恳求。体系的架构规划如下所示:

图 1.体系架构图

点击这儿给我发消息

用 户通过客户端恳求虚拟机时,VMMS 虚拟机资源办理体系会当即响运用户的恳求,依照用户的详细需求分配一台配备合理的虚拟机。通过保护一个动态改动的虚拟机资源池空间,关于虚拟机资源的各种 恳求做到了秒级呼应。并且,为了确保虚拟机资源的动态弹性,体系中还参加了时刻办理模块;别的,虚拟机的正常运转作业通过状况办理模块来担任。悉数的虚拟 机资源都是通过底层的 OpenStack 云渠道供给,VMMS Server 以必定频率和 OpenStack 云渠道进行通讯,确保资源的可用性和恳求的及时呼应。

VMMS 的规划哲学是在渠道硬件资源有限的前提下,优先满意用户对虚拟机的各种操作需求,确保虚拟机资源渠道的可用性和安稳性,对用户的恳求操作和虚拟机资源配额、资源池巨细都做了强约束。详细来说,VMMS 的开发办理战略首要体现在以下几方面:

  • 虚拟机配备战略

    58 同城是为用户供给本地日子信息的渠道,首要供给掩盖广泛、定位精准的各类 Web 服务。运用虚拟资源的用户由于事务和详细场景的不同,对虚拟机的需求也不尽相同。应对一般的 Web 服务开发测验,例如快速接口调整、嵌入新的办理推行模块、页面款式改动等灵动项意图调整与测验,运用挨近 PC 机配备的虚拟机就能够抵达较好的呼应作用,必要时能够通过横向添加机器数量的办法应对事务大规划推行测验和版别迭代;应对中心事务线的优化和部分根底服务 就需求运用高配备的机器,这类事务大都具有 CPU 密集型和内存密集型的特色。典型的场景有信息办理中心索引重建、Redis 集群测验等,都需求分配多核 CPU 高内存配备的虚拟机。咱们将虚拟机用户的潜在需求大致分为几类,并为之相应预备了配备适合的虚拟机镜像和云主机类型。用户在恳求时,只需求在用处和欲恳求 虚拟机配备标示,提单后体系就会匹配相应的虚拟机给用户运用。别的,还在部分镜像参加了会集配备和测验布置环境打通的相关配备,有利于削减用户重复配备安 装的作业量。

  • 恳求呼应战略

    为了从根本上改进曩昔虚拟化服务资源分配功率低下的问题,VMMS 体系会在用户操作恳求提交后瞬间响运用户的恳求。这是依据一个自适应改动的虚拟机资源池完结的。体系初始化时会创立 n 台虚拟机作为原始虚拟机资源池,用户恳求后资源分配模块会从已有资源中匹配然后响运用户,体系在后台会依据虚拟机恳求周期和频率从大局上调整补全虚拟机资 源的速度。VMMS 体系在渠道总虚拟机数量 m 和当时保持可用的虚拟机数量 n 都做了必定的约束,为的是确保对虚拟机资源分配渠道负载的有用操控。在部分时刻内假如用户恳求虚拟机操作的并发量超过了设定的阈值,体系会依据并发量调整 m 至 1.5 倍或 2 倍不等。相应地,资源池虚拟机数量 n 也得到了进步,优先确保用户正常进行各种虚拟机恳求操作。在用户恳求虚拟机操作恳求频率回落后,VMMS 会再次将 m 和 n 的值收敛到正常规划。

  • 资源操控战略

    私有云渠道受限于规划,所能够运用的硬件资源比较有限。为了及时有用地收回不在运用状况的虚拟机,VMMS 体系的时刻办理模块会依据每台虚拟机的初始恳求周期对在用虚拟机列表中机器进行守时扫描。查找到虚拟机运用周期已到而用户并没有后续的续用行为,体系会自 动收回该虚拟机,开释物理资源。用户在恳求虚拟机时有虚拟机重要性的可选字段,可依据事务和场景的详细状况给出重要性数值。针对作业数据和日志信息比较关 键的虚拟机实例,假如抵达指守时刻还未收到续用恳求,VMMS 会首要对虚拟机做停机处理,奉告用户需求续用,没有后续操作的话虚拟时机在三天内收回。

  • 虚拟机安稳性战略

    状况办理模块会守时扫描每台在用虚拟机的状况,对不处于可作业状况的虚拟机首要测验康复,不成功则启用虚拟机重建和搬迁战略来确保虚拟机的可用性。

  • 虚拟机生成战略

    为了削减人为干涉,虚拟机的生成选用了彻底自动化的战略。虚拟机从发动到区分所属网络、绑定起浮 IP、修正初始暗码到进行事务上的初始化布置做到了彻底凭借体系自身流程进行。

    凭借 VMMS 虚拟机资源办理渠道,开发测验人员能够自在快捷地按需取用虚拟机,在事务开发与测验环境的预备作业上进步了功率。VMMS 响运用户的各类虚拟机恳求操作抵达了每天上百次,简化了传统虚拟化解决计划下用户提单、运维批阅,创立虚拟机再交给用户运用的流程,在无需人干涉的状况下取得了较曩昔投入很多运维人力更好的体会;虚拟机的运用迭代周期比较曩昔大大缩短,每隔 10-15 天虚拟机资源池中的机器就会完好更新一遍,用户随用随取、不必偿还,防止了资源的长时刻占有和糟蹋;在相同的硬件资源条件下能够办理和供给的虚拟机数量也较曩昔有了大幅进步。

OpenStack 云渠道布置计划介绍

在完结了公司内部供开发测验人员运用的私有云渠道后,需求将目光转向公司 Web 服务的虚拟化完结上来。与之对应,就需求布置一套企业级的 OpenStack 云渠道环境。

网络方面依据渠道需求,别离选用了 vlan 和 flatDHCP 形式,以项目为单位作为租户,进行网络的规划和规划;完结了多网络节点的 OpenStack 环境,确保了网络服务的高可用性。

存储上针对事务的拜访特色,完结了依据本地存储、NFS 同享存储和 glusterfs 分布式文件体系同享存储的混合存储计划。将虚拟机的 disk 文件存储在宿主机本地硬盘上,数据盘即作业区间挂载分布式同享存储的卷。

方 案上针对企业级出产环境或许遇到的问题完结了虚拟机在线搬迁和物理机宕机搬迁等功用。虚拟机在线搬迁做到对用户根本通明,搬迁进程不影响事务运转;物理机 宕机搬迁做到了虚拟机地点宿主机宕机后(硬盘损毁,网络不通,电源中止)能够在分钟级内敏捷康复虚拟机的正常运用,将由环境问题导致的事端危险降到最低。

通过实践和线上环境的运用核算,依据 OpenStack 的虚拟化解决计划相关于传统的虚拟化解决计划在首要功用上有了显着进步,下图是功用比照:

图 2.功用比照

OpenStack开发测验云渠道介绍

高可用配备与渠道功用优化

OpenStack 云办理渠道布置后,在存储和扩展性上还存在许多问题。例如,虚拟机的操作体系永久损毁或许宕机后,怎么快速康复虚拟机运转对外供给服务,事务负载高了今后 怎么在很短的时刻内添加物理节点均衡线上压力,怎么确保存储的 I/O 功用,防止操作体系 I/O 和数据事务 I/O 抢夺资源。针对以上问题,做了以下几方面的高可用配备和优化作业:

  • 虚拟机在线搬迁和物理机宕机搬迁完结;
  • glusterfs 支撑的分布式块存储功用完结;
  • OpenStack 本地库房的树立。

虚拟机在线搬迁和物理机宕机搬迁

依据 NFS 同享存储的配备布置

  • 在存储集群上装置 NFS 服务;
  • 核算节点挂载 NFS 的目录;
  • 配备核算节点使其能够免暗码 ssh 登录;
  • 修正 nova.conf 文件;
  • 配备 libvirt 的相关文件;
  • 添加 iptables 的相关规矩。

布置进程中需求留意一些细节:

1、 挂载点是有要求的,必定要挂载在 nova.conf 配备文件中指向的 instances 创立目录下。各核算节点上,这个途径要彻底相同,通常状况下能够运用默许途径/var/lib/nova/instances。假如 NFS 的客户端即核算节点没有挑选这个挂载点,也能够顺畅创立虚拟机,可是搬迁时会发作过错。

2、确保核算节点有挂载目录的履行和查找权限。

 

chmod o+x /var/lib/nova/instances

 

3、修正 nova 和 libvirt 的配备,使 vncserver 监听 0.0.0.0 而不是核算节点的 IP;一起设置 libvirt 监听 tcp。

更改以下配备项的值:

 

listen_tls=0
listen_tcp=1
auth_tcp="none"

 

4、在核算节点添加 iptables 规矩,确保企图途径 16509 端口的 TCP 衔接能够顺畅通过。16509 端口是 libvirt 专门用于虚拟机搬迁的端口,在线搬迁依靠于同享存储和 libvirt 东西在线搬迁的配备。在各宿主机上添加如下的 iptables 规矩:

 

iptables -I INPUT 3 -p tcp --dport 16509 -j ACCEPT
iptables -I OUTPUT 3 -p tcp --dport 16509 -j ACCEPT

 

在线搬迁和宕机搬迁

  • 在线搬迁

OpenStack 云渠道环境上线运转后,考虑数据中心的负载均衡和容灾的需求,常常需求在不断机的状况下完结虚拟机跨物理机和跨数据中心的搬迁。完结了同享存储后,能够运用下面的办法进行虚拟机的在线搬迁。

 

nova live-migration vmId computeNode

 

其间 vmId 为待搬迁的虚拟机 Id,computeNode 为意图宿主机。整个搬迁进程很快,用户简直感知不到搬迁进程的影响。

  • 宕机搬迁

在虚拟机地点的宿主机由于各种原因宕机后,即使虚拟化服务和虚拟机自身没有出问题,也不能对外正常供给服务,能够凭借物理机宕机搬迁的战略康复虚拟机的作业。搬迁操作如下所示:

 

nova evacuate --on-shared-storage vmId computeNode

 

物 理机宕机搬迁操作需求在同享存储的支撑下进行,搬迁进程需求指定 on-shared-storage 同享存储参数,vmId 是待搬迁的虚拟机 Id,computeNode 是意图宿主机。通过物理机宕机搬迁,能够在新的宿主机上敏捷康复受影响虚拟机的作业状况。搬迁后,有时会呈现虚拟机拜访不到的状况,这是搬迁进程丢掉网络 信息形成的,免除该虚拟机起浮 Ip 的绑定,然后从头绑定原 Ip 即可。

需求指出的是,依据 NFS 完结的同享存储适合于物理节点规划较小的环境,能够考虑将并发量不高、网络压力较小的事务布置在这样的环境中。当出产环境要求较好的横向扩展性和高负载性支撑时,能够考虑依据 glusterfs 文件体系供给同享存储功用。

glusterfs 分布式块存储功用完结

配备 glusterfs 集群

  • 在两台以上物理机装置 glusterfs 服务端,进一步进步安稳性,能够多布置几台 glusterfs 服务端,通过添加数据冗余率来确保安全性。
  • 装置 glusterfs-fuse 模块。

运用 FUSE(File system in User Space)模块将 glusterfs 挂载到本地文件体系之上,完结 POSIX 兼容的办法来拜访体系数据。

  • 在服务端上添加物理节点,查看节点状况。
  • 服务端上添加 glusterfs 的 volume,并发动。

配备 glusterfs 客户端

  • 装置客户端 glusterfs-client。
  • 创立挂载点。
  • 挂载 glusterfs 服务端的卷到本地挂载点。

配备 glusterfs 作为 cinder 的后端存储

  • 装置 glusterfs-fuse 模块。
  • 配备 cinder 服务,运用 glusterfs 支撑后端存储。

修正/etc/cinder/cinder.conf,进行下面的相关配备:

 

glusterfs_mount_point_base = /var/lib/cinder/volumes
glusterfs_shares_config = /etc/cinder/shares.conf
volume_driver=cinder.volume.drivers.glusterfs.GlusterfsDriver

 

shares.conf 文件需求新创立。

  • 创立客户端 volume 运用列表。

修正 shares.conf 文件,将需求运用的 glusterfs volume 参加其间。

  • 重启 cinder 服务,完结布置。

glusterfs 运用调整

glusterfs 作为 PB 级的分布式文件体系优势在于有杰出的横向扩展性,存储节点能够抵达数百个,支撑的客户端能够抵达上万的数量。扩展添加存储节点的数量,不需求中止体系服务 即可进行。别的,通过条带卷 stripe 和镜像卷 replica,能够完结相似于 RAID0 和 RAID1 的功用。配备条带卷,能够将文件以数据块为单位涣散到不同的 brick storage 节点上;配备镜像卷,能够将相同的数据冗余存储到不同的 brick storage 节点上。两者结合,归纳进步文件体系的并发功用和可用性。在创立存储集群时,能够通过如下的配备创立分布式的 RAID10 卷,通过完结软 RAID 进步文件体系功用。

 

gluster volume create ecloud stripe 2 replica 2 server01:/var/block_space01 \
server02:/var/block_space01 server01:/var/block_space02 server02:/var/block_space02 force.

 

采纳这样的配备,虚拟机数据被分放在 4 个方位,2 个方位组成一份完好的数据,别的冗余一份数据。修正条带卷和镜像卷的配备值,能够灵敏改动数据冗余的份数和 glusterfs 的并发读写能力。详细取用什么值,能够依据事务场景和功用要求来实践决议。

另一方面,glusterfs 和文件体系的默许配备在 I/O 功用和小文件读写上存在必定问题,能够测验从以下方面来进步功用:

  • 调整读写的块巨细,得到选定文件体系下最适合的数值,进步底层文件体系的 I/O 功率;
  • 本地文件体系的功用优化;
  • 依据详细事务调整每文件的读写 cache 抵达最优作用,合作 glusterfs 固有的 cache 机制;
  • 在确保数据安全性和体系安稳的前提下,尽量削减数据冗余的份数,这样能够极大缓解 glusterfs 在查询多个节点时的时刻损耗。

依据 glusterfs 完结的同享存储与前面介绍过的依据 NFS 完结大致相似,这儿不再赘述。

OpenStack 本地库房的树立:

选用离线布置首要是躲避装置进程中国外源的超时问题,然后较大地进步装置布置功率。凭借自动化的装置脚本 RDO 或许 devStack 装置也很快捷,可是假如网络不安稳或许国外的源出了问题,装置会很费事。

下载各装置源到本地

  • 下载 CentOS 源

装置是在 CentOS 发行版下进行,所以首要将 CentOS 最新版 6.5 版别的源拿到本地。定位到放置源的本地途径,运用如下指令进行操作:

 

wget -S -c -r -np -L http://mirrors.sohu.com/centos/6.5/

 

CentOS 官方会定时进行版别晋级和部分装置依靠包的更新,咱们还需求定时查看相关依靠包的改动,及时将晋级的包同步到本地库房中,与现有环境进行兼并。这个作业主张每半个月进行一次,大版别发布时再会集完好更新一次。

接下来,顺次下载用于树立 OpenStack 环境的各种依靠包:

  • 下载 OpenStack-Icehouse 版别的包

 

wget -c -r -np http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/

 

  • 下载 foreman 插件包

 

wget -S -c -r -np -L http://yum.theforeman.org/plugins/1.3/el6/ .

 

  • 下载 epel 包

 

wget -S -c -r -np -L http://dl.fedoraproject.org/pub/epel/6/ .

 

  • 下载 puppet 包

 

wget -S -c -r -np -L https://yum.puppetlabs.com/el/6/ .

 

  • 下载 epel test 相关包

 

wget -S -c -r -np -L http://dl.fedoraproject.org/pub/epel/testing/6/ .

 

以上介绍的本地库房树立是通过完好地下载各依靠包调集完结,咱们也能够通过剖析 OpenStack 装置日志和官方的项目依靠阐明取得愈加精确的依靠联络,得到最精简的本地库房依靠包调集。这样有利于本地库房搬迁和多节点体系的快速康复。

树立本地源

以 CentOS 源为例,介绍本地源的树立

定位到/var/ftp/centos-sohu 目录下,履行 createrepo .完结本地源的树立。

接下来创立 repo 文件,设置本地源。

相同以 CentOS 源为例,repo 文件的设置如下所示:

 

[local]
name=local_yum
baseurl=file:/var/ftp/centos-sohu
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1

 

其他挂载本地源的宿主机源配备如下:

 

[local]
name=CentOS-$releasever - Base
baseurl=ftp://$ftpServerIp/centos-sohu
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enable=1

 

物理节点同享运用本地源和本地库房时,能够运用 ftp 拜访的办法,也能够运用 nginx 来发布本地源供其他机器下载运用。这个能够依据节点规划和装置环境详细状况进行灵敏调整。一般规划的多节点环境,运用 ftp 来发布本地源彻底能够满意需求,并且树立也更简单。

通过测验,运用本地源布置规划为 4 个物理节点的多节点环境只需求 6-8 分钟,而运用外网的源至少需求 30-40 分钟,在超时和重复装置的状况下时刻成本会更大。跟着节点规划增大装置功率的优势会益发显着,本地库房的树立在很大程度上有利于多节点、大规划环境的安 装。

结语

本 文扼要介绍了 OpenStack 在私有云渠道中的一个运用,依据 OpenStack 完结了企业内部的虚拟机资源分配办理渠道。一起给出了一个 OpenStack 企业级的云渠道布置计划,在存储和网络上的探究和功用优化使得 OpenStack 较好地满意了企业对外供给 Web 服务的需求。本文仅仅对 OpenStack 企业级运用的一些开始探究,进一步深入研究运用请参阅 OpenStack 存储和网络原理获取更多信息。

为您引荐: 云渠道 OpenStack 开发测验

其他相似的新闻

其他相关的新闻

咱们感兴趣的内容
小同伴独爱的新闻
小同伴还重视了以下信息
小同伴重视的焦点

小同伴都在重视的抢手词

新服 缤纷活动 帆海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼同伴 木甲国际 仙侠道2 推黑科技 页游形式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新形式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿使命 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 进步人物 大黑 实装特点 神兵攻略 闻名莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不断 天书国际 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技术 肯定小能手 花千骨 三尾章鱼 风色轨道 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 克己月饼 九阴真经 玩家 五周年留念 留念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 配备强化攻略 户外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇瑰宝抽奖 打开办法 门徒 门徒获取玩法 三大萌宠简介