ubuntu 16.04安装ceph集群(双节点)
Ceph是一个分布式存储,可以提供对象存储、块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成。一个Ceph集群中有Monitor节点、MDS节点(可选,用于文件存储)、至少两个OSD守护进程。
Ceph OSD:OSD守护进程,用于存储数据、处理数据拷贝、恢复、回滚、均衡,并通过心跳程序向Monitor提供部分监控信息。一个Ceph集群中至少需要两个OSD守护进程。
Monitor:维护集群的状态映射信息,包括monitor、OSD、Placement Group(PG)。还维护了Monitor、OSD和PG的状态改变历史信息。
MDS:存储Ceph文件系统的元数据。
一、准备两台机器
10.111.131.125 ceph01
10.111.131.126 ceph02
ceph01将作为admin、osd1
ceph02将作为osd2、mon2
二、设置两台主机ssh免密码访问
1、在ceph01电脑上执行
ssh-keygen //一直按回车即可,产生公钥私钥对
2、将ceph01产生的公钥复制到ceph01和ceph02上,这样可以使用ceph01无密码登录ceph01和ceph02
ssh-copy-id -i /root/.ssh/id_rsa.pub ceph01
ssh-copy-id -i /root/.ssh/id_rsa.pub ceph02
测试:
ssh ceph01
ssh ceph02
发现登录时不用输入密码就算设置成功。
三、在ceph01上安装ceph-deploy
apt-get install ceph-deploy
四、在ceph01上创建集群目录
mkdir my-cluster
cd my-cluster
五、创建集群,会在当前目录下看到ceph.conf ceph.log ceph.mon.keyring三个文件
在ceph01上执行:
ceph-deploy new ceph01
执行以上命令后,ceph01相当于监控节点。如果要把两台都作为监控节点则:
ceph-deploy new ceph01 ceph02
vim ceph.conf并将以下配置追加到后面
osd pool default size = 2
六、分别在ceph01和ceph02上安装ceph
在ceph01上执行以下命令:
ceph-deploy install ceph01 ceph02
执行以上命令,相当于在两台电脑上都运行了:apt-get install -y ceph,如果上面的命令失败,也可以用apt-get去每台机子上安装ceph
七、初始化集群监控
在ceph01上执行:
ceph-deploy mon create-initial
八、收集秘钥,目录下会多出ceph.bootstrap-mds.keyring ceph.client.admin.keyring ceph.client.admin.keyring这几个文件
ceph-deploy gatherkeys ceph01
九、准备2块硬盘并准备osd
分别在ceph01和ceph02上执行:
mkfs.xfs /dev/sdb1
在ceph01上执行:
ceph-deploy osd prepare ceph01:/dev/sdb1 ceph02:/dev/sdb1
在ceph01上执行:
ceph-deploy osd activate ceph01:/dev/sdb1 ceph02:/dev/sdb1
上面两条命令执行后,/dev/sdb1会mount到/var/lib/ceph/osd/ceph-0和/var/lib/ceph/osd/ceph-1上,当重启电脑后该挂载会消失,最好开机挂载,解决办法多样,
本人的方法是在:/etc/rc.loac里面加入:
节点1:
mount /dev/sdb1 /var/lib/ceph/osd/ceph-
节点2:
mount /dev/sdb1 /var/lib/ceph/osd/ceph-
十、将配置文件和管理密钥复制到管理节点和Ceph节点,下次再使用ceph命令界面时就无需指定集群监视器地址,执行命令时也无需每次都指定ceph.client.admin.keyring
在ceph01节点上执行:
ceph-deploy --overwrite-conf admin ceph01 ceph02
执行以上命令之后,ceph02这台机器的/etc/ceph目录下也会多出ceph.client.admin.keyring这个文件。

十一、在ceph01上建一个元数据服务器(可选)
大多数情况下都是使用ceph的块设备,一般来说都不用建立mds,只有用到ceph的文件存储的时候才用到
首先执行:
mkdir -p /var/lib/ceph/mds/ceph-ceph01
ceph-deploy mds create ceph01
十二、ceph -s 看到ok表示集群状态正常。

十三、重启集群
service ceph restart -a
如果上面的命令不起作用则对各个节点服务进行重启
1、重启mon节点,mon节点在ceph01上
/etc/init.d/ceph restart mon.ceph01或
systemctl start ceph-mon@ceph01
2、重启osd0节点,osd0在ceph01上
systemctl start ceph-osd@0
3、重启osd1节点,osd1在ceph02上
ssh ceph02
systemctl start ceph-osd@1
ubuntu 16.04安装ceph集群(双节点)的更多相关文章
- Ubuntu 14.04 部署 CEPH集群
注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- Ubuntu 16.04安装cuda7.5 GCC
http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...
- Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2
Ubuntu 16.04 安装 Kodi v17 “Krypton” Alpha 2:sudo add-apt-repository ppa:team-xbmc/xbmc-nightlysudo ap ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu 16.04 安装Mysql 5.7 踩坑小记
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql ...
- Ubuntu 16.04安装Matlab 2016b教程
由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...
- ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA
ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...
- ROS_Kinetic_01 在ubuntu 16.04安装ROS Kinetic 2017.01更新
ROS_Kinetic系列学习(一),在ubuntu 16.04安装ROS Kinetic. Celebrating 9 Years of ROS! ubuntu16.04已经发布半年多了,ROS的K ...
随机推荐
- CentOS6.4安装辅助NIS的流程
服务器端软件包安装 yum -y install yp-tools ypbind ypserv rpcbind 设置NIS的域名 echo 'NISDOMAIN=liebaonis.local' &g ...
- 一个简单的Java Web项目搭建流程
今天试图在服务器上搭建一个web服务器,顺便回顾了java web项目的入门,使用Servlet处理HTTP请求,并记录日志等操作.当很久没有做过web项目时,有些东西还是很容易忘记的. Maven配 ...
- 后台给GridView绑定数据时给每一行添加一个JS方法
--------JS function ReturnDictionaryValues(srcElement) { top.document.getElementById("_DialogFr ...
- tkinter实现的文本编辑器
效果: # -*- encoding: utf8 -*- #python 2.7 from Tk ...
- Flask之视图(一)
2.关于Flask 知识点 从Hello World开始 给路由传递参数 返回状态码 重定向 正则URL 设置cookie和获取cookie 扩展 上下文 请求钩子 Flask装饰器路由的实现 Fla ...
- 读《分布式一致性原理》JAVA客户端API操作
创建会话 客户端可以通过创建一个Zookeeper实例来连接服务器.4种构造方法如下 ZooKeeper(connectString, sessionTimeout, watcher): ZooKee ...
- 1、svn架设、基本命令
SVN是Subversion的简称,是一个开放源代码的版本控制系统.是一项十分基础,必须能够熟练使用的工具.Apache网站:https://subversion.apache.org/ 采用C/S模 ...
- Django templates 和 urls 拆分
如果在Django项目 下面新建了blog和polls两个APP应用,在每个APP下面都各自新建自己的url和templates,那么我们需要如何进行项目配置呢? INSTALLED_APPS = [ ...
- django网页的分页功能,大家如果有疑问请留言
url文件 from django.contrib import admin from django.conf.urls import url from app01 import views urlp ...
- MySQL系统时间函数NOW(),CURRENT_TIMESTAMP(),SYSDATE()的区别
CURRENT_TIMESTAMP是NOW的同义词,也就是说两者是相同的. SYSDATE函数返回的是执行到当前函数时的时间,而NOW返回的是执行SQL语句时的时间. 测试语句: SELECT NOW ...