陈沙克

Feb 182016
 

今天刚好在红帽官方网站看到Ceph安装文档,我顺便动手测试一下。

参考文档

红帽官方Ceph安装文档

Ceph installation on CentOS 7.2

Install Ceph Infernalis(v9.2.0) in CentOS 7.2

 

管理节点

对于分布式文件系统,都是需要同步时间。而且这点经常由于忽略导致大问题。

yum install ntp
systemctl start ntpd
systemctl enable ntpd

设置FQDN

hostnamectl set-hostname ceph-admin.chenshake.com

设置 /etc/hosts

cat << EOF >> /etc/hosts
192.168.1.120   ceph-admin.chenshake.com          ceph-admin
192.168.1.121   ceph-monitor1.chenshake.com       ceph-monitor1
192.168.1.122   ceph-monitor2.chenshake.com       ceph-monitor2
192.168.1.123   ceph-node1.chenshake.com          ceph-node1
192.168.1.124   ceph-node2.chenshake.com          ceph-node2
192.168.1.125   ceph-node3.chenshake.com          ceph-node3
EOF

Cephuser 账号

groupadd -g 2000 cephgroup
useradd -c "ceph user" -g cephgroup -u 2000 cephuser
echo "cephuser:shake-pass" | chpasswd

sudo和tty

cat << EOF >/etc/sudoers.d/cephuser
cephuser ALL = (root) NOPASSWD:ALL
Defaults:cephuser !requiretty
EOF
chmod 0440 /etc/sudoers.d/cephuser

 

SSH (admin only)

创建ssh秘钥分发到所有节点上

su - cephuser
ssh-keygen -t rsa
cp -p .ssh/id_rsa.pub .ssh/authorized_keys
for H in ceph-monitor1 ceph-monitor2 ceph-node1 ceph-node2 ceph-node3 ; do scp -rp .ssh $H:. ; done
Feb 162016
 

Fuel8.0,最终发布时间,应该是二月底,现在每天build的版本,功能上,应该是基本都是一样,后续更多的是bug修复。

https://ci.fuel-infra.org/view/ISO/

这里可以下载到最新版本的Fuel。目前Fuel的9.0,也在开发中。Fuel 8.0是集成Liberty。Fuel9.0是集成Mitaka。具体发布时间 https://wiki.openstack.org/wiki/Fuel#Upcoming_Releases

从邮件列表里看到Fuel 8.0,计划做的最大改动是:把Fuel的Master节点从CentOS 6.6 升级到CentOS 7,同时把Master节点的Docker拿掉。不过从我测试来看,Docker还是没有去掉,仅仅是把Master节点升级到CentOS 7。但是目前Liberty版本,只能安装在Ubuntu 14.04,还无法安装在CentOS下。这也太难受。

Snap31

要完整测试Fuel,你真的要准备好10台服务器,反复折腾才行。现在已经没这样的环境,只能在笔记本,测试一下。

Continue reading »

Jan 282016
 

经常有朋友问,大陆地区大概有多少位OpenStack项目的Core。这个问题,现在其实不太好回答,如果需要准确统计的话。下面仅仅是一个大概估计,有遗漏的,希望朋友指出,我来补全。

文档修改历史

2016年2月2日:增加IBM的刘光亚。EMC统计有误,去掉。

2016年2月21日:增加EasyStack的Tang Chen OpenStack client core

2016年4月9日:增加了intel的Eli Qiao,海云捷迅的Li Ma,eBay的Huang Zhiteng,在上海。移除了华为的hongbin,因为他是在加拿大。Ying Chun Guo,已经不担任i18n的PTL,不过还是该项目的Core。

2016年7月22日:增加Murano项目的Core,朱荣同学。

2016年8月30日:增加Tacker项目的Core,Yong Sheng Gong,Freezer项目的yapeng Yang。还有华为的两位朋友,Zaqar项目

现在OpenStack项目在 github.com/openstack, 已经超过600多个项目,并且还是迅速增加。这个数量那么高,其实还和项目的拆分有关。例如一个glance项目,他就拆分成 多个模块。Modules: glance, glance-specs, glance_store, python-glanceclient

