热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7快速部署ceph

1、机器:10.39.3.22-262.优化tcp参数优化ntp时间同步配置requiretty准备执行命令visudo修改suoders文件:1.注释Defaul

1、机器:

10.39.3.22-26 




2.优化

  tcp参数优化 

   

  ntp时间同步配置


  requiretty准备

执行命令visudo修改suoders文件:

1. 注释Defaults requiretty

Defaults requiretty修改为 #Defaults requiretty, 表示不需要控制终端。

否则会出现sudo: sorry, you must have a tty to run sudo

2. 增加行 Defaults visiblepw

否则会出现 sudo: no tty present and no askpass program specified

 



3、ceph用户添加


adduser  ceph -u 2000  

#必须要添加密码,否则无法配置ssh互信

(echo "123321";sleep 1;echo "123321")|passwd ceph --stdin

增加sudo权限

echo  "ceph ALL = (root) NOPASSWD:ALL"| sudo tee /etc/sudoers.d/ceph

chmod 0440 /etc/sudoers.d/ceph  



 

4、修改主机名:

将主机名添加到/etc/hosts文件中

hostnamectl  set-hostname cephnode0

hostnamectl  set-hostname cephnode1

hostnamectl  set-hostname cephnode2





5、 生成密钥文件,默认回车即可

ssh-keygen -t rsa


cat .ssh/id_rsa.pub .ssh/authorized_keys


如果希望ssh公钥生效需满足至少下面两个条件:

     1) .ssh目录的权限必须是700 

     2) .ssh/authorized_keys文件权限必须是600



7、为admin-node节点安装ceph-deploy


第一步:增加 yum配置文件

yum clean all


wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo


sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo

sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo

sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo


添加163源:

vim /etc/yum.repos.d/ceph.repo

[ceph]

name=ceph

baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/

gpgcheck=0

[ceph-noarch]

name=cephnoarch

baseurl=http://mirrors.163.com/ceph/rpm-jewel/el7/noarch/

gpgcheck=0



进行yum的makecache

yum makecache



第二步:更新软件源并安装ceph-deploy


sudo yum update && sudo yum install ceph-deploy



开始节点安装:


第一步:创建集群设置Monitor节点

在admin节点上用ceph-deploy创建集群,new后面跟的是monitor节点的hostname,如果有多个monitor,则它们的hostname以为间隔,多个mon节点可以实现互备。

ceph-deploy  new cephnode0 cephnode1 cephnode2



第二步:利用ceph-deploy为节点安装ceph

ceph-deploy install  cephnode0  cephnode1 cephnode2

 

  如install未成功,亦可手动安装:

在每个节点单独运行安装ceph软件:yum install ceph -y  

osd节点: yum install ceph-radosgw -y

 初始化monitor节点

初始化监控节点并收集keyring:

ceph-deploy mon create-initial 

 (可添加--overwrite-conf参数)

ceph-deploy admin cephnode0 cephnode0 cephnode1 cephnode2

sudo chmod 755 /etc/ceph/ceph.client.admin.keyring

 



 第三步: osd部署

 

ceph-deploy osd prepare cephnode0:/data11/ceph-osd  cephnode2:/data11/ceph-osd   cephnode3:/data11/ceph-osd   cephnode4:/data11/ceph-osd   cephnode5:/data11/ceph-osd 

ceph-deploy osd activate cephnode0:/data11/ceph-osd  cephnode2:/data11/ceph-osd   cephnode3:/data11/ceph-osd   cephnode4:/data11/ceph-osd   cephnode5:/data11/ceph-osd 


(此处直接挂载的目录,由于分区默认使用的ext4格式,osd日志中会有报错,在ceph.conf文件中添加指定参数解决)




添加一个元数据服务器

ceph-deploy mds create cephnode2 cephnode3



创建ceph pg:


ceph osd pool create cephfs_data 1000

ceph osd pool create cephfs_metadata 1000

 

 ceph -s

 ceph fs new cephfs cephfs_metadata cephfs_data



创建完成后,就可以使用ceph-fuse挂载了。



 #ceph rbd 客户端部署:

 客户端需要安装组件、 /etc/ceph/配置文件才能访问rbd?

 yum install rbd-mirror.x86_64



报错处理:

#############################################

[ceph@cephnode0 cluster]$ ceph -w

2017-03-24 18:58:29.832395 7fb5d6222700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin: (2) No such file or directory

2017-03-24 18:58:29.832414 7fb5d6222700 -1 monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication

2017-03-24 18:58:29.832417 7fb5d6222700  0 librados: client.admin initialization error (2) No such file or directory

Error connecting to cluster: ObjectNotFound

[ceph@cephnode0 cluster]$


权限问题,修改为sudo chmod 755 /etc/ceph/ceph.client.admin.keyring




安装不过去的时候:

  yum -y install epel-release




# ** ERROR: osd init failed: (36) File name too long


修改?/etc/ceph/ceph.conf文件,在文件中添加如下配置


osd max object name len = 256  

osd max object namespace len = 64  





#安装ceph时出错[ceph_deploy][ERROR ] RuntimeError: NoSectionError: No section: 'ceph',是为什么呢

yum remove ceph-release  先执行这个,把这个东西卸了,应该是这个的版本不兼容 亲测有效





################3

clock skew detected on mon.cephnode3 

 在admin结点上,修改ceph.conf,添加:

mon_clock_drift_allowed = 5

mon_clock_drift_warn_backoff = 30

ceph-deploy --overwrite-conf admin ceph1 ceph2 ceph3


 重启monitor

systemctl restart ceph-mon@ceph1.service



osd进程过多,需要修改ceph用户的最大文件打开数:

 /etc/security/limits.d/20-nproc.conf  


当您运行每台主机上运行多个OSD进程时(如>20)会产生很多的线程,特别是进行recovery和relalancing操作。

许多Linux内核默认线程限最大数量比较小(例如,32k的)。

如果您遇到这方面的问题,可以考虑把kernel.pid_max设置的高一点。理论上的最大值为4,194,303


本文出自 “Devops” 博客,请务必保留此出处http://devops9527.blog.51cto.com/2419132/1918347


推荐阅读
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • Hello.js 是一个用于连接OAuth2服务的JavascriptRESTFULAPI库,如Go ... [详细]
  • 酌惶S蹬粮偕06搜e40http:p.baidu.compaicenter?uid203161626337656433346554b8726v迷孤U史0ehttp:p.baidu.com ... [详细]
author-avatar
手机用户2502859545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有