如何在 CentOS 7.0 上配置 Ceph 存储

如何在 CentOS 7.0 上配置 Ceph 存储

Ceph 是一个将数据存储在单一分布式计算机集群上的开源软件平台。当你计划构建一个云时,你首先需要决定如何实现你的存储。开源的 Ceph 是红帽原生技术之一,它基于称为 RADOS 的对象存储系统,用一组网关 API 表示块、文件、和对象模式中的数据。由于它自身开源的特性,这种便携存储平台能在公有云和私有云上安装和使用。Ceph 集群的拓扑结构是按照备份和信息分布设计的,这种内在设计能提供数据完整性。它的设计目标就是容错、通过正确配置能运行于商业硬件和一些更高级的系统。

Ceph 能在任何 Linux 发行版上安装,但为了能正确运行,它需要最近的内核以及其它最新的库。在这篇指南中,我们会使用最小化安装的 CentOS-7.0。

系统资源


  1. **CEPH-STORAGE**
  2. OS: CentOS Linux 7 (Core)
  3. RAM:1 GB
  4. CPU:1 CPU
  5. DISK: 20
  6. Network: 45.79.136.163
  7. FQDN: ceph-storage.linoxide.com
  8. **CEPH-NODE**
  9. OS: CentOS Linux 7 (Core)
  10. RAM:1 GB
  11. CPU:1 CPU
  12. DISK: 20
  13. Network: 45.79.171.138
  14. FQDN: ceph-node.linoxide.com

安装前的配置

在安装 Ceph 存储之前,我们要在每个节点上完成一些步骤。第一件事情就是确保每个节点的网络已经配置好并且能相互访问。

配置 Hosts

要在每个节点上配置 hosts 条目,要像下面这样打开默认的 hosts 配置文件(LCTT 译注:或者做相应的 DNS 解析)。


  1. # vi /etc/hosts


  1. 45.79.136.163 ceph-storage ceph-storage.linoxide.com
  2. 45.79.171.138 ceph-node ceph-node.linoxide.com

安装 VMware 工具

工作环境是 VMWare 虚拟环境时,推荐你安装它的 open VM 工具。你可以使用下面的命令安装。


  1. # yum install -y open-vm-tools

配置防火墙

如果你正在使用启用了防火墙的限制性环境,确保在你的 Ceph 存储管理节点和客户端节点中开放了以下的端口。

你必须在你的 Admin Calamari 节点开放 80、2003、以及4505-4506 端口,并且允许通过 80 号端口访问到 Ceph 或 Calamari 管理节点,以便你网络中的客户端能访问 Calamari web 用户界面。

你可以使用下面的命令在 CentOS 7 中启动并启用防火墙。


  1. # systemctl start firewalld
  2. # systemctl enable firewalld

运行以下命令使 Admin Calamari 节点开放上面提到的端口。


  1. # firewall-cmd --zone=public --add-port=80/tcp --permanent
  2. # firewall-cmd --zone=public --add-port=2003/tcp --permanent
  3. # firewall-cmd --zone=public --add-port=4505-4506/tcp --permanent
  4. # firewall-cmd --reload

在 Ceph Monitor 节点,你要在防火墙中允许通过以下端口。


  1. # firewall-cmd --zone=public --add-port=6789/tcp --permanent

然后允许以下默认端口列表,以便能和客户端以及监控节点交互,并发送数据到其它 OSD。


  1. # firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent

如果你工作在非生产环境,建议你停用防火墙以及 SELinux 设置,在我们的测试环境中我们会停用防火墙以及 SELinux。


  1. # systemctl stop firewalld
  2. # systemctl disable firewalld

系统升级

现在升级你的系统并重启使所需更改生效。


  1. # yum update
  2. # shutdown -r 0

设置 Ceph 用户

现在我们会新建一个单独的 sudo 用户用于在每个节点安装 ceph-deploy工具,并允许该用户无密码访问每个节点,因为它需要在 Ceph 节点上安装软件和配置文件而不会有输入密码提示。

运行下面的命令在 ceph-storage 主机上新建有独立 home 目录的新用户。


  1. [root@ceph-storage ~]# useradd -d /home/ceph -m ceph
  2. [root@ceph-storage ~]# passwd ceph

节点中新建的每个用户都要有 sudo 权限,你可以使用下面展示的命令赋予 sudo 权限。


  1. [root@ceph-storage ~]# echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
  2. ceph ALL = (root) NOPASSWD:ALL
  3. [root@ceph-storage ~]# sudo chmod 0440 /etc/sudoers.d/ceph

设置 SSH 密钥

