一.基本情况:
物理设备:4台惠普dl360,4个千兆网卡 4个1T盘
操作系统统一为:CentOS 7.2.1511
ceph版本:10.2.3
ceph-deploy版本:1.5.36
网络情况:192.168.163.0/24

二.环境准备(所有机器):
1.关关关
systemctl stop firewalld
chkconfig firewalld off
setenforce 0
iptables -F
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

2.配置解析
vim /etc/hosts添加
192.168.163.14 ceph-deploy
192.168.163.15 mon1
192.168.163.16 osd1
192.168.163.17 osd2

3.ssh免密
ssh-keygen一路回车
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
scp -rp ~/.ssh/ 192.168.163.X:/root/

4.配置yum源
无网络环境:那就没什么好说的了,你得自己准备好包然后自己写个repo就行
有网络环境(自己找好自己对应的,别全按我的版本号就复制粘贴了):
cd /etc/yum.repos.d/
cat CentOS-Base.repo
[base]
name=CentOS-7.2.1511 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.2.1511/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-7.2.1511 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.2.1511/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-7.2.1511 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.2.1511/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-7.2.1511 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.2.1511/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-7.2.1511 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/7.2.1511/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7.2.1511&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

cat ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/
gpgcheck=0

cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://mirrors.aliyun.com/epel/7/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=0

三.正式安装:
1.所有节点操作:
yum groupinstall base -y
mkdir /etc/ceph
cd /etc/ceph
yum install ceph ceph-deploy -y

2.管理节点操作
监控节点相关:
ceph-deploy new mon1完成后会生成几个新文件,如果中间有报错没有成功执行,说明你的源不完整,网络源是肯定没问题的
vim ceph.conf添加一行
osd pool default size = 2(这行的意思是默认存储数量为2,就是数据存2份啦)

ceph-deploy --overwrite-conf mon create mon1
ceph-deploy mon create-initial(有问题看最下面)

验证下:查看当前某个监控节点状态
ceph daemon mon.你的监控节点主机名 mon_status

数据节点相关:
ceph-deploy --overwrite-conf osd prepare osd1:/dev/sdb osd1:/dev/sdc osd1:/dev/sdd osd1:/dev/sde osd2:/dev/sdb osd2:/dev/sdc osd2:/dev/sdd osd2:/dev/sde
如果执行完后GenericError: Failed to create X OSDs可以去osd节点上fdisk -l看下,成功格式化的盘会显示成如下:
# Start End Size Type Name
1 10487808 1953459598 926.5G unknown ceph data
2 2048 10487807 5G unknown ceph journal

失败的盘检查下是否被占用了,我失败了一个盘,经询问是被别人用了,东西还挺重要不让我格....现在就成了一个4个1T盘的跟一个3个1T盘的osd节点
把占用的盘卸载后再次执行ceph-deploy --overwrite-conf osd prepare osdX:/dev/sdX osdX:/dev/sdX(X就是你失败的盘)

ceph-deploy osd activate osd1:/dev/sdb osd1:/dev/sdc osd1:/dev/sdd osd1:/dev/sde osd2:/dev/sdc osd2:/dev/sdd osd2:/dev/sde
激活刚才格式化的磁盘,此时会报错RuntimeError: command returned non-zero exit status: 1,此时需要看的是这条报错上面那条WARNIN报错的内容,一般有两种:

(1)[osd2][WARNIN] OSError: [Errno 2] No such file or directory: '/var/lib/ceph/osd/ceph-5'
这是因为osd节点的/var/lib/ceph/osd/ceph-5目录不存在,本质是/var/lib/ceph/osd/目录不存在,此时需要去对应节点去mkdir -p /var/lib/ceph/osd/即可

(2)[osd1][WARNIN] ceph_disk.main.Error: Error: No cluster conf found in /etc/ceph with fsid 8012a205-442f-4d06-bf65-75a1fd25f89f
这是因为osd节点的/etc/ceph.conf内第一行fsid跟你现在的fsid对不上了,一般是因为误操作后一直在修改,但是/etc/ceph.conf文件内信息没变
此时应当执行的激活命令为(注意!):
ceph-deploy osd activate osd1:/dev/sdb1 osd1:/dev/sdc1 osd1:/dev/sdd1 osd1:/dev/sde1 osd2:/dev/sdc1 osd2:/dev/sdd1 osd2:/dev/sde1