就算这种大项目,OpenStack目前应该也应该超过100多个。

OpenStack官方的对项目的最新定义,6个为核心项目

  1. Keystone
  2. Nova
  3. Glance
  4. Neutron
  5. Cinder
  6. Swift

国内其实除了swift以外,各个项目都是有Core的。

  • Glance项目的Core:FeiLog Wang, 以前IBM,目前已经在新西兰Catalyst IT
  • Cinder项目core: Huang Zhiteng,以前Intel,目前在eBay
  • Neutron项目Core: Yong Sheng Gong,以前IBM,目前在九州云,精力已经集中在OpenDayLight。
  • Oslo项目Core:Zhongyue Luo,韩国人,在中国Intel工作并取得Core,目前还在Intel,不过已经在搞大数据,退出Oslo项目。
  • Mistral项目Core:Lingxian Kong,以前华为的Core,目前已经去新西兰 Catalyst IT

对于搭建一个OpenStack平台来说,至少OpenStack官方是认为上面6个组件是核心,使用的最广泛。其实在大量的OpenStack部署场景里,swift出现的数量是不多的。

OpenStack的Core的提名,其实在过去还是比较神秘的。

Snap1

我们就先统计分析一下目前Mitaka版本Core的情况,其实每个OpenStack版本,这个变化也挺大,Core也是需要换工作,也可能兴趣转移,不玩这个项目。

 

项目 core数量  
Heat 3 IBM 2位,华为1位
Ceilometer 3 IBM,华为,HPE
Horizon 1 华为
Ironic 1 IBM
Kolla 1 99cloud
oslo 1 EasyStack
Senlin 5 IBM3位,99cloud1位,vmware1位
Keystone 1 intel
Puppet 1 Unitestack
Nova 1 Intel
i18n 1 IBM
Magnum 4 IBM2位,华为1位,intel 1
Rally 1 麒麟
SearchLight 1 麒麟
python-openstackclient 1 EasyStack
Dragonflow 1 海云捷迅
Murano 1 99cloud
Tacker 1 99cloud
Zaqar 2 华为2位
Freezer 1 99cloud

IBM中国区

IBM在中国的OpenStack发展,基本是黄埔军校的角色,培养了大量的人才,并且有足够板凳深度。经历过多次的人员流失,目前在OpenStack上的实力,还是很强的。这点上,你还是必须佩服他。

Qiming Teng

http://stackalytics.com/?release=mitaka&company=ibm&user_id=tengqim

Senlin项目的PTL,并且还是Heat项目的Core。Senlin项目的发起者。

目前OpenStack项目众多,如何让一个项目活跃起来,其实真的不是一件容易的事情。如何吸引更多的公司派员工参与进来,这是一件比较挑战的活。

Ying Chun Guo

http://stackalytics.com/?company=ibm&user_id=daisy-ycguo

I18n项目的Core,负责把OpenStack项目国际化,所以目前大家在Dashboard看到的汉化和多种语言,基本的Guo的努力分不开的。还有组织了国内很多OpenStack的技术交流。

Yanyan Hu

http://stackalytics.com/?release=mitaka&company=ibm&user_id=yanyanhu

这是是Senlin项目的Core。

Ethan Lynn

http://stackalytics.com/?company=ibm&user_id=ethanlynn

也是Senlin项目的Core,同时也是Heat的core。

Kai Qiang Wu(Kennan)

http://stackalytics.com/?company=ibm&user_id=wkqwu

magnum项目的Core。Magnum项目是是容器在OpenStack实现管理。还是非常吸引人的。项目的发作者是目前Kolla的PTL,当时一个人担任两个项目的PTL,后来放弃了magnum,专攻Kolla项目。

Jay Lau

http://stackalytics.com/?company=ibm&module=magnum&user_id=jay-lau-513

magnum项目的Core。刘光亚。

Haomeng,Wang

http://stackalytics.com/?company=ibm&user_id=whaom

ironic项目的Core,这是提供国内用户最关注的一个需求,所谓的裸机管理,把x86服务器当虚拟机来管理。

Intel中国

