设为首页 收藏本站
查看: 1465|回复: 0

[经验分享] centos7快速部署ceph

[复制链接]

尚未签到

发表于 2019-2-1 13:43:19 | 显示全部楼层 |阅读模式
  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
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670503-1-1.html 上篇帖子: docker registry接入ceph Swift API 下篇帖子: ceph 之 crush存储规则理解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表