分布式存储ceph——(1)部署ceph
前言:
很多朋友想学ceph,但是开始ceph部署就让初学者举步为艰,ceph部署时由于国外源的问题(具体大家应该懂得),下载和安装软件便会卡住,停止不前。即使配置搭建了国内源后,执行ceph-deploy install 时又跑去了国外的源下载,很是无语呀!!!这样导致我们停下了学习ceph的脚步,所以笔者就在这里编写了这篇文章,只要掌握了通过国内源找到并下载对应正确的ceph版本rpm包到本地,部署ceph简直小意思!
一、部署准备:
|
1
2
3
4
5
6
7
|
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6172.16.254.163 dlp172.16.254.64 node1172.16.254.65 node2172.16.254.66 node3172.16.254.63 controller |
|
1
2
3
|
useradd cent && echo "123" | passwd --stdin centecho -e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/cephchmod 440 /etc/sudoers.d/ceph |
|
1
2
3
4
5
|
ceph@dlp15:17:01~#ssh-keygenceph@dlp15:17:01~#ssh-copy-id con1ceph@dlp15:17:01~#ssh-copy-id con2ceph@dlp15:17:01~#ssh-copy-id con3ceph@dlp15:17:01~#ssh-copy-id controller |
(4)在部署节点切换为cent用户,在cent用户家目录,设置如下文件:vi~/.ssh/config# create new ( define all nodes and users )
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Host dlp Hostname dlp User centHost node1 Hostname node1 User centHost node2 Hostname node2 User centHost node3 Hostname node3 User centchmod 600 ~/.ssh/config |
二、所有节点配置国内ceph源:
|
1
2
3
4
5
|
[ceph-yunwei]name=ceph-yunwei-installbaseurl=https://mirrors.aliyun.com/centos/7.6.1810/storage/x86_64/ceph-jewel/enable=1gpgcheck=0 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
ceph-10.2.11-0.el7.x86_64.rpmceph-base-10.2.11-0.el7.x86_64.rpmceph-common-10.2.11-0.el7.x86_64.rpmceph-deploy-1.5.39-0.noarch.rpmceph-devel-compat-10.2.11-0.el7.x86_64.rpmcephfs-java-10.2.11-0.el7.x86_64.rpmceph-fuse-10.2.11-0.el7.x86_64.rpmceph-libs-compat-10.2.11-0.el7.x86_64.rpmceph-mds-10.2.11-0.el7.x86_64.rpmceph-mon-10.2.11-0.el7.x86_64.rpmceph-osd-10.2.11-0.el7.x86_64.rpmceph-radosgw-10.2.11-0.el7.x86_64.rpmceph-resource-agents-10.2.11-0.el7.x86_64.rpmceph-selinux-10.2.11-0.el7.x86_64.rpmceph-test-10.2.11-0.el7.x86_64.rpmlibcephfs1-10.2.11-0.el7.x86_64.rpmlibcephfs1-devel-10.2.11-0.el7.x86_64.rpmlibcephfs_jni1-10.2.11-0.el7.x86_64.rpmlibcephfs_jni1-devel-10.2.11-0.el7.x86_64.rpmlibrados2-10.2.11-0.el7.x86_64.rpmlibrados2-devel-10.2.11-0.el7.x86_64.rpmlibradosstriper1-10.2.11-0.el7.x86_64.rpmlibradosstriper1-devel-10.2.11-0.el7.x86_64.rpmlibrbd1-10.2.11-0.el7.x86_64.rpmlibrbd1-devel-10.2.11-0.el7.x86_64.rpmlibrgw2-10.2.11-0.el7.x86_64.rpmlibrgw2-devel-10.2.11-0.el7.x86_64.rpmpython-ceph-compat-10.2.11-0.el7.x86_64.rpmpython-cephfs-10.2.11-0.el7.x86_64.rpmpython-rados-10.2.11-0.el7.x86_64.rpmpython-rbd-10.2.11-0.el7.x86_64.rpmrbd-fuse-10.2.11-0.el7.x86_64.rpmrbd-mirror-10.2.11-0.el7.x86_64.rpmrbd-nbd-10.2.11-0.el7.x86_64.rpm |
|
1
|
yum localinstall -y ./* |
(或者sudo yum install ceph-deploy)
|
1
|
mkdir ceph && cd ceph |

处理办法1:
注意:如果不是安装上述方法添加的rpm,用的是网络源,每个节点必须yum install ceph ceph-radosgw -y
处理办法2:
安装依赖包:python-distribute

root@bushu12:16:46~/cephjrpm# yum install python-distribute -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 python-setuptools 已经被 python2-setuptools 取代,改为尝试安装 python2-setuptools-22.0.5-1.el7.noarch
正在解决依赖关系
--> 正在检查事务
---> 软件包 python2-setuptools.noarch.0.22.0.5-1.el7 将被 安装
--> 解决依赖关系完成 依赖关系解决 =============================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================
正在安装:
python2-setuptools noarch 22.0.5-1.el7 openstack-ocata 485 k 事务概要
=============================================================================================================================
安装 1 软件包 总下载量:485 k
安装大小:1.8 M
Downloading packages:
python2-setuptools-22.0.5-1.el7.noarch.rpm | 485 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : python2-setuptools-22.0.5-1.el7.noarch 1/1
验证中 : python2-setuptools-22.0.5-1.el7.noarch 1/1 已安装:
python2-setuptools.noarch 0:22.0.5-1.el7 完毕!

再次安装 :ceph-deploy-1.5.39-0.noarch.rpm -y

root@bushu12:22:12~/cephjrpm# yum localinstall ceph-deploy-1.5.39-0.noarch.rpm -y
已加载插件:fastestmirror, langpacks
正在检查 ceph-deploy-1.5.39-0.noarch.rpm: ceph-deploy-1.5.39-0.noarch
ceph-deploy-1.5.39-0.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 ceph-deploy.noarch.0.1.5.39-0 将被 安装
--> 正在处理依赖关系 python-distribute,它被软件包 ceph-deploy-1.5.39-0.noarch 需要
Loading mirror speeds from cached hostfile
软件包 python-setuptools-0.9.8-7.el7.noarch 被已安装的 python2-setuptools-22.0.5-1.el7.noarch 取代
--> 解决依赖关系完成
错误:软件包:ceph-deploy-1.5.39-0.noarch (/ceph-deploy-1.5.39-0.noarch)
需要:python-distribute
可用: python-setuptools-0.9.8-7.el7.noarch (base)
python-distribute = 0.9.8-7.el7
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest

删除:python2-setuptools-22.0.5-1.el7.noarch

root@bushu12:25:30~/cephjrpm# yum remove python2-setuptools-22.0.5-1.el7.noarch -y
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 python2-setuptools.noarch.0.22.0.5-1.el7 将被 删除
--> 解决依赖关系完成 依赖关系解决 =============================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================
正在删除:
python2-setuptools noarch 22.0.5-1.el7 @openstack-ocata 1.8 M 事务概要
=============================================================================================================================
移除 1 软件包 安装大小:1.8 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在删除 : python2-setuptools-22.0.5-1.el7.noarch 1/1
验证中 : python2-setuptools-22.0.5-1.el7.noarch 1/1 删除:
python2-setuptools.noarch 0:22.0.5-1.el7 完毕!

修改yum源后,只要保证安装 python-setuptools 版本是 0.9.8-7.el7 就可以通过了:

root@bushu12:25:30~/cephjrpm# yum localinstall ceph-deploy-1.5.39-0.noarch.rpm -y
已加载插件:fastestmirror, langpacks
正在检查 ceph-deploy-1.5.39-0.noarch.rpm: ceph-deploy-1.5.39-0.noarch
ceph-deploy-1.5.39-0.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 ceph-deploy.noarch.0.1.5.39-0 将被 安装
--> 正在处理依赖关系 python-distribute,它被软件包 ceph-deploy-1.5.39-0.noarch 需要
Loading mirror speeds from cached hostfile
--> 正在检查事务
---> 软件包 python-setuptools.noarch.0.0.9.8-7.el7 将被 安装
--> 解决依赖关系完成 依赖关系解决 =============================================================================================================================
Package 架构 版本 源 大小
=============================================================================================================================
正在安装:
ceph-deploy noarch 1.5.39-0 /ceph-deploy-1.5.39-0.noarch 1.3 M
为依赖而安装:
python-setuptools noarch 0.9.8-7.el7 base 397 k 事务概要
=============================================================================================================================
安装 1 软件包 (+1 依赖软件包) 总计:1.6 M
总下载量:397 k
安装大小:3.2 M
Downloading packages:
python-setuptools-0.9.8-7.el7.noarch.rpm | 397 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : python-setuptools-0.9.8-7.el7.noarch 1/2
正在安装 : ceph-deploy-1.5.39-0.noarch 2/2
验证中 : ceph-deploy-1.5.39-0.noarch 1/2
验证中 : python-setuptools-0.9.8-7.el7.noarch 2/2 已安装:
ceph-deploy.noarch 0:1.5.39-0 作为依赖被安装:
python-setuptools.noarch 0:0.9.8-7.el7 完毕!

root@bushu12:55:58~/cephjrpm#ceph -v
ceph version 10.2.11 (e4b061b47f07f583c92a050d9e84b1813a35671e)
|
1
2
3
|
ceph-deploy new node1 node2 node3vim ./ceph.conf添加:osd pool default size = 2 |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public_network = 192.168.254.0/24cluster_network = 172.16.254.0/24osd_pool_default_size = 3osd_pool_default_min_size = 1osd_pool_default_pg_num = 8osd_pool_default_pgp_num = 8osd_crush_chooseleaf_type = 1 [mon]mon_clock_drift_allowed = 0.5 [osd]osd_mkfs_type = xfsosd_mkfs_options_xfs = -ffilestore_max_sync_interval = 5filestore_min_sync_interval = 0.1filestore_fd_cache_size = 655350filestore_omap_header_cache_size = 655350filestore_fd_cache_random = trueosd op threads = 8osd disk threads = 4filestore op threads = 8max_open_files = 655350 |
|
1
2
3
4
5
6
7
8
9
10
11
12
|
root@rab116:13:59~/cephjrpm#lsceph-10.2.11-0.el7.x86_64.rpm ceph-resource-agents-10.2.11-0.el7.x86_64.rpm librbd1-10.2.11-0.el7.x86_64.rpmceph-base-10.2.11-0.el7.x86_64.rpm ceph-selinux-10.2.11-0.el7.x86_64.rpm librbd1-devel-10.2.11-0.el7.x86_64.rpmceph-common-10.2.11-0.el7.x86_64.rpm ceph-test-10.2.11-0.el7.x86_64.rpm librgw2-10.2.11-0.el7.x86_64.rpmceph-devel-compat-10.2.11-0.el7.x86_64.rpm libcephfs1-10.2.11-0.el7.x86_64.rpm librgw2-devel-10.2.11-0.el7.x86_64.rpmcephfs-java-10.2.11-0.el7.x86_64.rpm libcephfs1-devel-10.2.11-0.el7.x86_64.rpm python-ceph-compat-10.2.11-0.el7.x86_64.rpmceph-fuse-10.2.11-0.el7.x86_64.rpm libcephfs_jni1-10.2.11-0.el7.x86_64.rpm python-cephfs-10.2.11-0.el7.x86_64.rpmceph-libs-compat-10.2.11-0.el7.x86_64.rpm libcephfs_jni1-devel-10.2.11-0.el7.x86_64.rpm python-rados-10.2.11-0.el7.x86_64.rpmceph-mds-10.2.11-0.el7.x86_64.rpm librados2-10.2.11-0.el7.x86_64.rpm python-rbd-10.2.11-0.el7.x86_64.rpmceph-mon-10.2.11-0.el7.x86_64.rpm librados2-devel-10.2.11-0.el7.x86_64.rpm rbd-fuse-10.2.11-0.el7.x86_64.rpmceph-osd-10.2.11-0.el7.x86_64.rpm libradosstriper1-10.2.11-0.el7.x86_64.rpm rbd-mirror-10.2.11-0.el7.x86_64.rpmceph-radosgw-10.2.11-0.el7.x86_64.rpm libradosstriper1-devel-10.2.11-0.el7.x86_64.rpm rbd-nbd-10.2.11-0.el7.x86_64.rpm |
|
1
|
yum localinstall ./* -y |
|
1
|
ceph-deploy install dlp node1 node2 node3 |
|
1
|
ceph-deploy mon create-initial |
|
1
|
mkdir /data && chown ceph.ceph /data |

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
root@con116:45:22/#fdisk /dev/vdb root@con116:45:22/#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 252:0 0 40G 0 disk├─vda1 252:1 0 512M 0 part /boot└─vda2 252:2 0 39.5G 0 part ├─cl-root 253:0 0 35.5G 0 lvm / └─cl-swap 253:1 0 4G 0 lvm [SWAP]vdb 252:16 0 10G 0 disk└─vdb1 252:17 0 10G 0 part root@rab116:54:35/#mkfs -t xfs /dev/vdb1 root@rab116:54:50/#mount /dev/vdb1 /data/ root@rab116:56:39/#lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 252:0 0 40G 0 disk├─vda1 252:1 0 512M 0 part /boot└─vda2 252:2 0 39.5G 0 part ├─cl-root 253:0 0 35.5G 0 lvm / └─cl-swap 253:1 0 4G 0 lvm [SWAP]vdb 252:16 0 10G 0 disk└─vdb1 252:17 0 10G 0 part /data |
|
1
2
3
4
|
mkdir /data/osdchown -R ceph.ceph /data/chmod 750 /data/osd/ln -s /data/osd /var/lib/ceph |
|
1
|
ceph-deploy osd prepare node1:/var/lib/ceph/osd node2:/var/lib/ceph/osd node3:/var/lib/ceph/osd |
|
1
|
ceph-deploy osd activate node1:/var/lib/ceph/osd node2:/var/lib/ceph/osd node3:/var/lib/ceph/osd |
|
1
2
|
ceph-deploy admin dlp node1 node2 node3sudo chmod 644 /etc/ceph/ceph.client.admin.keyring |
|
1
|
ceph -s |
三、客户端设置:
|
1
2
3
|
useradd cent && echo "123" | passwd --stdin centecho-e 'Defaults:cent !requiretty\ncent ALL = (root) NOPASSWD:ALL' | tee /etc/sudoers.d/cephchmod440 /etc/sudoers.d/ceph |
|
1
2
|
ceph-deploy install controllerceph-deploy admin controller |
|
1
|
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring |
|
1
2
3
4
5
6
7
|
创建rbd:rbd create disk01 --size 10G --image-feature layering列示rbd:rbd ls -l映射rbd的image map:sudo rbd map disk01显示map:rbd showmapped格式化disk01文件系统xfs:sudo mkfs.xfs /dev/rbd0挂载硬盘:sudo mount /dev/rbd0 /mnt验证是否挂着成功:df -hT |
|
1
|
ceph-deploy mds create node1 |
|
1
|
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring |
|
1
2
|
ceph osd pool create cephfs_data 128ceph osd pool create cephfs_metadata 128 |
|
1
|
ceph fs new cephfs cephfs_metadata cephfs_data |
|
1
2
|
ceph fs lsceph mds stat |
|
1
|
yum -y install ceph-fuse |
|
1
2
|
sshcent@node1"sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring" > admin.keychmod600 admin.key |
|
1
2
|
mount-t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.keydf-hT |
|
1
2
3
4
5
6
7
8
|
systemctl stop ceph-mds@node1ceph mds fail 0ceph fs rm cephfs --yes-i-really-mean-it ceph osd lspools显示结果:0 rbd,1 cephfs_data,2 cephfs_metadata, ceph osd pool rm cephfs_metadata cephfs_metadata --yes-i-really-really-mean-it |
四、删除环境:
|
1
2
3
4
|
ceph-deploy purge dlp node1 node2 node3 controllerceph-deploy purgedata dlp node1 node2 node3 controllerceph-deploy forgetkeysrm -rf ceph* |
分布式存储ceph——(1)部署ceph的更多相关文章
- 二十八. 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)基本环境 192.168.10.220 ceph-admin(ceph-d ...
- CentOS 7部署 Ceph分布式存储架构
一.概述 随着OpenStack日渐成为开源云计算的标准软件栈,Ceph也已经成为OpenStack的首选后端存储.Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. cep ...
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)
之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- docker部署Ceph分布式存储集群
1.环境准备 3台virtualbox虚拟机,用来安装ceph集群,已用docker-machine安装上了docker,每台虚拟机虚拟创建一个5G的硬盘,用于存储osd数据,例如:/dev/sdb ...
- CentOS7.2 部署Ceph分布式存储
1.1 环境准备 主机名 IP地址 ceph-admin 192.168.16.220 ceph-node1,ceph-mon 192.168.16.221 ceph-node2,ceph-mon 1 ...
- SUSE Ceph 快速部署 - Storage6
学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...
- 手动部署 Ceph Mimic 三节点
目录 文章目录 目录 前文列表 部署拓扑 存储设备拓扑 网络拓扑 基础系统环境 安装 ceph-deploy 半自动化部署工具 部署 MON 部署 Manager 部署 OSD 部署 MDS 部署 R ...
- 如何使用国内源部署Ceph?
由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...
随机推荐
- 编译Xposed
Xposed是Android平台上的有名的Hook工具,用它可以修改函数参数,函数返回值和类字段值等等,也可以用它来进行调试.Xposed有几个部分组成: 修改过的android_art,这个项目修改 ...
- SpringBoot 项目在静态工具类中注入 RedisTemplate
静态属性不能直接注入,可以通过其set方法进行注入.(注意生成的set方法需要去掉static). 在工具类里直接注入RedisTemplate,两种方法: (1)使用@Autowired priva ...
- 使用前端技术和MySQL+PHP制作自己的一个个人博客网站
源代码地址:https://github.com/YauCheun/BlogCode 我的博客网站地址:http://www.yublog.fun/ 制作前景: 想拥有一个自己独自开发的一个小型博客网 ...
- selenium+谷歌无头浏览器爬取网易新闻国内板块
网页分析 首先来看下要爬取的网站的页面 查看网页源代码:你会发现它是由js动态加载显示的 所以采用selenium+谷歌无头浏览器来爬取它 1 加载网站,并拖动到底,发现其还有个加载更多 2 模拟点击 ...
- 由ODI初始化资料档案库(RUC)引起修改ORACLE字符集(ZHS16GBK-AL32UTF8)
如果要部署代理,需要在RUC中进行资料档案库的初始化,这样可以免去配置代理的繁琐.在RUC连接数据库时会有先决条件检查,如果出现下图的警告,就需要在ORACLE中修改字符集. 具体操作如下: 登录SQ ...
- NavUtils【底部虚拟导航栏工具类】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 获取底部虚拟导航栏的高度值 效果图 代码分析 checkDeviceHasNavigationBar(Context context ...
- dotnet core开源博客系统XBlog介绍
XBlog是dotnet core平台下的个人博客开源系统,它只需要通过Copy的方式即可以部署到Linux和windows系统中:如果你有安全证书那只需要简单配置一下即可提供安全的Https服务.接 ...
- 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?
前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...
- 并发系列(2)之 ThreadLocal 详解
本文将主要结合源码讲述 ThreadLocal 的使用场景和内部结构,以及 ThreadLocalMap 的内部结构:另外在阅读文本之前只好先了解一下引用和 HashMap 的相关知识,可以参考 Re ...
- 基于IdentityServer的系统对接微信公众号
业务需求 公司有两个业务系统,A和B,AB用户之间属于多对一的关系,数据库里面也就是两张表,A表有个外键指向B.现在需要实现以下几个功能. A用户扫描B的二维码,填写相关的注册信息,注册完成之后自动属 ...