ceph安装配置完成,pgs degraded; pgs stuck unclean

来源:本网整理

Ceph 是一个将数据存储在单一分布式计算机集群上的开源软件平台。当你计划构建一个云时,你首先需要决定如何实现你的存储。开源的 Ceph 是红帽原生技术之一,它基于称为 RADOS 的对象存储系统,用一组网关 API 表示块、文件、和对象模式中的数据。由于它自身开源的特性,这种便携存储平台能在公有云和私有云上安装和使用。Ceph 集群的拓扑结构是按照备份和信息分布设计的,这种内在设计能提供数据完整性。它的设计目标就是容错、通过正确配置能运行于商业硬件和一些更高级的系统。Ceph 能在任何 Linux 发行版上安装,但为了能正确运行,它需要最近的内核以及其它最新的库。在这篇指南中,我们会使用最小化安装的 CentOS-7.0www.zgxue.com防采集请勿采集本网。

[root@ceph01 ~]# ceph -s

    cluster 950ff068-1065-4667-977e-c75b6a2ce1dd

这种架构的优势使得云服务器可以大大提高了利用率,采用多个云处理器完成系统设计,引入低功耗管理理念完成对系统的集中冗余管理,同时在系统中省去了很多重复的硬件。云服务器一般包括线程、核、处理器、

     health HEALTH_WARN 192 pgs degraded; 192 pgs stuck unclean

Ceph 是一个将数据存储在单一分布式计算机集群上Ceph 能在任何 Linux 发行版上安装,但为了能正确运行,它需要最近的内核以及其它最新的库。在这篇指南中,我们会使用最小化安装的 CentOS-7.0。

     monmap e1: 1 mons at {ceph01=10.1.8.235:6789/0}, election epoch 1, quorum 0 ceph01

1、对象存储:即radosgw,兼容S3接口。通过rest api上传、下载文件。2、文件系统:posix接口。可以将ceph集群看做一个共享文件系统挂载到本地。3、块存储:即rbd。有kernel rbd和librbd两种使用

     osdmap e15: 2 osds: 2 up, 2 in

假定你在看下面的OpenStack同Ceph的集成指南之前,已经架设成功并让Ceph集群Ceph通过利用libvirt和OpenStack一起使用块设备,其中的libvirt配置了QEMU同librbd的接口。OpenStack中有两个部分同.

      pgmap v24: 192 pgs, 3 pools, 0 bytes data, 0 objects

可以下载强力数据恢复软件试试,他可以恢复手机或者电脑各种丢失的文件

            12291 MB used, 17560 MB / 31449 MB avail

                 192 active+degraded

环境如下:

centos6.4  安装ceph emperor版本

ceph01 mon

ceph02 osd

ceph03 osd

ceph04 ceph-admin

安装部署按照官方文档操作,是osd物理节点和pg数量不匹配的原因吗?是否需要修改ceph.conf文件?

配置文件如下:

[root@ceph04 my-cluster]# cat ceph.conf 

[global]

auth_service_required = cephx

filestore_xattr_use_omap = true

auth_client_required = cephx

auth_cluster_required = cephx

mon_host = 10.1.8.235

mon_initial_members = ceph01

fsid = 950ff068-1065-4667-977e-c75b6a2ce1dd

希望知道故障原因的回复下,不胜感激!

@oscfox

=======================其他用户的看法====================

配置文件增加下面两行,默认的为 3,2, osd数要>=备份数.或者可以增加一个osd试试

osd pool default size = 2

osd pool default min size =1

===========================================

