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上

   /etc/init.d/ceph start osd.0或

systemctl start ceph-osd@0

3、重启osd1节点,osd1在ceph02上

ssh ceph02

/etc/init.d/ceph start osd.1或

systemctl start ceph-osd@1

ubuntu 16.04安装ceph集群(双节点)的更多相关文章

  1. Ubuntu 14.04 部署 CEPH集群

    注:下文的所有操作都在admin节点进行 1.准备三台虚拟机,其中一台作为admin节点,另外两台作为osd节点,并相应地用hostname命令将主机名修改为admin,osd0,osd1,最后修改/ ...

  2. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  3. Ubuntu 16.04安装cuda7.5 GCC

    http://www.linuxidc.com/Linux/2017-01/139320.htm 在介绍Ubuntu 16.04安装 CUDA7.5开始前,先辨析几个概念GPU.NVIDIA.NVID ...

  4. 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 ...

  5. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  6. 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 ...

  7. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

  8. ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA

    ubuntu 16.04 安装 tensorflow-gpu 包括 CUDA ,CUDNN,CONDA 显卡驱动装好了,如图: 英文原文链接: https://github.com/williamFa ...

  9. 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 ...

随机推荐

  1. Linux性能监控 - CPU、Memory、IO、Network

    一.CPU 良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70%. 上下文 ...

  2. kotlin学习一:kotlin简介

    kotlin是JetBrains公司出品的基于JVM的语言,和其他JVM语言一样,目的在于提供比JAVA更加简介的语法, 同时提供函数式编程,不需要再像JAVA一样所有的一切都要依托于类. kotli ...

  3. 一张图看懂高通QC1.0-QC4.0快充进化之路!QC2.0跟QC3.0充电区别

    快充技术日新月异,快充市场百家争鸣的今天,高通QC快充依然主导着市场.如今QC快充已发展到第四代,每一代都有着革命性的进步.从QC1.0到QC4.0更新换代时间之短,不免让广大人民群众抱怨. “啥?老 ...

  4. Debian 7.0.0 安装教程图解

    Debian7.0.0的安装镜像文件有3个DVD,安装基本系统只用到第一个镜像文件,即DVD1,其它镜像文件是附带的软件包,下面是安装方法   一.说明: Debian7.0.0的安装镜像文件有3个D ...

  5. Vue源码学习(零):内部原理解析

    本篇文章是在阅读<剖析 Vue.js 内部运行机制>小册子后总结所得,想要了解详细内容,请参考原文:https://juejin.im/book/5a36661851882538e2259 ...

  6. python学习笔记(十二):发送邮件

    我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下: impo ...

  7. OD 实验(十七) - 对一个程序的逆向分析

    程序: 运行程序 弹出一个对话框,点击 OK 来到主界面,点击 Help -> Register Now 这是输入注册码的地方 按关闭程序的按钮 会提示剩下 30 天的使用时间 用 Ressco ...

  8. 【转】详解Data Binding 通过几个简单示例深入了解WinForm数据绑定特性

    原文地址:http://www.cnblogs.com/lichence/archive/2012/02/17/2356001.html

  9. Php函数set_include_path()函数详解

    set_include_path--设置include_path配置选项. 说明 string set_include_path(string $new_include_path); 为当前脚本设置i ...

  10. 一些常用的centos命令,记忆下,属于常用的

    一些常用的centos命令,记忆下,属于常用的 查询内网IP hostname -I 查询外网IP curl ifconfig.me 查看硬盘使用情况 df -h 查看系统资源使用率 top 查看系统 ...