利用ceph-deploy安装ceph
手工安装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的更多相关文章
- 利用ansible书写playbook在华为云上批量配置管理工具自动化安装ceph集群
首先在华为云上购买搭建ceph集群所需云主机: 然后购买ceph所需存储磁盘 将购买的磁盘挂载到用来搭建ceph的云主机上 在跳板机上安装ansible 查看ansible版本,检验ansible是否 ...
- Ceph luminous 安装配置
Ceph luminous 安装配置 #环境centos7 , Ceph V12 openstack pike 与 ceph 集成 http://www.cnblogs.com/elvi/p/7897 ...
- Ubuntu CEPH快速安装
一.CEPH简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 Ceph 作为他用,所有 Ceph 存储集群的部署都始于部署一个个 Cep ...
- 虚拟机使用ceph-deploy安装ceph
参考: ceph官网介绍 使用ceph-deploy安装Ceph 12.x 安装虚拟机 首先安装虚拟机环境,虚拟机安装这里不做介绍,本实验使用的镜像为CentOS-7-x86_64-Everythin ...
- ceph 安装ceph问题汇总
1.在不同节点安装ceph时,出现以下异常: 参考这里 ceph deploy RuntimeError: NoSectionError: No section: 'ceph' 解决方法: 在报错的机 ...
- ceph 分布式存储安装
[root@localhost ~]# rm -rf /etc/yum.repos.d/*.repo 下载阿里云的base源 [root@localhost ~]# wget -O /etc/yum. ...
- 以Docker容器方式安装Ceph
获取Ceph的Docker镜像 因为公司对于网络环境的限制,安装ceph时使用ceph-deploy反而很不方便,且ssh免密码方式也不适用,所以使用docker方式安装. Git地址 https:/ ...
- Ubuntu 14.04 单机安装 CEPH
0.如果先前安装过ceph,则先卸载 sudo stop ceph-all //停止所有CEPH进程 ceph-deploy uninstall [{ceph-node}] //卸载所有ceph程序 ...
- CentOS 7 x64 安装 Ceph
CentOS 7 x64 安装 Ceph 二, 实验环境 节点 IP 主机名 系统 MON 1 ...
随机推荐
- Sqlserver on linux 高可用集群搭建
一.环境准备 1 部署环境: 服务器数量:3台 Ip地址:192.168.1.191(主) 192.168.1.192(从) 192.168.1.193(从) 操作系统:CentOS Linux re ...
- MFC 线程的创建,线程函数在类内、类外
[线程的创建] AfxBeginThread(类外的线程函数,NULL); AfxBeginThread(类内的线程函数,(LPVOID)this); [类外线程函数] UINT 函数名(LPVOID ...
- 通信网络(CCF)【图的遍历】
问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息.信息可以通过中转的方式进行传递,即如果a能将信息 ...
- PHP mysqli_more_results() 函数
定义和用法 mysqli_more_results() 函数检查一个多查询是否有更多的结果. 语法 mysqli_more_results(connection); 参数 描述 connection ...
- C#字符串和值转换 以及万能转换
2.使用万能转换器进行不同类型转换 Convert.ToXxx(object value) int iRet = Convert.ToInt32("201"); float fR ...
- Robot Framework(七)创建用户关键字
2.6创建用户关键字 关键字表用于通过将现有关键字组合在一起来创建新的更高级别关键字.这些关键字称为用户关键字,以区别于 测试库中实现的最低级库关键字.创建用户关键字的语法与创建测试用例的语法非常接近 ...
- 在CUDA8.0下指定位置编译安装OpenCV3.1.0来实现GPU加速(Compiling OpenCV3.1.0 with CUDA8.0 support)
在CUDA8.0下指定位置编译安装OpenCV3.1.0 一.本人电脑配置:ubuntu 14.04, NVIDIA GTX1060. 二.编译OpenCV3.1.0前,读者需要成功安装CUDA8.0 ...
- requests_html使用asyncio
import asyncio import functools from concurrent.futures.thread import ThreadPoolExecutor from reques ...
- web工程中添加自建userLibary与将jar包放到lib文件夹下的区别
纯 java项目 使用的本地自己的JRE,那么classLoader在加载jar和class时候是分开的,对于我们自己编写的class,会在 APP_HOME/bin下.导入的jar包或者user l ...
- Linux设备驱动程序 之 完成量
内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束:这个活动可能是,创建一个新的内核线程或者新的用户空间进程.对一个已有进程的某个请求,或者某种类型的硬件动作等: 内核提供 ...