精品翻译:《OpenStack HA》第七章 共享存储
编者按
《OpenStack HA》这本书由云技术社区志愿者翻译,因为没有出版纸质书的计划,本书的翻译只会翻译重点章节。
翻译的过程是译者和作者思想沟通的过程,也是一个学习的过程,中间充满艰辛,也充满快乐,欢迎大家加入云技术社区翻译小组,一起交流、学习、提高,加入请联系群主(群主微信:xiaoli17kvm,群穿越使者北极熊微信:hadxiaer)。
在过去的几年里,云计算已经产生了重大影响,它将IT从一个小技巧转换为企业生产环境的一个关键因素。从基础设施即服务(IaaS)的角度来看,云计算比虚拟化先进很多,各种行业和网上贸易已经开始迁移测试环境、过渡环境和生产环境移到IaaS,开始用按需使用的资源模型替代传统的模型。
OpenStack是最流行的和广泛使用的开源云计算平台之一,并且它常被用来基础设施即服务解决方案。让OpenStack具备高可用性对云计算管理者和云计算工程师来说是必须的。
译者 云技术社区 首席金牌翻译
武 楠
校审 云技术社区 金牌翻译
李世军
了解各种故障发生的方式,以及这些故障对服务可用性和效果的影响,对于任何一个想要将云服务可用性提升一个水平的OpenStack 使用者都是一项基本技能。本章主要讲的是高可用性和故障快速恢复的基本条件。会涉及到为OpenStack 提供共享存储的多种选择,以及这些配置如何设置。
本章,我们将覆盖一下几个主题:
GlusterFS 介绍
安装 GlusterFS
Ceph 介绍
安装 Ceph
GlusterFS介绍
GlusterFS 是为高性能,虚拟化云环境设计的。与传统数据中心不同,云环境需要按需增长或缩减资源的多租户能力。
安装GlusterFSOpenStack 的块存储服务是一种使用逻辑卷管理(LVM)的iSCSI 的解决方案。这种服务提供的卷一次只能被添加到一个实例上。然而,OpenStack 为使用不同供应商的不同后端存储提供多种驱动。NFS 就是一种常见的OpenStack 后端存储方式,例如GlusterFS和Ceph。
接下来,我们将会展示,GlusterFS是如何作为后端存储设置为 OpenStack 块存储的。在此,会使用到cinder卷服务来连接GlusterFS 。
配置GlusterFS 块存储尽管OpenStack 提供大多数服务将虚拟机寄宿到它的云上,它仍然需要依赖第三方工具来支持OpenStack 后端存储提供cinder服务。
下面介绍配置GlusterFS的步骤。
安装GlusterFS
在终端上必须写入以下命令来安装GlusterFS:
| sudo apt-get install glusterfs-server
然后,使用以下命令,确保GlusterFS 被正确安装在两个节点上(controller_1和controller_2),:
| sudo glusterfs –version
安装成功后,我们会可到以下结果:
配置通讯节点
现在两个服务器要互相通信,在/etc/host目录使用以下命令:
| sudo gedit /etc/hosts
现在我们需要在两个节点上运行以下命令:
| sudo gluster peer probe gluster1
| sudo gluster peer probe gluster2
两个节点成功通信后,我们要确保 GlusterFS 节点能够互相通信。
peers的状态
现在我们要在各自节点上的检查peers状态。在服务器1上,要通过以下命令来检查:
| sudo gluster peer status
在服务器2上,要通过以下命令来检查:
| sudo gluster peer status
创建数据点
在数据点创建的第一步,需要在 /mnt/gluster 目录下创建一个叫gluster的新目录,命令为:
| sudo mkdir –p /mnt/gluster
然后必须创建一个卷,将所有其他数据装里面,这个卷就叫数据点。之后,运行以下命令:
| sudo gluster volume create datapoint replica 2 transport tcp gluster1:/mnt/gluster gluster2:/mnt/gluster
启动卷服务
通过使用以下命令来启动数据点卷服务:
| sudo gluster volume start datapont
最后,在两个节点(controller_1和controller_2)上必须运行使用PS命令来确保GlusterFS 是开启和运行的, :
| sudo ps aux | grep gluster
为保证卷高可用性,运行以下gluster命令:
| sudo gluster volume info
介绍Ceph
Ceph 是一个开源的,可扩展的软件定义对象存储系统,可以在单一平台上提供对象存储、块存储以及文件系统存储。Ceph 具有自恢复、自管理和非单点故障特性。这是一个传统存储系统的完美替代,也是云环境下对象存储和块存储的有效解决方案。
安装Ceph安装Ceph命令如下:
| sudo apt-get update && sudo apt-get install ceph-deploy
安装Openssh
Openssh 安装命令如下:
| sudo aptitude –y install openssh-server
为ceph提供必要特权,使用以下命令:
| sudo chmod 440 /etc/sudoers.d/ceph
连接Ceph节点创建一个ssh组,将其与ceph节点通过 | sudo ssh-keygen 无密码命令连接起来。Ssh文件的配置编辑如下:
| sudo vi ~/.ssh/config
之后 ssh 钥匙被传到ceph 节点上,如下:
使用以下命令将钥匙传到所有其他节点:
| sudo ssh-copy-id ceph02
| sudo ssh-copy-id ceph02
配置Ceph 节点在服务器上使用以下命令完成Ceph配置:
| sudo aptitude –y install ceph-deploy ceph-common ceph-mds
现在在服务器上配置存储节点。此时,我们需要在ceph01, ceph02, ceph03 节点上创建 /storage01, /storage02, 和storage03 目录:
| sudo ceph-deploy osd prepare ceph01:/storage01 ceph02:/storage02 ceph03:/storage03
| sudo ceph-deploy osd activate ceph01:/storage01 ceph02:/storage02 ceph03:/storage03
最后,检查ceph状态:
| sudo ceph mds stat
成功运行以上命令后,得到ceph状态如下。然后在OpenStack云环境的每个可用计算节点上执行在线迁移。这样,在宿主机宕机后就能从节点故障中恢复。
总结
本章主要学习GlusterFS 和Ceph安装步骤和使用过程,包括为OpenStack提供共享存储,配置和详细设置步骤。
下一章节,将会分析不同故障场景,提出解决方案来提供简洁有效的恢复机制,达到一个正常具有可操作系统性的水平。
相关阅读:
精品翻译:《OpenStack HA》第三章 对双激活服务的负载均衡
精品翻译:《OpenStack HA》第四章 集群、隔离以及主备服务
云技术社区 交流 分享 提升
云技术社区长期招募热爱翻译人员,参与社区翻译外文资料工作,有意加入请加微信xiaolikvm 。