现在我们会在 Ceph 管理节点生成 ssh 密钥并把密钥复制到每个 Ceph 集群节点。

在 ceph-node 运行下面的命令复制它的 ssh 密钥到 ceph-storage。


  1. [root@ceph-node ~]# ssh-keygen
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Created directory '/root/.ssh'.
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /root/.ssh/id_rsa.
  8. Your public key has been saved in /root/.ssh/id_rsa.pub.
  9. The key fingerprint is:
  10. 5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-node
  11. The key's randomart image is:
  12. +--[ RSA 2048]----+


  1. [root@ceph-node ~]# ssh-copy-id ceph@ceph-storage

配置 PID 数目

要配置 PID 数目的值,我们会使用下面的命令检查默认的内核值。默认情况下,是一个小的最大线程数 32768。

如下图所示通过编辑系统配置文件配置该值为一个更大的数。

配置管理节点服务器

配置并验证了所有网络后,我们现在使用 ceph 用户安装 ceph-deploy。通过打开文件检查 hosts 条目(LCTT 译注:你也可以用 DNS 解析来完成)。


  1. # vim /etc/hosts
  2. ceph-storage 45.79.136.163
  3. ceph-node 45.79.171.138

运行下面的命令添加它的库。


  1. # rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm

或者创建一个新文件并更新 Ceph 库参数,别忘了替换你当前的 Release 和版本号。


  1. [root@ceph-storage ~]# vi /etc/yum.repos.d/ceph.repo


  1. [ceph-noarch]
  2. name=Ceph noarch packages
  3. baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch
  4. enabled=1
  5. gpgcheck=1
  6. type=rpm-md
  7. gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc

之后更新你的系统并安装 ceph-deploy 软件包。

安装 ceph-deploy 软件包

我们运行下面的命令以及 ceph-deploy 安装命令来更新系统以及最新的 ceph 库和其它软件包。


  1. #yum update -y && yum install ceph-deploy -y

配置集群

使用下面的命令在 ceph 管理节点上新建一个目录并进入新目录,用于收集所有输出文件和日志。


  1. # mkdir ~/ceph-cluster
  2. # cd ~/ceph-cluster


  1. # ceph-deploy new storage

如果成功执行了上面的命令,你会看到它新建了配置文件。

现在配置 Ceph 默认的配置文件,用任意编辑器打开它并在会影响你公共网络的 global 参数下面添加以下两行。


  1. # vim ceph.conf
  2. osd pool default size = 1
  3. public network = 45.79.0.0/16

安装 Ceph

现在我们准备在和 Ceph 集群关联的每个节点上安装 Ceph。我们使用下面的命令在 ceph-storage 和 ceph-node 上安装 Ceph。


  1. # ceph-deploy install ceph-node ceph-storage

处理所有所需仓库和安装所需软件包会需要一些时间。

当两个节点上的 ceph 安装过程都完成后,我们下一步会通过在相同节点上运行以下命令创建监视器并收集密钥。


  1. # ceph-deploy mon create-initial

设置 OSD 和 OSD 守护进程

现在我们会设置磁盘存储,首先运行下面的命令列出你所有可用的磁盘。


  1. # ceph-deploy disk list ceph-storage

结果中会列出你存储节点中使用的磁盘,你会用它们来创建 OSD。让我们运行以下命令,请使用你的磁盘名称。


  1. # ceph-deploy disk zap storage:sda
  2. # ceph-deploy disk zap storage:sdb

为了最后完成 OSD 配置,运行下面的命令配置日志磁盘以及数据磁盘。


  1. # ceph-deploy osd prepare storage:sdb:/dev/sda
  2. # ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1

你需要在所有节点上运行相同的命令,它会清除你磁盘上的所有东西。之后为了集群能运转起来,我们需要使用以下命令从 ceph 管理节点复制不同的密钥和配置文件到所有相关节点。


  1. # ceph-deploy admin ceph-node ceph-storage

测试 Ceph

我们快完成了 Ceph 集群设置,让我们在 ceph 管理节点上运行下面的命令检查正在运行的 ceph 状态。


  1. # ceph status
  2. # ceph health
  3. HEALTH_OK

如果你在 ceph status 中没有看到任何错误信息,就意味着你成功地在 CentOS 7 上安装了 ceph 存储集群。

总结

在这篇详细的文章中我们学习了如何使用两台安装了 CentOS 7 的虚拟机设置 Ceph 存储集群,这能用于备份或者作为用于其它虚拟机的本地存储。我们希望这篇文章能对你有所帮助。当你试着安装的时候记得分享你的经验。