Intel中国对OpenStack的支持力度是很大的,估计王庆当选独立董事后,中国区OpenStack的投入应该会加大。

Alex Xu(He Jie Xu)

http://stackalytics.com/?company=intel&user_id=xuhj

这位是最新提名的Nova的Core。Intel是生产Cpu的,以前居然没有Nova的项目的Core,这次真的来的及时。

常人估计还不太了解拿下nova项目Core的难度。

从H版本Nova项目,一直做到现在,都快3年,每个版本都保持commit和review的数量,都是比较惊人的。

版本 commit review
Havana 76 272
Icehouse 23 255
Juno 41 307
Kilo 62 543
Liberty 55 444

 

基本可以这样说,国内所有人在Nova项目贡献,加起来估计都没这位老兄多。并且还在不停做BP。真的是所有的Core的学习榜样。

Dave Chen

http://stackalytics.com/?company=intel&user_id=wei-d-chen

这是是刚刚提名的Keystone项目Core,也是一个无比艰难的项目。这个项目需要你的知识真的很丰富,安全,身份认证有关,折腾ladp,AD。

Lianhao Lu

http://stackalytics.com/?company=intel&user_id=lianhao-lu

Ceilometer项目的Core。

Eli Qiao

http://stackalytics.com/?company=intel&user_id=taget-9

Magnum项目core。

eBay

Huang Zhiteng

http://stackalytics.com/?company=ebay&user_id=zhiteng-huang

以前我以为他去了美国,经过确认,还是在上海,以前是intel的,现在去了eBay,cinder的Core。

Vmware中国

Cindia-blue

http://stackalytics.com/?company=vmware&user_id=miaoxinhuili

senlin项目的Core,应该算是国内第一位女Core。

HPE中国区

HP拆分后,OpenStack的贡献也分成两部分。HP和HPE。目前HPE中国区这边,应该就只有一位Core。

ZhiQiang Fan

http://stackalytics.com/?user_id=aji-zqfan&release=mitaka

Ceilometer的Core,这位朋友以前是在华为,拿到Ceilometer的Core,跳槽到HP。

华为中国区

华为也培养了不少的Core。

Huang Tianhua

http://stackalytics.com/?company=huawei&user_id=huangtianhua

Heat项目的Core。

Zhenguo Niu

http://stackalytics.com/?company=huawei&user_id=niu-zglinux

这是Horizon项目的Core,也是我最熟悉的Core。

Liusheng

http://stackalytics.com/?company=huawei&user_id=liusheng

Ceilometer项目的Core

Hua Wang

http://stackalytics.com/?company=huawei&module=magnum&user_id=humble00

Magnum项目Core,OpenStack管理Docker

wanghao

http://stackalytics.com/?metric=commits&company=huawei&module=zaqar&user_id=wanghao749

Zaqar项目的Core,Zaqar项目是提供消息队列服务的。PTL是FeiLog Wang。希望可以早日把Zaqar可以投入到生产使用。

wangxiyuan

http://stackalytics.com/?metric=commits&company=huawei&module=zaqar&user_id=wangxiyuan

也是Zaqar项目的Core。华为投入两位人员在Zaqar上,希望可以做点东西出来。

99Cloud

国内OpenStack创业公司

Lawrance

http://stackalytics.com/?company=99cloud&user_id=jing

senlin项目的Core

Jeffrey Zhang

http://stackalytics.com/?company=99cloud&user_id=jeffrey4l

Kolla项目的Core。这也是我目前最关注的项目。是集成Ansible,Docker,Mesos来部署OpenStack。希望Jeffrey Zhang同学可以让Kolla项目早日生产使用。

zhu.rong

http://stackalytics.com/?company=99cloud&user_id=zhu-rong

Murano项目的Core。OpenStack项目容器的App Store,就指望这个项目。未来是OpenStack发展重点。

Yong Sheng Gong

http://stackalytics.com/?company=99cloud&metric=commits&user_id=gongysh

Tacker项目的Core。目前非常热门的NFV的项目。

yapeng Yang

http://stackalytics.com/?module=freezer&user_id=yang-yapeng

Freezer项目的Core,Freezer项目,是为OpenStack提供备份功能的项目。

