ceph部署手册
CentOS7.2部署Luminous版Ceph-12.2.0
在CentOS7.2上安装部署Luminous版Ceph-12.2.0。由于ceph的Luminous版本默认使用bluestore作为后端存储类型,也新增了mgr功能,所以使用ceph-deploy的1.5.38版本来部署集群、创建MON、OSD、MGR等。
环境
每台主机
- CentOS Linux release 7.2.1511 (Core) Mini版
- 两个100G的磁盘做OSD
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom xvda 202:0 0 10G 0 disk ├─xvda1 202:1 0 500M 0 part /boot └─xvda2 202:2 0 9.5G 0 part ├─centos-root 253:0 0 8.5G 0 lvm / └─centos-swap 253:1 0 1G 0 lvm [SWAP] xvdb 202:16 0 100G 0 disk xvdc 202:32 0 100G 0 disk |
主机node232作为管理节点,部署ceph-deploy。三台主机配置如下
|
主机 |
IP |
安装组件 |
|
node232 |
192.168.217.232 |
ceph-deploy、mon、osd、mgr、ntp |
|
node233 |
192.168.217.233 |
mon、osd、ntpdate |
|
node234 |
192.168.217.234 |
mon、osd、ntpdate |
设置无密登录
Yum源配置
下载阿里云的base源
Wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
下载阿里云的epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
修改里面的系统版本为7.3.1611,当前用的CentOS7.2.1511版本的yum源已经清空了
[root@localhost ~]# sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo
#[root@localhost ~]# sed -i 's/$releasever/7.3.1611/g' /etc/yum.repos.d/CentOS-Base.repo
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/x86_64/gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
yum makecache
http://download.ceph.com/ ceph官方yum源
安装ceph
下载ceph的相关rpm到本地
|
1 |
[root@node232 ~]# yum install --downloadonly --downloaddir=/tmp/ceph ceph |
在每台主机上安装ceph
|
1 |
[root@node232 ~]# yum localinstall -C -y --disablerepo=* /tmp/ceph/*.rpm |
安装成功,查看ceph版本
|
1 2 |
[root@node232 ~]# ceph -v ceph version 12.2.0 (32ce2a3ae5239ee33d6150705cdb24d43bab910c) luminous (rc) |
部署ceph
在管理节点node232上执行。
安装ceph-deploy
下载ceph-deploy-1.5.38
[root@node232 ~]# yum install --downloadonly --downloaddir=/tmp/ceph-deploy/ ceph-deploy
yum localinstall -C -y --disablerepo=* /tmp/ceph-deploy/*.rpm
安装成功,查看ceph-deploy版本
|
1 2 |
[root@node232 ~]# ceph-deploy --version 1.5.38 |
部署集群
创建部署目录,部署集群
[root@node232 ~]# mkdir ceph-cluster
[root@node232 ~]# cd ceph-cluster
[root@node232 ceph-cluster]# ceph-deploy new node232 node233 node234
加入监控节点
部署mon
|
1 |
[root@node232 ceph-cluster]# ceph-deploy mon create-initial |
初始化监控节点
执行ceph -s会出错,是由于缺少/etc/ceph/ceph.client.admin.keyring文件
|
1 2 3 4 5 |
[root@node232 ceph-cluster]# ceph -s 2017-09-13 12:12:18.772214 7f3d3fc3f700 -1 auth: unable to find a keyring on /etc/ceph/ceph.client.admin.keyring,/etc/ceph/ceph.keyring,/etc/ceph/keyring,/etc/ceph/keyring.bin,: (2) No such file or directory 2017-09-13 12:12:18.772260 7f3d3fc3f700 -1 monclient: ERROR: missing keyring, cannot use cephx for authentication 2017-09-13 12:12:18.772263 7f3d3fc3f700 0 librados: client.admin initialization error (2) No such file or directory [errno 2] error connecting to the cluster |
手工复制ceph-cluster目录下ceph.client.admin.keyring文件到/etc/ceph/目录下或者执行 ceph-deploy admin命令自动复制ceph.client.admin.keyring文件
[root@node232 ceph-cluster]# ceph-deploy admin node232 node233 node234
查看集群
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[root@node232 ceph-cluster]# ceph -s cluster: id: 988e29ea-8b2c-4fa7-a808-e199f2e6a334 health: HEALTH_OK services: mon: 3 daemons, quorum node232,node233,node234 mgr: no daemons active osd: 0 osds: 0 up, 0 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 bytes usage: 0 kB used, 0 kB / 0 kB avail pgs: |
创建osd
|
1 |
[root@node232 ceph-cluster]# ceph-deploy --overwrite-conf osd prepare node232:/dev/xvdb node232:/dev/xvdc node233:/dev/xvdb node233:/dev/xvdc node234:/dev/xvdb node234:/dev/xvdc --zap-disk |
激活osd
[root@node232 ceph-cluster]# ceph-deploy --overwrite-conf osd activate node232:/dev/xvdb1 node232:/dev/xvdc1 node233:/dev/xvdb1 node233:/dev/xvdc1 node234:/dev/xvdb1 node234:/dev/xvdc1
查看集群
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@node232 ceph-cluster]# ceph -s cluster: id: 988e29ea-8b2c-4fa7-a808-e199f2e6a334 health: HEALTH_WARN no active mgr services: mon: 3 daemons, quorum node232,node233,node234 mgr: no daemons active osd: 6 osds: 6 up, 6 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 bytes usage: 0 kB used, 0 kB / 0 kB avail pgs: |
配置mgr
在node232上创建名称为foo的mgr服务
|
1 |
[root@node232 ceph-cluster]# ceph-deploy mgr create node232:foo |
启用dashboard
|
1 |
[root@node232 ceph-cluster]# ceph mgr module enable dashboard |
通过 http://192.168.217.232:7000 访问dashboard
dashboard的port默认为7000,可以执行ceph config-key set mgr/dashboard/server_port $PORT修改port。
也可以执行ceph config-key set mgr/dashboard/server_addr $IP指定dashboard的访问IP。
Ceph mds部署
ceph-deploy --overwrite-conf mds create node1
ceph-deploy --overwrite-conf mds create node2
ceph-deploy --overwrite-conf mds create node3
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128
ceph fs new cephfs cephfs_metadata cephfs_data
mkdir /mnt/mycephfs
cat ceph.client.admin.keyring
mount -t ceph node1:6789:/ /mnt/mycephfs -o name=admin,secretfile=/root/admin.secret
ceph osd pool create rbd 8
rbd pool init rbd
rbd create foo --size 4096 -m node1 -k /etc/ceph/ceph.client.admin.keyring
rbd map foo --name client.admin
rbd feature disable foo exclusive-lock, object-map, fast-diff, deep-flatten
rbd map foo --name client.admin
ll -h /dev/rbd0
Ceph对象存储搭建
ceph-deploy install --rgw node1
ceph-deploy rgw create node1
curl http://node1:7480
systemctl restart ceph-radosgw.service
radosgw-admin user create --uid="rgwuser" --display-name="This is first rgw test user"
yum install python-boto -y
[root@node1 ceph-cluster]# cat s3.py
import boto
import boto.s3.connection
access_key = 'L25H46XKZFY63W7B45VW'
secret_key = 'BKil9AGVU7g0e7wUyfsmyqzqp95IWeliKQHUo41V'
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host = 'node1', port=7480,
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('my-second-s3-bucket')
for bucket in conn.get_all_buckets():
print "{name}\t{created}".format(
name = bucket.name,
created = bucket.creation_date,
)
radosgw-admin subuser create --uid=rgwuser --subuser=rgwuser:swift --access=full
yum install python-setuptools -y
easy_install pip
pip install --upgrade setuptools
pip install --upgrade python-swiftclient
swift -A http://node1:7480/auth/1.0 -U rgwuser:swift -K '3beaKGWMQlqo1vuzlK3EwHQ1Ve3qNAwMrLdcrgTA' list
ceph部署手册的更多相关文章
- OpenStack Kilo版加CEPH部署手册
OpenStack Kilo版加CEPH部署手册 作者: yz联系方式: QQ: 949587200日期: 2015-7-13版本: Kilo 转载地址: http://mp.weixin.qq.co ...
- MariaDB Galera Cluster部署手册
MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1> yum install opens ...
- LVS+MYCAT+读写分离+MYSQL主备同步部署手册
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)
LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1 配置MYSQL主备同步…. 2 1.1 测试环境… 2 1.2 配置主数据库… 2 1.2.1 ...
- Ceph部署(二)RGW搭建
背景 Ceph RGW简介 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口.RGW提供两种类型的接口: 1) S3:兼容Amazon S3RESTful API: ...
- [转帖]Oracle 11G RAC For Windows 2008 R2部署手册
Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次) https://www.cnblogs.com/yhfssp/p/7821593.html 总体规划 ...
- Javamelody部署手册
Javamelody部署手册 1. Javamelody下载 下载地址:http://code.google.com/p/javamelody/downloads/list(注:需要FQ才能打开下载 ...
- Symantec Backup Exec部署手册
转载 http://xiaxiaoguo.blog.51cto.com/858884/402810 Symantec Backup Exec部署手册 目录 1.Backup Exec 12.5安装. ...
- Kubernetes 1.13 的完整部署手册
前言: 非常详细的K8s的完整部署手册,由于Kubernetes版本和操作系统的版本关系非常敏感,部署前请查阅版本关系对应表 地址:https://github.com/kubernetes/kube ...
随机推荐
- Java - 32 Java 多线程编程
Java 多线程编程 Java给多线程编程提供了内置的支持.一个多线程程序包含两个或多个能并发运行的部分.程序的每一部分都称作一个线程,并且每个线程定义了一个独立的执行路径. 多线程是多任务的一种特别 ...
- 排序算法的python实现
几个排序算法 几个排序算法 冒泡排序 选择排序 插入排序 快速排序 quick sort 冒泡排序
- 超详细Redis数据库入门教程
[本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用redis4.学会安装redis5.学会启动redis6.使用redis客户端7.redis数据结构 – 简介8.redis ...
- TableStore:创建SyncClient+getRow读取一行数据
1.通过控制台或者客户端,在TableStore中新建了实例owlforest,在实例详情中获取到实例访问地址endPoint 2.新建表user,确定主键为userid(Interger)类型,因为 ...
- Python :数据结构
LearnPython :数据结构 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .labe ...
- windows python读取grib2数据
一.环境准备 (1).python3环境 (2).wgirb工具(用于读取grib1文件),下载地址: ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib (3).wg ...
- 关于thinkphp中post提交空白的思考
关于thinkphp中post提交空白的思考 首选检查 目标路径是否存在 如果目标URL不存在 那肯定是空 如果提交的路径存储 TP这种完善的系统肯定会提示 各种报错了
- nginx配置开机启动及配置sudo授权启动
1.https://www.cnblogs.com/whatmiss/p/7091220.html 配置开机启动nginx 2.sudo授权其它用户启动 (1)root用户编辑 visu ...
- 4. easyui删除功能实例
############实例1############## function delPerson(id) { $.messager.defaults = { ok : "确定", ...
- oracle删除表数据的两种的方式
转自:https://blog.csdn.net/qq_37840993/article/details/82490787 平时写sql中我们都会用到删除语句,而平时删除表数据的时候我们经常会用到两种 ...