ceph-deploy admin mon1 osd1 osd2

5.验证下:
ceph health或者ceph -s可以看健康状态
ceph osd tree可以看健康状态跟分布情况

注意:
不仅仅要配置/etc/hosts文件,主机名也是要修改成相对应的!!!
ceph-deploy mon create-initial时出现无法连接到主机是需要删除掉/var/lib/ceph/所有目录,初次安装不会有此问题
要对应好自己盘跟操作时的域名,多个mon节点应注意数量为单数个

就酱紫,一个最简单ceph就搭建完成了,还需要进一步的优化,此时的ceph仅仅是作为分布式文件系统出现的,并未对openstack提供任何功能

ceph初步快速部署的更多相关文章

  1. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...

  2. SUSE Ceph 快速部署 - Storage6

    学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...

  3. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  4. Kurento实战之二:快速部署和体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. 使用kubeadm快速部署一套K8S集群

    一.Kubernetes概述 1.1 Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. K8S用于容器化应用程序的 ...

  6. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  7. 2.快速部署MySQL主从复制

      1.快速部署MySQL主从复制 [root@mysql ~]# mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show slave ...

  8. 如何利用脚本实现MySQL的快速部署以及一机多实例的部署

    MySQL有三个版本:二进制,源码包,RPM. 下面讲讲二进制包的安装过程 下载地址: http://dev.mysql.com/downloads/mysql/ 选择Linux-Generic 我这 ...

  9. MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法. 源码安装虽然有着更加灵活和更加优化等诸多优势.但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很 ...

随机推荐

  1. hmtl初学

    hmtl+css实现小车轮子转动! <!DOCTYPE html>   <html>   <head lang="en">   <meta ...

  2. javascript的document.execCommand(转)

    document.execCommand()方法处理html数据时常用语法格式如下: 代码: document.execCommand(sCommand[,交互方式, 动态参数]) 其 中:sComm ...

  3. ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践

    目录: 一.什么是Proftpd? 二.Proftpd的官方网站在哪里? 三.在哪里下载? 四.如何安装? 1)系统用户的配置+权限控制 2)虚拟用户的配置+权限控制   一.什么是Proftpd? ...

  4. CentOS 7 php留言本网站的搭建

    一如既往的先搭建yum仓库 并且安装httpd服务 yum install httpd -y 1:改网页的搭建是基于html搭建 查询是否安装该协议 rpm -qa |grep httpd 2:留言板 ...

  5. 关于jQuery中的submit()函数

    关于jQuery中的submit()函数(绑定event handler or 触发event?) 今天在敲代码的时候无意间碰到了一个比较绕的问题(一个小师弟问的问题),思前想后都不明白,上午百度.谷 ...

  6. StackOverflow程序员推荐的几本书籍

    1. <代码大全>史蒂夫·迈克康奈尔 推荐数:1684 “优秀的编程实践的百科全书,<代码大全>注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”.这本书有 ...

  7. ADF_Starting系列9_使用EJB/JPA/JSF通过ADF构建Web应用程序之测试J2EE Container

    2013-05-01 Created By BaoXinjian

  8. C++中引用的本质

    一般的教材上讲到引用时,都是说"引用是对象的一个别名".我认为这种定义是不清晰的,不利于初学者理解引用.至少我自己曾经被这个定义困扰了一段时间.到底什么是"别名" ...

  9. pandas入门

    [原]十分钟搞定pandas   本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介 ...

  10. MySQL绿色版安装(mysql-5.7.12-win32)

    1. 从官网下载安装包:mysql-5.7.12-win32.zip 2. 解压到C盘(任意盘符都行) C:\mysql-5.7.12-win32 3. 修改配置文件:C:\mysql-5.7.12- ...