本文来自合作伙伴“Linux中国”,原文发表于2013-04-02.

时间: 2024-11-02 19:53:02

如何在 CentOS 7.0 上配置 Ceph 存储的相关文章

如何在CentOS 7.0 安装 Websvn

如何在CentOS 7.0 安装 Websvn 大家好,今天我们会在CentOS 7.0 上为 subversion(SVN)安装Web 界面 WebSVN.(subverion 是 apache 的顶级项目,也称为 Apache SVN 或 SVN) WebSVN 将 Svbverion 的操作你的仓库的各种功能通过 Web 界面提供出来.通过它,我们可以看到任何给定版本的任何文件或者目录的日志,并且可看到所有文件改动.添加.删除的列表.我们同样可以查看两个版本间的差异来知道特定版本改动了什么

CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

原文 CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)     一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum i

Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库

Linux有问必答:如何在CentOS或者RHEL上启用Nux Dextop仓库 问题: 我想要安装一个在Nux Dextop仓库的RPM包.我该如何在CentOS或者RHEL上设置Nux Dextop仓库? Nux Dextop是一个面对CentOS.RHEL.ScientificLinux的含有许多流行的桌面和多媒体相关的包的第三方RPM仓库(比如:Ardour,Shutter等等).目前,Nux Dextop桌面对CentOS和RHEL 6/7可用. 要在CentOS或者RHEL上启用Nu

如何在CentOS中安装及配置Asterisk

Asterisk 是第一套以开放源代码软件实作的 用户交换机 (PBX) 系统.Asterisk 由 Digium 的创办人 Mark Spencer 于 1999 年间,他还在奥本大学念书时开发出.与其他的用户交换机系统相同,Asterisk 同样支援电话拨打另一只分机,和拨打到公共交换电话网与IP电话系统.Asterisk 这个名称源自于星号 "*". Asterisk 采用双轨授权模式,http://www.aliyun.com/zixun/aggregation/8173.ht

CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)_Linux

准备篇: CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptab

如何在 Ubuntu 14/15 上配置 Apache Solr

如何在 Ubuntu 14/15 上配置 Apache Solr 大家好,欢迎来阅读我们今天这篇 Apache Solr 的文章.简单的来说,Apache Solr 是一个最负盛名的开源搜索平台,配合运行在网站后端的 Apache Lucene,能够让你轻松创建搜索引擎来搜索网站.数据库和文件.它能够索引和搜索多个网站并根据搜索文本的相关内容返回搜索建议. Solr 使用 HTTP 可扩展标记语言(XML),可以为 JSON.Python 和 Ruby 等提供应用程序接口(API).根据 Apa

如何在阿里云Centos7.0上配置java web环境

如何在阿里云Centos7.0上配置java web环境 1.下载Xshell和xftp 把这两个工具传CSDN上了. 2.连接到阿里云服务器 把下载的工具安装到电脑上,然后打开xshell,配置连接,主机就是阿里云服务器的公网IP,连接到阿里云服务器. 3.上传安装文件 点击图片标注菜单,然后就可以打开Xftp软件,连接到服务器,进行文件上传和下载. 4.安装上传的文件 通过cd命令切换到上传的文件夹,执行rpm-ivhjdk-8u60-linux-x64.rpm命令进行安装Javajdk,r

如何在CentOS 7.x上安装Zephyr测试管理工具

测试管理指测试人员所需要的任何的所有东西.测试管理工具用来记录测试执行的结果.计划测试活动以及汇报质量控制活动的情况.在这篇文章中,我们会向你介绍如何配置 Zephyr 测试管理工具,它包括了管理测试活动需要的所有东西,不需要单独安装测试活动所需要的应用程序,从而降低测试人员不必要的麻烦.一旦你安装完它,你就看可以用它跟踪 bug 和缺陷,和你的团队成员协作项目任务,因为你可以轻松地共享和访问测试过程中多个项目团队的数据. Zephyr 要求 安装和运行 Zephyr 要求满足以下最低条件.可以

如何在CentOS 7用cPanel配置Nginx反向代理

Nginx 是最快和最强大的 Web 服务器之一,以其高性能和低资源占用率而闻名.它既可以被安装为一个独立的 Web 服务器,也可以安装成反向代理 Web 服务器.在这篇文章,我将讨论在安装了 cPanel 管理系统的 Centos 7 服务器上安装 Nginx 作为 Apache 的反向代理服务器. Nginx 作为前端服务器用反向代理为静态文件提供服务,Apache 作为后端为动态文件提供服务.这个设置将整体提高服务器的性能. 让我们过一遍在已经安装好 cPanel 11.52 的 Cent