部署ceph
前提:因为ceph部署时要去国外源下载包,导致下载安装时会卡住,因此我们只需通过国内的源找到对应的rpm下载安装。
一、环境准备
4台机器,1台机器当部署节点和客户端,3台ceph节点,ceph节点配置两块硬盘第二块作为osd数据盘。
1、所有节点设置静态域名解析
[root@ceph ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.42.129 node1
192.168.42.130 node2
192.168.42.128 node3
192.168.42.131 ceph
2、所有节点创建cent用户,并给root权限
# useradd cent && echo "" | passwd --stdin cent
# echo -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
# chmod /etc/sudoers.d/ceph
3、在部署节点设置无密钥登录包括部署节点(root用户和cent用户分别执行一次)
# ssh-keygen
# ssh-copy-id node1
# ssh-copy-id node2
# ssh-copy-id node3
# ssh-copy-id ceph
注:切换到cent用户在执行一次以上命令
4、在部署节点切换到cent用户执行,创建一个文件定义所有节点和用户
# vim~/.ssh/config
Host ceph
Hostname ceph
User cent
Host node1
Hostname node1
User cent
Host node2
Hostname node2
User cent
Host node3
Hostname node3
User cent
# chmod 660 ~/.ssh/config
二、所有节点配置国内ceph源
1、# cat /etc/yum.repos.d/ceph-test.repo
[ceph-yunwei]
name=ceph-yunwei-install
baseurl=https://mirrors.aliyun.com/centos/7/storage/x86_64/ceph-jewel/
enable=
gpgcheck=
2、将下列的包下载到所有节点,其中ceph-deploy….只需在部署节点安装,其他节点不需
ceph-10.2.-.el7.x86_64.rpm
ceph-base-10.2.-.el7.x86_64.rpm
ceph-common-10.2.-.el7.x86_64.rpm
ceph-deploy-1.5.39-0.noarch.rpm
ceph-devel-compat-10.2.-.el7.x86_64.rpm
cephfs-java-10.2.-.el7.x86_64.rpm
ceph-fuse-10.2.-.el7.x86_64.rpm
ceph-libs-compat-10.2.-.el7.x86_64.rpm
ceph-mds-10.2.-.el7.x86_64.rpm
ceph-mon-10.2.-.el7.x86_64.rpm
ceph-osd-10.2.-.el7.x86_64.rpm
ceph-radosgw-10.2.-.el7.x86_64.rpm
ceph-resource-agents-10.2.-.el7.x86_64.rpm
ceph-selinux-10.2.-.el7.x86_64.rpm
ceph-test-10.2.-.el7.x86_64.rpm
libcephfs1-10.2.-.el7.x86_64.rpm
libcephfs1-devel-10.2.-.el7.x86_64.rpm
libcephfs_jni1-10.2.-.el7.x86_64.rpm
libcephfs_jni1-devel-10.2.-.el7.x86_64.rpm
librados2-10.2.-.el7.x86_64.rpm
librados2-devel-10.2.-.el7.x86_64.rpm
libradosstriper1-10.2.-.el7.x86_64.rpm
libradosstriper1-devel-10.2.-.el7.x86_64.rpm
librbd1-10.2.-.el7.x86_64.rpm
librbd1-devel-10.2.-.el7.x86_64.rpm
librgw2-10.2.-.el7.x86_64.rpm
librgw2-devel-10.2.-.el7.x86_64.rpm
python-ceph-compat-10.2.-.el7.x86_64.rpm
python-cephfs-10.2.-.el7.x86_64.rpm
python-rados-10.2.-.el7.x86_64.rpm
python-rbd-10.2.-.el7.x86_64.rpm
rbd-fuse-10.2.-.el7.x86_64.rpm
rbd-mirror-10.2.-.el7.x86_64.rpm
rbd-nbd-10.2.-.el7.x86_64.rpm
3、在部署加点的cent用户下安装ceph-deploy
# sudo yum install ceph-deploy
4、切换到root用户在所有的节点安装之前下载的rpm包
5、如果安装报错
a、可将python-distribute remove 再进行安装(或者 yum remove python-setuptools -y
注意:如果不是安装上述方法添加的rpm,用的是网络源,每个节点必须yum install ceph ceph-radosgw -y
b、安装依赖包:python-distribute,再次安装 :ceph-deploy-1.5.39-0.noarch.rpm -y,删除:python2-setuptools-22.0.5-1.el7.noarch
6、在部署节点cent用户下执行
# mkdir ceph
# cd ceph
7、部署节点(cent用户下执行):配置新集群
$ ceph-deploy new node1 node2 node3
$ vim ceph.conf
[cent@ceph ceph]$ cat ceph.conf
[global]
fsid = 442ab1b1-13ab-4c92-ad05-1ffb09d0d24e
mon_initial_members = node1, node2, node3
mon_host = 192.168.42.129,192.168.42.130,192.168.42.128
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
osd_pool_default_size =
osd_pool_default_min_size =
osd_pool_default_pg_num =
osd_pool_default_pgp_num =
osd_crush_chooseleaf_type =
8、在部署节点执行,所有节点安装ceph软件(root用户下)
# ceph-deploy install ceph node1 node2 node3
如果报这样的错:

解决办法:执行# yum remove ceph-release
9、在部署节点初始化集群(cent用户下执行)
$ ceph-deploy mon create-initial
10、
列出节点磁盘:ceph-deploy disk list node1
擦净节点磁盘:ceph-deploy disk zap node1:/dev/vdb1
11、准备Object Storage Daemon
$ ceph-deploy osd prepare node1:/dev/sdb node2:/dev/sdb node3:/dev/sdb
12、激活Object Storage Daemon
$ ceph-deploy osd activate node1:/dev/sdb node2:/dev/sdb node3:/dev/sdb
13、在部署节点将 config files文件传到ceph节点
$ ceph-deploy admin ceph node1 node2 node3
$ sudo chmod /etc/ceph/ceph.client.admin.keyring
14、在ceph集群中任意节点检测
# ceph -s
三、客户端设置
1、客户端创建cent用户
# useradd cent && echo "" | passwd --stdin cent
# echo-e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/ceph
# chmod440 /etc/sudoers.d/ceph
2、在部署节点执行,安装ceph客户端及设置
# ceph-deploy install clinet
# ceph-deploy admin clinet
3、客户端执行
# sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
4、客户端执行,块设备rbd配置
# rbd create disk01 --size 5G --image-feature layering #创建rbd
# rbd ls -l #查看rbd
# rbd map disk01 #将rbd映射到镜像地图中
# rbd showmapped #显示map
# mkfs.xfs /dev/rbd0 #格式化disk01文件系统xfs
# mount /dev/rbd0 /mnt #挂载硬盘
# df -hT#验证是否挂着成功
5、文件系统配置
a、在部署节点执行,选择一个node来创建MDS(cent用户执行):
$ ceph-deploy mds create node1
b、以下操作在node1上执行:
# chmod 644 /etc/ceph/ceph.client.admin.keyring
在MDS节点node1上创建 cephfs_data 和 cephfs_metadata 的 pool
# ceph osd pool create cephfs_data #用来存放数据的
# ceph osd pool create cephfs_metadata #存放元数据的
# ceph osd lspools#列出创建的存储池
开启pool:
# ceph fs new cephfs ceph_data cephfs_metadata
显示ceph fs:
# ceph fs ls
# ceph mds stat
c、如果客户端想要用ceph提供的文件系统需要执行以下操作
1.以下操作在客户端执行,安装ceph-fuse:
$ sudo yum -y install ceph-fuse
2.获取admin key:
$ ssh cent@node1"sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key
$ chmod600 admin.key
3.挂载ceph-fs
$ sudo mount-t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key
# df -hT #退出到root用户查看
d、停止ceph-mds服务:
1、解挂载
# umount /mnt
2、停止ceph-mds服务,到ceph节点停止服务,我这里到node1上执行
# systemctl stop ceph-mds@node1
# systemctl status ceph-mds@node1
3、重置ceph-mds,node1上执行
# ceph mds fail 0
4、删除cephfs(ceph文件系统)
# ceph fs rm cephfs --yes-i-really-mean-it
5、查看ceph pool
# ceph osd lspools
6、删除ceph存储池
# ceph osd pool rm cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it
四、删除环境
# ceph-deploy purge dlp node1 node2 node3 controller
# ceph-deploy purgedata dlp node1 node2 node3 controller
# ceph-deploy forgetkeys
# rm -rf ceph*
五、ceph常用命令
ceph -s #查看集群状态
ceph osd tree #查看osd的map
ceph osd lspools #查看ceph集群所有的pool
rbd create name --size 10G --image-feature layering#创建rbd
rbd ls -l #查看rbd列表
rbd remove rbd-name #删除rbd
rbd map disk01 #在客户端映射rbd map
rbd showmapped #显示rbd map
ceph osd pool create poolname pg的数量 #创建存储池
ceph osd pool rm poolname poolname --yes-i-really-really-mean-it #删除存储池
ceph fs new cephfs cephfs_metadata cephfs_data #开启ceph文件系统的pool
ceph fs ls #显示ceph fs(文件系统)
ceph mds stat #参看mds 状态
ssh cent@mds-nodename "sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.key #获取admin key
systemctl stop ceph-mds@mds-nodename #停止ceph-mds服务
ceph mds fail #把mds状态重置
ceph fs rm cephfs --yes-i-really-mean-it #删除ceph-文件系统
部署ceph的更多相关文章
- 如何使用国内源部署Ceph?
由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...
- 使用虚拟机CentOS7部署CEPH集群
第1章 CEPH部署 1.1 简单介绍 Ceph的部署模式下主要包含以下几个类型的节点 Ø CephOSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复 ...
- 分布式存储ceph——(1)部署ceph
前言: 很多朋友想学ceph,但是开始ceph部署就让初学者举步为艰,ceph部署时由于国外源的问题(具体大家应该懂得),下载和安装软件便会卡住,停止不前.即使配置搭建了国内源后,执行ceph-dep ...
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录
之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...
- 使用国内源部署ceph
由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...
- 1、ceph-deploy之部署ceph集群
环境说明 server:3台虚拟机,挂载卷/dev/vdb 10G 系统:centos7.2 ceph版本:luminous repo: 公网-http://download.ceph.com,htt ...
- 二十八. Ceph概述 部署Ceph集群 Ceph块存储
client :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.实验环境 准备四台KVM虚 ...
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)
之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- Ubuntu 16.04下使用docker部署ceph集群
ceph集群docker部署 通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的:假设你只有一台机器,装了linux(如Ubun ...
- CentOS7.6部署ceph环境
CentOS7.6部署ceph环境 测试环境: 节点名称 节点IP 磁盘 节点功能 Node-1 10.10.1.10/24 /dev/sdb 监控节点 Node-2 10.10.1.20/24 /d ...
随机推荐
- 平衡树Treap
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> us ...
- 解决SkyP2M工程常见问题所参考的博客汇总
工程是基于64位的 1 Error 26 error C2491: 'HUDManager::_viewport' : definition of dllimport static data memb ...
- C# bool.tryparse
才工作时候是做C++的,受这个影响一直以为C# 转换 “0” 和 "false"会转换为 false,“1”和"true"转换为true,原来只有“true”才 ...
- python基础1之 由来、种类、优缺点、安装环境
python基础1之由来.种类.优缺点.安装环境 一.前世今生 Python的创始人是吉多·范罗苏姆(Guido van Rossum),在1989年开发.今年最新的编程语言排行榜中,python名列 ...
- 软工网络15个人作业4——alpha阶段个人总结
软工网络15个人作业4--alpha阶段个人总结 一.个人总结 用自我评价表:http://www.cnblogs.com/xinz/p/3852177.html 总结Alpha冲刺过程. 由于直接用 ...
- Contest2178 - 2019-4-18 高一noip基础知识点 测试7 题解版
刚刚改完题,才有时间发题解 传送门 T1 exgcd裸题 对a,b跑exgcd,答案就是x*c/gcd(a,b),y*c/gcd(a,b) 不合法的情况:当且仅当c%gcd(a,b)!=0 代码 T2 ...
- AB PLC首次IP地址如何分配
AB PLC首次IP地址如何分配,这里介绍的方法是针对CompactLogix和ControlLogix控制器 一.准备工作 AB PLC控制器一台,本文以5069-L330ER为例,将其通电: 笔记 ...
- 盒子取球C语言 蓝桥杯
盒子取球方法二今盒子里有 n 个小球,A.B 两人轮流从盒中取球,每个人都可以看到另一个人取了多少个, 也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断. 我们约定:每个人从盒子中取出 ...
- Vue.js库的第一天的学习
一,vue.js简介 Vue.js可以作为一个js库来使用,也可以用它全套的工具来构建系统界面,这些可以根据项目的需要灵活选择 所以说, vue.js是一套构建用户界面的渐进式框架 Vue.js的核心 ...
- 手把手详解持续集成之GitLab CI/CD
一.环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目:这里示例项目以 Spring Boot 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频 ...