EasyStack

国内OpenStack创业公司

ChangBo Guo(gcb)

http://stackalytics.com/?company=easystack&user_id=glongwave

Oslo项目的Core。目前在该项目的贡献排名还是非常高的,坚持下去啊。

Tang Chen

http://stackalytics.com/?company=easystack&user_id=tangchen

OpenStack Client 项目的Core.

UnitedStack

国内的OpenStack创业公司

Yuxingchao

http://stackalytics.com/?user_id=yuxcer&release=mitaka&company=unitedstack

Puppet项目的Core,可以说是国内OpenStack的Puppet上玩的可能是最熟练的。

麒麟云Kylin Cloud

Li Yingjun

http://stackalytics.com/?company=kylin%20cloud&user_id=liyingjun

rally项目的Core。OpenStack项目验收就指望这个。同时也是Searchlight的Core。双Core。

Awcloud

海云捷迅,OpenStack创业公司

Li Ma

http://stackalytics.com/?company=awcloud&user_id=nick-ma-z

Dragonflow项目Core,这是目前很热门的SDN项目。

Dec 102015
 

到年底了,很多朋友找我聊天,经常问OpenStack企业使用过程中有啥问题。这些问题,目前有啥解决的办法,社区是如何考虑的。

现在的很多信息都在微信,微博里提到。这里就做一个总结。上周和朋友交流,突然发现3年前,我们在外面吹的功能,其实现在都已经实现。估计我们现在在吹的功能,需要3年后才能真正实现。

控制节点HA

Mirantis实现的控制节点的HA的方案,一直都是大家学习的对象,目前OpenStack控制节点的所有组件基本都实现了高可用,Mantis甚至把Zabbix也放到控制节点上,实现了高可用。

如果用户对控制节点进行严格测试,其实还是能发现有点美中不足的地方。当3个控制节点的其中一个挂掉后,你创建虚拟机,会有一部分失败。这其实也是Mirantis一直在解决。目前各家解决问题的方式不太一样,希望社区可以有一个完整的方案

朱荣泽做了一个很好的总结,大家好好看看http://way4ever.com/?p=3121

目前OpenStack的组件实现HA,Cinder的问题最多,红帽的官方文档专门提到,Cinder目前无法实现HA。

下面内容来自我的广东老乡Tobe 他的微博里的提到的

目前基于AMQP的cinder-volume active-active架构都是有问题,详情参考 http://gorka.eguileor.com/cinder-ha-aa-specs-for-review/

OpenStack有spec计划Mitaka可能解决这些问题 https://specs.openstack.org/openstack/cinder-specs/specs/mitaka/cinder-volume-active-active-support.html

Gorka大神还写过blog分析了RabbitMQ存在的问题不能只改host来解决

http://gorka.eguileor.com/a-cinder-road-to-activeactive-ha

 

计算节点HA

对于vmware用户来说,一个节点挂掉后,上面的虚拟机自动跑到别的机器上,这是一个很顺其自然的事情。Qingcloud其实也专门介绍过他们如何解决这个问题,每个机器都有一个机器人,机器人互相通讯,一旦有人失联,马上就知道,从集群里拿掉。以前青云一个节点挂掉后,从另外一个节点把机器把虚拟机启动起来,大概是5分钟左右。

对于OpenStack来说,确认一个节点挂掉,好像方法很多,监控,脚本,但是这些其实真正使用过程,你就会发现很多问题,还不如邮件通知,人工确认再迁移。

上个月海云捷迅的朋友在东京峰会上做了一个分享,基于Consul提出了一套分布式的健康检查的方案。Consul是一个在容器和微服务技术圈子里比较有名的项目,主要的功能是提供服务注册和发现、配制变更。

分布式健康检查:实现OpenStack计算节点高可用

九州云的荆留清的同学,也分享了在九州云的产品里,如何解决这个问题的思路,

OpenStack虚拟机HA方案

这两种思路,自己选择适合自己的。

 

增量快照和备份

对于企业用户来说,考虑最多的就是数据的安全。如何对虚拟机做快照和备份,就是一个经常问到的问题。

