本文使用ceph-deploy工具,能快速搭建出一个ceph集群。


一、环境准备

ditaa-cffd08dd3e192a5f1d724ad7930cb04200

  • 修改主机名

  1. [root@admin-node ~]# cat /etc/redhat-release

  2. CentOS Linux release 7.4.1708 (Core)


IP
主机名 角色

10.10.10.20

admin-node ceph-deploy
10.10.10.21 node1 mon
10.10.10.22 node2 osd
10.10.10.23 node3 osd


  • 设置DNS解析(我们这里修改/etc/hosts文件)

  • 每个节点都要配置


  1. [root@admin-node ~]# cat /etc/hosts

  2. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

  4. 10.10.10.20 admin-node

  5. 10.10.10.21 node1

  6. 10.10.10.22 node2

  7. 10.10.10.23 node3


  • 配置yum源

  • 每个节点都要配置


  1. [root@admin-node ~]# mv /etc/yum.repos.d{,.bak}

  2. [root@admin-node ~]# mkdir /etc/yum.repos.d

  3. [root@admin-node ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  4. [ceph]

  5. name=Ceph packages for $basearch

  6. baseurl=http://download.ceph.com/rpm-jewel/el7/$basearch

  7. enabled=1

  8. priority=2

  9. gpgcheck=1

  10. type=rpm-md

  11. gpgkey=https://download.ceph.com/keys/release.asc


  12. [ceph-noarch]

  13. name=Ceph noarch packages

  14. baseurl=http://download.ceph.com/rpm-jewel/el7/noarch

  15. enabled=1

  16. priority=2

  17. gpgcheck=1

  18. type=rpm-md

  19. gpgkey=https://download.ceph.com/keys/release.asc


  20. [ceph-source]

  21. name=Ceph source packages

  22. baseurl=http://download.ceph.com/rpm-jewel/el7/SRPMS

  23. enabled=0

  24. priority=2

  25. gpgcheck=1

  26. type=rpm-md

  27. gpgkey=https://download.ceph.com/keys/release.asc


  • 关闭防火墙和Selinux

  • 每个节点都要配置


  1. [root@admin-node ~]# systemctl stop firewalld.service

  2. [root@admin-node ~]# systemctl disable firewalld.service

  3. [root@admin-node ~]# setenforce 0

  4. [root@admin-node ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config


  • 设置节点之间面秘钥登入

  • 每个节点都要配置

  1. [root@admin-node ~]# ssh-keygen

  2. [root@admin-node ~]# ssh-copy-id 10.10.10.21

  3. [root@admin-node ~]# ssh-copy-id 10.10.10.22

  4. [root@admin-node ~]# ssh-copy-id 10.10.10.23


  • 使用chrony同步时间

  • 每个节点都要配置


  1. [root@admin-node ~]# yum install chrony -y

  2. [root@admin-node ~]# systemctl restart chronyd

  3. [root@admin-node ~]# systemctl enable chronyd

  4. [root@admin-node ~]# chronyc source -v (查看时间是否同步,*表示同步完成)


二、安装ceph-luminous


  • 安装ceph-deploy

  • 只在admin-node节点安装


  1. [root@admin-node ~]# yum install ceph-deploy -y


  • 在管理节点上创建一个目录,用于保存 ceph-deploy 生成的配置文件和密钥对

  • 只在admin-node节点安装


  1. [root@admin-node ~]# mkdir /etc/ceph

  2. [root@admin-node ~]# cd /etc/ceph/


  • 清除配置(若想从新安装可以执行以下命令)

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# ceph-deploy purgedata node1 node2 node3

  2. [root@admin-node ceph]# ceph-deploy forgetkeys


  • 创建集群

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# ceph-deploy new node1


  • 修改ceph的配置,将副本数改为2

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# vi ceph.conf

  2. [global]

  3. fsid = 183e441b-c8cd-40fa-9b1a-0387cb8e8735

  4. mon_initial_members = node1

  5. mon_host = 10.10.10.21

  6. auth_cluster_required = cephx

  7. auth_service_required = cephx

  8. auth_client_required = cephx

  9. filestore_xattr_use_omap = true

  10. osd journal size = 1024

  11. filestore xattr use omap = true

  12. osd pool default size = 2

  13. osd pool default min size = 1

  14. osd pool default pg num = 333

  15. osd pool default pgp num = 333

  16. osd crush chooseleaf type = 1


  • 安装ceph

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# ceph-deploy install admin-node node1 node2 node3


  • 配置初始 monitor(s)、并收集所有密钥

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# ceph-deploy mon create-initial

  2. [root@admin-node ceph]# ls

  3. ceph.bootstrap-mds.keyring ceph.bootstrap-rgw.keyring ceph-deploy-ceph.log

  4. ceph.bootstrap-mgr.keyring ceph.client.admin.keyring ceph.mon.keyring

  5. ceph.bootstrap-osd.keyring ceph.conf rbdmap

  6. [root@admin-node ceph]# ceph -s (查看集群状态)

  7. cluster 8d395c8f-6ac5-4bca-bbb9-2e0120159ed9

  8. health HEALTH_ERR

  9. no osds

  10. monmap e1: 1 mons at {node1=10.10.10.21:6789/0}

  11. election epoch 3,quorum 0 node1

  12. osdmap e1: 0 osds: 0 up,0 in

  13. flags sortbitwise,require_jewel_osds

  14. pgmap v2: 64 pgs,1 pools,0 bytes data,0 objects

  15. 0 kB used,0 kB / 0 kB avail

  16. 64 creating


  • 创建OSD


  1. [root@node2 ~]# lsblk(node2,node3做osd)

  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

  3. fd0 2:0 1 4K 0 disk

  4. sda 8:0 0 20G 0 disk

  5. ├─sda1 8:1 0 1G 0 part /boot

  6. └─sda2 8:2 0 19G 0 part

  7. ├─cl-root 253:0 0 17G 0 lvm /

  8. └─cl-swap 253:1 0 2G 0 lvm [SWAP]

  9. sdb 8:16 0 50G 0 disk /var/local/osd0

  10. sdc 8:32 0 5G 0 disk

  11. sr0 11:0 1 4.1G 0 rom

  12. [root@node2 ~]# mkfs.xfs /dev/sdb

  13. [root@node2 ~]# mkdir /var/local/osd0

  14. [root@node2 ~]# mount /dev/sdb /var/local/osd0

  15. [root@node2 ~]# chown ceph:ceph /var/local/osd0

  16. [root@node3 ~]# mkdir /var/local/osd1

  17. [root@node3 ~]# mkfs.xfs /dev/sdb

  18. [root@node3 ~]# mount /dev/sdb /var/local/osd1/

  19. [root@node3 ~]# chown ceph:ceph /var/local/osd1

  20. [root@admin-node ceph]# ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1(在admin-node节点执行)


  • 将admin-node上的密钥和配合文件拷贝到各个节点

  • 只在admin-node节点安装


  1. [root@admin-node ceph]# ceph-deploy admin admin-node node1 node2 node3


  • 确保对 ceph.client.admin.keyring 有正确的操作权限

  • 只在OSD节点执行


  1. [root@node2 ~]# chmod +r /etc/ceph/ceph.client.admin.keyring


  • 管理节点执行 ceph-deploy 来准备 OSD


  1. [root@admin-node ceph]# ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1


  • 激活 OSD


  1. [root@admin-node ceph]# ceph-deploy osd activate node2:/var/local/osd0 node3:/var/local/osd1


  • 检查集群的健康状况


  1. [root@admin-node ceph]# ceph health

  2. HEALTH_OK


  1. [root@admin-node ceph]# ceph health

  2. HEALTH_OK

  3. [root@admin-node ceph]# ceph -s

  4. cluster 69f64f6d-f084-4b5e-8ba8-7ba3cec9d927

  5. health HEALTH_OK

  6. monmap e1: 1 mons at {node1=10.10.10.21:6789/0}

  7. election epoch 3,quorum 0 node1

  8. osdmap e14: 3 osds: 3 up,3 in

  9. flags sortbitwise,require_jewel_osds

  10. pgmap v29: 64 pgs,0 objects

  11. 15459 MB used,45950 MB / 61410 MB avail

  12. 64 active+clean

基于Centos7.4搭建Ceph的更多相关文章

  1. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. ios – 使用带有NodeJs HTTPS的certificates.cer

    我为IOS推送通知生成了一个.cer文件,我希望将它与NodeJSHTTPS模块一起使用.我发现HTTPS模块的唯一例子是使用.pem和.sfx文件,而不是.cer:有解决方案吗解决方法.cer文件可以使用两种不同的格式进行编码:PEM和DER.如果您的文件使用PEM格式编码,您可以像使用任何其他.pem文件一样使用它(有关详细信息,请参见Node.jsdocumentation):如果您的文件使

  3. ios – 200在xcode 7中生成DSMM警告

    解决方法我有同样的问题.Facebook表示他们已经意识到这一点并且不是高优先级,因为它不会影响应用程序.我回退到4.7.1警告问题不再存在.我不认为它会被拒绝但不能确定.

  4. xamarin.ios – Facebook iOS SDK:应用程序在启动时找不到“找不到符号:_ACFacebookAppIdKey.”仅在iOS 5中崩溃

    解决方法这是一个已修复的knownbug.目前唯一已知的解决方法是使用较旧版本的FacebookSDK.

  5. osx – 无法创建目录/ var / teamsserver

    OpenSSH_6.2p2,OSSLShim0.9.8r8Dec2011debug1:Readingconfigurationdata/etc/ssh_configdebug1:/etc/ssh_configline20:Applyingoptionsfor*debug1:Connectingto1.2.3.4[1.2.3.4]portPORT.debug1:Connectionestablished.Couldnotcreatedirectory‘/var/teamsserver/.ssh’.debug

  6. ios – 如何在Xcode 4.5中完成代码签名

    解决方法事实证明,从AppStore升级XCode并不会自动升级所有内容.转到首选项/下载,并确保安装最新的命令行工具.

  7. xcode7 – 谁在创建文件“/private/var/tmp/Untitled-*.uicatalog”?

    我正在调查为什么TeamCity构建代理程序用完了磁盘,并且在/private/var/tmp中找到了超过11,000个文件,它们都以Untitled-.uicatalog行命名.每个文件至少0.6MB.总磁盘占用空间约为4GB.这些文件可以追溯到几个月,所以他们能够重新启动.谁在创造他们?Xcode在编译至少有一个图像的xcassets目录时创建这些目录.我可以删除它们吗?

  8. ios – Client.ipa不包含文件

    从过去的几天开始,我就把这头发错了.当我尝试提交基于cordova的iOS应用程序时,我收到一个错误,即符号工具失败.这就是我在日志中的内容:以下是尝试提交到应用商店时所述错误的屏幕截图:请帮忙.解决方法我有同样的错误,因为应用程序包中错误地包含了几个静态库(libXXX.a).它们显示在主.App下的最终上传确认框(列出权利和证书)中.我的解决方案是从项目中删除对这些静态库的所有引用,在链接器标

  9. ios – 如何获得.ipa文件路径

    我的应用程序包含敏感数据,所以我想为.ipa文件生成哈希键,是否可以这样做?

  10. 如何在XCode IDE中构建NodeJS?

    如何在XCodeIDE中将NodeJS构建为项目?NodeJS构建指令说它应该用以下内容构建:但是我希望在XCodeIDE中构建.我真正想要做的是在我的应用程序中嵌入NodeJS,所以我想如果我可以在XCode中构建NodeJS,那么我可以调整它以在我建立和运行NodeJS后添加我的应用程序.我想通过让V8在XCode中编译来取得一些进展,现在我正在尝试将NodeJS添加到V8项目中.解决方法在节点存储库根目录中运行./configure–xcode,您将获得所需的node.xcodeproj文件.

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部