手工安装https://www.jianshu.com/p/b8f085ca0307

在ceph所有节点上执行

1.配置hosts

cat << EOF >> /etc/hosts
172.31.240.49 ceph-mon01
EOF

2.配置ceph安装源

cat << EOF > /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS/
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
EOF

3.创建cephd用户并赋予sudo权限

useradd cephd
echo 'CephIl#i42' | passwd --stdin cephd
echo "cephd ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/cephd
chmod 0440 /etc/sudoers.d/cephd

4.准备OSD的存储空间(必须是一块未使用的磁盘或分区)

在ceph-mon01上:
mkfs.xfs /dev/sdb

在ceph-deploy节点上执行

5.在ceph-deploy节点上设置免密钥ssh到其它节点。

yum -y install expect
su - cephd
expect << EOF
spawn ssh-keygen -t rsa
expect {
"Enter file in which to save the key (/home/cephd/.ssh/id_rsa):" { send "\r"; exp_continue}
"Enter passphrase (empty for no passphrase):" { send "\r"; exp_continue}
"Enter same passphrase again:" { send "\r"; exp_continue}
}
EOF
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 400 ~/.ssh/authorized_keys
for i in {"ceph-mon01",} ;do ssh-copy-id -i ~/.ssh/id_rsa.pub cephd@$i;done

6.配置执行ceph-deploy时免指定username参数

su - cephd
cat << EOF > ~/.ssh/config
Host ceph-mon01
    Hostname ceph-mon01
    User cephd
EOF
chmod 600 ~/.ssh/config

7.安装ceph-deploy

sudo yum -y install ceph-deploy
ceph-deploy --version

8.创建部署临时目录

mkdir ~/ceph-cluster

9.给所有ceph节点安装ceph

cd ~/ceph-cluster
ceph-deploy install --no-adjust-repos ceph-mon01
ceph --version

10.创建Monitor监视器集群并指定ceph节点物理上相互通信的网络

cd ~/ceph-cluster
ceph-deploy new --public-network 172.31.240.0/24  ceph-mon01

11.定制ceph.conf配置(我没做定制)

12.初始化Monitor监视器集群并收集密钥

cd ~/ceph-cluster
ceph-deploy --overwrite-conf mon create-initial
若有报错:[ERROR ] Some monitors have still not reached quorum
报错原因:Monitor监视器节点的hostname与/etc/hosts不符
解决办法:修改主机名后,用下面的方法清理环境,然后重装即可。
su - cephd
ceph-deploy purge  ceph-mon01
ceph-deploy purgedata ceph-mon01
ceph-deploy forgetkeys
rm -rf ~/ceph-cluster/*

13.将配置文件和密钥分发到所有ceph节点(包括MON节点和OSD节点)

cd ~/ceph-cluster
ceph-deploy --overwrite-conf admin  ceph-mon01

14.部署OSD节点(这里将监视器主机同时作为OSD节点)

cd ~/ceph-cluster
ceph-deploy osd create ceph-mon01 --data /dev/sdb

15.为每个运行Monitor的机器添加一个mgr

cd ~/ceph-cluster
ceph-deploy mgr create ceph-mon01:ceph-mon01_mgr
systemctl status ceph-mgr@ceph-mon01_mgr

16.查看

ceph -s
ceph daemon osd.0 config get mon_max_pg_per_osd
ceph osd tree

利用ceph-deploy安装ceph的更多相关文章

  1. 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群

    首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...

  2. Ceph luminous 安装配置

    Ceph luminous 安装配置 #环境centos7 , Ceph V12 openstack pike 与 ceph 集成 http://www.cnblogs.com/elvi/p/7897 ...

  3. Ubuntu CEPH快速安装

    一.CEPH简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Cep ...

  4. 虚拟机使用ceph-deploy安装ceph

    参考: ceph官网介绍 使用ceph-deploy安装Ceph 12.x 安装虚拟机 首先安装虚拟机环境,虚拟机安装这里不做介绍,本实验使用的镜像为CentOS-7-x86_64-Everythin ...

  5. ceph 安装ceph问题汇总

    1.在不同节点安装ceph时,出现以下异常: 参考这里 ceph deploy RuntimeError: NoSectionError: No section: 'ceph' 解决方法: 在报错的机 ...

  6. ceph 分布式存储安装

    [root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo 下载阿里云的base源 [root@localhost ~]# wget -O /etc/yum. ...

  7. 以Docker容器方式安装Ceph

    获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...

  8. Ubuntu 14.04 单机安装 CEPH

    0.如果先前安装过ceph,则先卸载 sudo stop ceph-all //停止所有CEPH进程 ceph-deploy uninstall [{ceph-node}] //卸载所有ceph程序 ...

  9. CentOS 7 x64 安装 Ceph

    CentOS 7  x64 安装 Ceph 二, 实验环境 节点            IP                 主机名                  系统 MON         1 ...

随机推荐

  1. prometheus部署

    1.prometheus安装 软件下载: wget https://dl.grafana.com/oss/release/grafana-6.4.2-1.x86_64.rpm https://gith ...

  2. 自己编写一个Java监听器

    Java监听器 1.原理: 当范围对象的状态发生变化的时候,服务器自动调用监听器对象中的方法. 例如:创建一个“人”类Class Person 人拥有吃的方法public void eat(){},我 ...

  3. 【Android Studio】 加载so文件异常

    AS无法加载so包异常 android studio导入so包异常:Couldn't load DeviceAPI from loader dalvik.system.PathClassLoader[ ...

  4. 【Android-开发环境】 eclipse开发环境搭建

    1.下载安装JDK jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  5. Python JSONⅢ

    JSON 函数 encode Python encode() 函数用于将 Python 对象编码成 JSON 字符串. 语法 实例 以下实例将数组编码为 JSON 格式数据: 以上代码执行结果为: d ...

  6. 关于单片机特殊功能寄存器(SFR)和内存(RAM)公用地址:80-FF 如何区分

    RAM 的 80-FF 需要间接寻址进行访问 如:  MOV R0,#80H;    MOV A,@R0 ;  (内存 80H地址内的数据放到A中) SFR的80-FF需要直接寻址进行访问如: MOV ...

  7. IAT表和导入表

    1.关于IAT(import address table)表 当exe程序中调用dll中的函数时,反汇编可以看到,call后面并不是跟的实际函数的地址,而是给了一个地址:

  8. prev([expr]) 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。

    prev([expr]) 概述 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合. 可以用一个可选的表达式进行筛选.只有紧邻的同辈元素会被匹配到,而不是前面所有的同辈元素.直线电机 ...

  9. 016_linuxC++之_多重继承

    (一)代码 #include <iostream> #include <string.h> #include <unistd.h> using namespace ...

  10. MariaDb 严格默认严格模式导致有 NULL 值新增失败 (sql_model STRICT)

    分析: 由于 MaridDb 默认工作在严格模式下,所以导致无法 Insert 解决: 1 新增自定义配置 /etc/mysql/mariadb.conf.d/50-disable_strict_mo ...