centos7快速部署ceph

简介:

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



本文转自 Wilson9527 51CTO博客,原文链接:http://blog.51cto.com/devops9527/1918347,如需转载请自行联系原作者

相关文章
|
4月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
267 0
|
2月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
4月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
306 80
|
6月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
3月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
267 0
虚拟机centos7.9一键部署docker
|
4月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
717 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
4月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
145 2
|
5月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
128 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
4月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
174 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
5月前
|
Linux 数据安全/隐私保护 虚拟化
centos7部署openVPN
centos7部署openVPN