OpenStack的虚拟机的存储,一般有本地存储,cinder存储(lvm),分布式存储(Ceph),虚拟机的文件格式有QCOW2和Raw格式。如何实现快照,增量的快照,并且能把增量的部分备份出来。这是一个非常有挑战性的活。

在红帽的roadmap里,明年要实现内存快照 https://videos.cdn.redhat.com/summit2015/presentations/12752_red-hat-enterprise-virtualization-hypervisor-kvm-now-in-the-future.pdf

对于Cinder来说,有cinder backup,你可以把卷都备份到swift或者Ceph的对象存储上,能不能做到增量,还有qemu的快照是否可靠,这都是有挑战的活。

在Ceph上,社区也整整搞了两年的整合,目前据说这是最后一个壁垒 https://review.openstack.org/#/c/205282/

希望OpenStack可以早日实现备份的链条,图来自青云

Snap32

目前默认Openstack把快照变成一个镜像模板的做法,真的是有点恶心。

其实对我来说,Ceph跑分布式块存储,备份到swift的对象存储上,这样的方案,还是比较不错的。如果Ceph备份到自己的对象存储上,风险还是没有降低。

https://github.com/Akrog/cinderback

目前Horizon的UI,是有备份的功能,不过这个估计用的人太少,估计问题也不少。

存储管理

现在分布式存储,已经有要进入企业的趋势,例如Ceph,Swift。对于这些分布式的存储的维护工作,真的是一场恶梦。因为目前这些分布式群集的维护,其实都是通过命令行,例如你的群集增加,减少一个节点,哪怕增加一块硬盘,一块硬盘损坏,卸载掉,都是通过命令行来维护。

命令行维护,其实压力很大,一不小心,整个群集就完蛋。人都是难免出错。

Intel开源了一个Ceph可视化管理的项目 https://github.com/01org/virtual-storage-manager 做的非常不错,目前项目也非常活跃。web UI是采用Horizon,看起来很熟悉。

Swift,其实已经发布了五年,其实功能本是是足够稳定,不过你真的玩起来,你就会发现,没有专人维护,根本不行。swiftstack的公司,就是靠一套web管理的平台,养活了公司50号人,可以看出对存储系统的web管理,是刚需啊。

监控和测试

Mirantis是OpenStack的技术风向标,Fuel6.1开始引入InfluxDB/Grafana和ELK,完善OpenStack的监控。Grafana展示的效果是非常炫,结合Zabbix,那么在物理机器上的监控,已经算是比较完善。

对于用户来说,一直抱怨的就是虚拟机内存的数据监控不准确。这个问题一直都没有得到很好解决。

指望ceilometer,那基本是不靠谱。通常的做法就是通过qemu的agent,乐视的朋友分享过一篇文章

http://www.cloudcraft.cn/use-qemu-guest-agent-to-change-openstack-instance-root-password/

监控的数据的存储和展示,一直都是ceilometer社区折腾的问题。

OpenStack是否稳定可靠,不是靠拍胸口的。要保证OpenStack的稳定运行,监控和健康检查,其实是必不可少。这方面社区有项目Rally,还有Mirantis的Fuel,也集成了Tempest测试,用户可以选择空闲的时候,对群集进行测试,发现潜在问题。

http://www.ibm.com/developerworks/cn/cloud/library/1403_liuyu_openstacktempest/

把目前OpenStack的各种方案都用好,就是一件非常有意义的事情。

SDN

对于企业来说,目前OpenStack的网络功能,应该是基本够用,性能其实也都还可以。Neutron+vlan的方案,应该是能满足大部分企业的需求。

至于网络的QOS,目前其实也在逐步支持,OVS据说已经实现。linux bridge正在开发。

目前社区也就考虑逐步降低网络的复杂性,把文档里的OVS,替换成linux Bridge。这样至少对我来说,也感觉可控多了。

对于SDN需求,应该是物理机器的管理,这就是iRonic项目要做的事情。就是把物理机器当成虚拟机管理。

把物理机器装好系统,这目前来说,应该是很简单事情,关键的装完后,如何放到他希望的网络里。需要用neutron调用插件去管理交换机。当然也是需要和IPMI打交道。