Ceph 是一个将数据存储在单一分布式计算机集群上的开源软件平台。当你计划构建一个云时,你首先需要决定如何实现你的存储。开源的 Ceph 是红帽原生技术之一,它基于称为 RADOS 的对象存储系统,用一组网关 API 表示块、文件、和对象模式中的数据。由于它自身开源的特性,这种便携存储平台能在公有云和私有云上安装和使用。Ceph 集群的拓扑结构是按照备份和信息分布设计的,这种内在设计能提供数据完整性。它的设计目标就是容错、通过正确配置能运行于商业硬件和一些更高级的系统。Ceph 能在任何 Linux 发行版上安装,但为了能正确运行,它需要最近的内核以及其它最新的库。在这篇指南中,我们会使用最小化安装的 CentOS-7.0。系统资源CEPH-STORAGE*OS:CentOSLinux7(Core)RAM:1 GBCPU:1 CPUDISK:20Network:45.79.136.163FQDN:ceph-storage.linoxide.comCEPH-NODE*OS:CentOSLinux7(Core)RAM:1 GBCPU:1 CPUDISK:20Network:45.79.171.138FQDN:ceph-node.linoxide.com安装前的配置在安装 Ceph 存储之前,我们要在每个节点上完成一些步骤。第一件事情就是确保每个节点的网络已经配置好并且能相互访问。配置 Hosts要在每个节点上配置 hosts 条目,要像下面这样打开默认的 hosts 配置文件(LCTT 译注:或者做相应的 DNS 解析)。vi/etc/hosts45.79.136.163 ceph-storage ceph-storage.linoxide.com45.79.171.138 ceph-node ceph-node.linoxide.com安装 VMware 工具工作环境是 VMWare 虚拟环境时,推荐你安装它的 open VM 工具。你可以使用下面的命令安装。yum install-y open-vm-tools配置防火墙如果你正在使用启用了防火墙的限制性环境,确保在你的 Ceph 存储管理节点和客户端节点中开放了以下的端口。你必须在你的 Admin Calamari 节点开放 80、2003、以及4505-4506 端口,并且允许通过 80 号端口访问到 Ceph 或 Calamari 管理节点,以便你网络中的客户端能访问 Calamari web 用户界面。你可以使用下面的命令在 CentOS 7 中启动并启用防火墙。systemctl start firewalldsystemctl enable firewalld运行以下命令使 Admin Calamari 节点开放上面提到的端口。firewall-cmd-zone=public-add-port=80/tcp-permanentfirewall-cmd-zone=public-add-port=2003/tcp-permanentfirewall-cmd-zone=public-add-port=4505-4506/tcp-permanentfirewall-cmd-reload在 Ceph Monitor 节点,你要在防火墙中允许通过以下端口。firewall-cmd-zone=public-add-port=6789/tcp-permanent然后允许以下默认端口列表,以便能和客户端以及监控节点交互,并发送数据到其它 OSD。firewall-cmd-zone=public-add-port=6800-7300/tcp-permanent如果你工作在非生产环境,建议你停用防火墙以及 SELinux 在我们的测试环境中我们会停用防火墙以及 SELinux。systemctl stop firewalldsystemctl disable firewalld系统升级现在升级你的系统并重启使所需更改生效。yum updateshutdown-r 0Ceph 用户现在我们会新建一个单独的 sudo 用户用于在每个节点安装 ceph-deploy工具,并允许该用户无密码访问每个节点,因为它需要在 Ceph 节点上安装软件和配置文件而不会有输入密码提示。运行下面的命令在 ceph-storage 主机上新建有独立 home 目录的新用户。[root@ceph-storage~]#useradd-d/home/ceph-m ceph[root@ceph-storage~]#passwd ceph节点中新建的每个用户都要有 sudo 权限,你可以使用下面展示的命令赋予 sudo 权限。[root@ceph-storage~]#echo"ceph ALL=(root)NOPASSWD:ALL"|sudotee/etc/sudoers.d/cephceph ALL=(root)NOPASSWD:ALL[root@ceph-storage~]#sudochmod0440/etc/sudoers.d/cephSSH 密钥现在我们会在 Ceph 管理节点生成 ssh 密钥并把密钥复制到每个 Ceph 集群节点。在 ceph-node 运行下面的命令复制它的 ssh 密钥到 ceph-storage。[root@ceph-node~]#ssh-keygenGeneratingpublic/private rsa key pair.Enterfilein which to save the key(/root/.ssh/id_rsa):Created directory '/root/.ssh'.Enter passphrase(emptyforno passphrase):Enter same passphrase again:Your identification has been saved in/root/.ssh/id_rsa.Yourpublic key has been saved in/root/.ssh/id_rsa.pub.The key fingerprint is:5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-nodeThe key's randomart image is:[RSA 2048]-+[root@ceph-node~]#ssh-copy-id ceph@ceph-storageSSH key配置 PID 数目要配置 PID 数目的值,我们会使用下面的命令检查默认的内核值。默认情况下,是一个小的最大线程数 32768。如下图所示通过编辑系统配置文件配置该值为一个更大的数。更改 PID 值配置管理节点服务器配置并验证了所有网络后,我们现在使用 ceph 用户安装 ceph-deploy。通过打开文件检查 hosts 条目(LCTT 译注:你也可以用 DNS 解析来完成)。vim/etc/hostsceph-storage 45.79.136.163ceph-node 45.79.171.138运行下面的命令添加它的库。rpm-Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpmCeph 仓仓库或者创建一个新文件并更新 Ceph 库参数,别忘了替换你当前的 Release 和版本号。[root@ceph-storage~]#vi/etc/yum.repos.d/ceph.repo[ceph-noarch]name=Ceph noarch packagesbaseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc之后更新你的系统并安装 ceph-deploy 软件包。安装 ceph-deploy 软件包我们运行下面的命令以及 ceph-deploy 安装命令来更新系统以及最新的 ceph 库和其它软件包。yum update-y&yum install ceph-deploy-y配置集群使用下面的命令在 ceph 管理节点上新建一个目录并进入新目录,用于收集所有输出文件和日志。mkdir~/ceph-clustercd~/ceph-clusterceph-deploy new storageceph 集群如果成功执行了上面的命令,你会看到它新建了配置文件。现在配置 Ceph 默认的配置文件,用任意编辑器打开它并在会影响你公共网络的 global 参数下面添加以下两行。vim ceph.confosd pool defaultsize=1public network=45.79.0.0/16安装 Ceph现在我们准备在和 Ceph 集群关联的每个节点上安装 Ceph。我们使用下面的命令在 ceph-storage 和 ceph-node 上安装 Ceph。ceph-deploy install ceph-node ceph-storage安装 ceph处理所有所需仓库和安装所需软件包会需要一些时间。当两个节点上的 ceph 安装过程都完成后,我们下一步会通过在相同节点上运行以下命令创建监视器并收集密钥。ceph-deploy mon create-initialCeph 初始化监视器OSD 和 OSD 守护进程现在我们会设置磁盘存储,首先运行下面的命令列出你所有可用的磁盘。ceph-deploy disk list ceph-storage结果中会列出你存储节点中使用的磁盘,你会用它们来创建 OSD。让我们运行以下命令,请使用你的磁盘名称。ceph-deploy disk zap storage:sdaceph-deploy disk zap storage:sdb为了最后完成 OSD 配置,运行下面的命令配置日志磁盘以及数据磁盘。ceph-deploy osd prepare storage:sdb:/dev/sdaceph-deploy osd activate storage:/dev/sdb1:/dev/sda1你需要在所有节点上运行相同的命令,它会清除你磁盘上的所有东西。之后为了集群能运转起来,我们需要使用以下命令从 ceph 管理节点复制不同的密钥和配置文件到所有相关节点。ceph-deploy admin ceph-node ceph-storage测试 Ceph我们快完成了 Ceph 集群设置,让我们在 ceph 管理节点上运行下面的命令检查正在运行的 ceph 状态。ceph statusceph healthHEALTH_OK如果你在 ceph status 中没有看到任何错误信息,就意味着你成功地在 CentOS 7 上安装了 ceph 存储集群内容来自www.zgxue.com请勿采集。

免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
Copyright © 2017 www.zgxue.com All Rights Reserved