CEPH安装教程(中)
NTP服务配置
NTP客户端配置
# vim /etc/ntp.conf
server 92.0.0.250
### 手动同步下时间
# ntpdate -u 92.0.0.250
### 启动服务
# systemctl start ntpd
# systemctl enable ntpd
### 检查同步
# ntpq -p
监控节点配置(方式一)
以下指令在anode节点执行
为CEPH集群生成UUID
# uuidgen
cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
# tee /etc/ceph/ceph.conf << EOF
[global]
fsid = cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
[mon.anode]
host = anode
mon addr = 92.0.0.11:6789
EOF
创建集群密钥环以及监视器密钥
# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
创建管理员密钥环,生成client.admin用户,然后添加用户到环上
# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
创建一个bootstrap-osd密钥环,生成client.bootstrap-osd用户,然后添加用户到环上
# ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd'
将生成的密钥添加到ceph.mon.keyring
# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
创建监视器映射
# monmaptool --create --add anode 92.0.0.11 --fsid cb9321ef-c7b4-48f7-a1bf-5c75deede6ee /tmp/monmap
创建默认数据目录
# mkdir -p /var/lib/ceph/mon/ceph-anode
使用监视器映射和密钥环填充监视器服务
# ceph-mon --mkfs -i anode --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
更新配置文件
# tee /etc/ceph/ceph.conf << EOF
[global]
fsid = cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 128
osd pool default pgp num = 128
osd crush chooseleaf type = 1
[mon.anode]
host = anode
mon addr = 92.0.0.11:6789
EOF
标记监视器服务就绪
# touch /var/lib/ceph/mon/ceph-anode/done
启动监视器服务
### 有两种方式启动服务
### 方式一:修改数据目录权限
# chown -R ceph:ceph /var/lib/ceph
### 方式二:修改服务启动脚本
# vim /usr/lib/systemd/system/ceph-mon@.service
ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i --setuser root --setgroup root
# systemctl daemon-reload
### 启动服务
# systemctl start ceph-mon@anode
# systemctl enable ceph-mon@anode
### 检测服务
# ceph -s
services:
mon: 1 daemons, quorum anode
mgr: no daemons active
osd: 0 osds: 0 up, 0 in
添加监控节点
以下指令在bnode节点执行
拷贝配置文件和客户端密钥
# scp root@92.0.0.11:/etc/ceph/ceph.conf /etc/ceph/
# scp root@92.0.0.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
获取监控集群密钥环
# ceph auth get mon. -o /tmp/ceph.mon.keyring
获取监控集群映射文件
# ceph mon getmap -o /tmp/monmap
使用监视器映射和密钥环填充新的监视器服务
# ceph-mon --mkfs -i bnode --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
修改配置文件
### 配置文件的mon.anode是让你在没有配置bnode的时候让ceph mon命令知道怎么去连接ceph monitor集群(删除后会发现命令报错),在配置好bnode后,可以删除anode的配置也可以不删除,后面配置cnode的时候可以使用bnode的配置也可以使用anode的配置
# vim /etc/ceph/ceph.conf
[global]
fsid = cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 128
osd pool default pgp num = 128
osd crush chooseleaf type = 1
[mon.bnode]
host = bnode
mon addr = 92.0.0.12:6789
标记监视器服务就绪
# touch /var/lib/ceph/mon/ceph-bnode/done
启动监视器服务
# chown -R ceph:ceph /var/lib/ceph
### 启动服务
# systemctl start ceph-mon@bnode
# systemctl enable ceph-mon@bnode
### 检测服务
# ceph -s
services:
mon: 2 daemons, quorum anode,bnode
mgr: no daemons active
osd: 0 osds: 0 up, 0 in
同理添加cnode节点(配置文件可以拷贝anode节点的也可以拷贝bnode节点的)
# ceph -s
services:
mon: 3 daemons, quorum anode,bnode,cnode
mgr: no daemons active
osd: 0 osds: 0 up, 0 in
配置管理服务
以下指令在anode节点执行
创建密钥文件
# name="kolla"
# mkdir -p /var/lib/ceph/mgr/ceph-$name
# ceph auth get-or-create mgr.$name mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-$name/keyring
启动服务
# chown -R ceph:ceph /var/lib/ceph
# systemctl start ceph-mgr@$name
# systemctl status ceph-mgr@$name
# systemctl enable ceph-mgr@$name
查询服务
# ceph -s
services:
mon: 3 daemons, quorum anode,bnode,cnode
mgr: kolla(active)
osd: 2 osds: 2 up, 2 in
同理配置好bnode和cnode节点
# ceph -s
services:
mon: 3 daemons, quorum anode,bnode,cnode
mgr: kolla(active, starting)
osd: 2 osds: 2 up, 2 in
查询命令帮助
# ceph tell mgr help
监控节点配置(方式二)
以下指令在anode节点执行
为CEPH集群生成UUID
# uuidgen
cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
# tee /etc/ceph/ceph.conf << EOF
[global]
fsid = cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 128
osd pool default pgp num = 128
osd crush chooseleaf type = 1
mon initial members = anode, bnode, cnode
mon host = 92.0.0.11, 92.0.0.12, 92.0.0.13
EOF
创建集群密钥环以及监视器密钥
# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
创建管理员密钥环,生成client.admin用户,然后添加用户到环上
# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
创建一个bootstrap-osd密钥环,生成client.bootstrap-osd用户,然后添加用户到环上
# ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd'
将生成的密钥添加到ceph.mon.keyring
# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
创建监视器映射
# monmaptool --create --add anode 92.0.0.11 --add bnode 92.0.0.12 --add cnode 92.0.0.13 --fsid cb9321ef-c7b4-48f7-a1bf-5c75deede6ee --clobber /tmp/monmap
# monmaptool --print /tmp/monmap
创建默认数据目录
# mkdir -p /var/lib/ceph/mon/ceph-anode
使用监视器映射和密钥环填充监视器服务
# ceph-mon --mkfs -i anode --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
标记监视器服务就绪
# touch /var/lib/ceph/mon/ceph-anode/done
启动监视器服务
### 启动服务
# chown -R ceph:ceph /var/lib/ceph
# systemctl start ceph-mon@anode
# systemctl enable ceph-mon@anode
### 检测服务
# ceph daemon mon.anode mon_status
添加监控节点
以下指令在bnode节点执行
拷贝配置文件、密钥和监视器映射
# scp root@92.0.0.11:/etc/ceph/ceph.conf /etc/ceph/
# scp root@92.0.0.11:/tmp/ceph.mon.keyring /tmp
# scp root@92.0.0.11:/tmp/monmap /tmp
创建默认数据目录
# mkdir -p /var/lib/ceph/mon/ceph-bnode
使用监视器映射和密钥环填充监视器服务
# ceph-mon --mkfs -i bnode --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
标记监视器服务就绪
# touch /var/lib/ceph/mon/ceph-bnode/done
启动监视器服务
### 启动服务
# chown -R ceph:ceph /var/lib/ceph
# systemctl start ceph-mon@banode
# systemctl enable ceph-mon@bnode
### 检测服务
# ceph daemon mon.bnode mon_status
同理添加cnode节点
添加OSDS
方式一:脚本(dnode)
以下指令在dnode节点执行
拷贝配置文件和密钥环
# scp root@92.0.0.11:/etc/ceph/ceph.conf /etc/ceph/
# scp root@92.0.0.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
# scp root@92.0.0.11:/var/lib/ceph/bootstrap-osd/ceph.keyring /var/lib/ceph/bootstrap-osd/
创建OSD
# ceph-volume lvm create --data /dev/vdb
Running command: ceph-authtool --gen-print-key
Running command: ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new 2d6a968f-9c10-4c57-adb6-be0a1341581b
Running command: vgcreate --force --yes ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee /dev/vdb
stdout: Physical volume "/dev/vdb" successfully created
stdout: Volume group "ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee" successfully created
Running command: lvcreate --yes -l 100%FREE -n osd-block-2d6a968f-9c10-4c57-adb6-be0a1341581b ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
stdout: Logical volume "osd-block-2d6a968f-9c10-4c57-adb6-be0a1341581b" created.
Running command: ceph-authtool --gen-print-key
Running command: mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-0
Running command: chown -R ceph:ceph /dev/dm-4
Running command: ln -s /dev/ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee/osd-block-2d6a968f-9c10-4c57-adb6-be0a1341581b /var/lib/ceph/osd/ceph-0/block
Running command: ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/osd/ceph-0/activate.monmap
stderr: got monmap epoch 5
Running command: ceph-authtool /var/lib/ceph/osd/ceph-0/keyring --create-keyring --name osd.0 --add-key AQDR0sFaI6fMAxAAhoZKkXR29nUPbWCeAAibkg==
stdout: creating /var/lib/ceph/osd/ceph-0/keyring
stdout: added entity osd.0 auth auth(auid = 18446744073709551615 key=AQDR0sFaI6fMAxAAhoZKkXR29nUPbWCeAAibkg== with 0 caps)
Running command: chown -R ceph:ceph /var/lib/ceph/osd/ceph-0/keyring
Running command: chown -R ceph:ceph /var/lib/ceph/osd/ceph-0/
Running command: ceph-osd --cluster ceph --osd-objectstore bluestore --mkfs -i 0 --monmap /var/lib/ceph/osd/ceph-0/activate.monmap --keyfile - --osd-data /var/lib/ceph/osd/ceph-0/ --osd-uuid 2d6a968f-9c10-4c57-adb6-be0a1341581b --setuser ceph --setgroup ceph
--> ceph-volume lvm prepare successful for: /dev/vdb
Running command: ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev /dev/ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee/osd-block-2d6a968f-9c10-4c57-adb6-be0a1341581b --path /var/lib/ceph/osd/ceph-0
Running command: ln -snf /dev/ceph-cb9321ef-c7b4-48f7-a1bf-5c75deede6ee/osd-block-2d6a968f-9c10-4c57-adb6-be0a1341581b /var/lib/ceph/osd/ceph-0/block
Running command: chown -R ceph:ceph /dev/dm-4
Running command: chown -R ceph:ceph /var/lib/ceph/osd/ceph-0
Running command: systemctl enable ceph-volume@lvm-0-2d6a968f-9c10-4c57-adb6-be0a1341581b
stderr: Created symlink from /etc/systemd/system/multi-user.target.wants/ceph-volume@lvm-0-2d6a968f-9c10-4c57-adb6-be0a1341581b.service to /usr/lib/systemd/system/ceph-volume@.service.
Running command: systemctl start ceph-osd@0
--> ceph-volume lvm activate successful for osd ID: 0
--> ceph-volume lvm activate successful for osd ID: None
--> ceph-volume lvm create successful for: /dev/vdb
查询集群状态
# ceph -s
services:
mon: 3 daemons, quorum anode,bnode,cnode
mgr: no daemons active
osd: 1 osds: 1 up, 1 in
方式二:手动(enode)
以下指令在enode节点执行
拷贝配置文件和密钥环
# scp root@92.0.0.11:/etc/ceph/ceph.conf /etc/ceph/
# scp root@92.0.0.11:/etc/ceph/ceph.client.admin.keyring /etc/ceph/
# scp root@92.0.0.11:/var/lib/ceph/bootstrap-osd/ceph.keyring /var/lib/ceph/bootstrap-osd/
为OSD生成UUID
# UUID=$(uuidgen)
为OSD创建cephx密钥
# OSD_SECRET=$(ceph-authtool --gen-print-key)
创建OSD
### ceph命令-i原本是要指定一个json文件,这边使用管道操作中的"-"将前面echo的输出结果作为文件
# ID=$(echo "{\"cephx_secret\": \"$OSD_SECRET\"}" | ceph osd new $UUID -i - -n client.bootstrap-osd -k /var/lib/ceph/bootstrap-osd/ceph.keyring)
为OSD创建数据目录
# mkdir /var/lib/ceph/osd/ceph-$ID
挂载磁盘到数据目录上
# mkfs.xfs /dev/vdb
# mount /dev/vdb /var/lib/ceph/osd/ceph-$ID
修改fstab配置
### 在配置文件末尾添加
# vim /etc/fstab
/dev/vdb /var/lib/ceph/osd/ceph-1 xfs defaults 0 0
创建OSD密钥文件
# ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-$ID/keyring --name osd.$ID --add-key $OSD_SECRET
初始化OSD数据目录
# ceph-osd -i $ID --mkfs --osd-uuid $UUID
启动服务
# chown -R ceph:ceph /var/lib/ceph/osd/ceph-$ID
# systemctl enable ceph-osd@$ID
# systemctl start ceph-osd@$ID
查询集群状态
# ceph -s
services:
mon: 3 daemons, quorum anode,bnode,cnode
mgr: no daemons active
osd: 2 osds: 2 up, 2 in
添加MDS节点
以下指令在anode节点执行
创建 MDS 数据目录
# mkdir -p /var/lib/ceph/mds/ceph-anode
创建密钥环
# ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-anode/keyring --gen-key -n mds.anode
导入密钥环并设置权限
# ceph auth add mds.anode osd "allow rwx" mds "allow" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-anode/keyring
修改配置文件
# vim /etc/ceph/ceph.conf
[global]
fsid = cb9321ef-c7b4-48f7-a1bf-5c75deede6ee
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 2
osd pool default min size = 1
osd pool default pg num = 128
osd pool default pgp num = 128
osd crush chooseleaf type = 1
[mon.anode]
host = anode
mon addr = 92.0.0.11:6789
[mds.anode]
host = anode
启动服务
# chown -R ceph:ceph /var/lib/ceph
# systemctl start ceph-mds@anode
# systemctl status ceph-mds@anode
# systemctl enable ceph-mds@anode
参考文档
CEPH安装教程(中)的更多相关文章
- CEPH安装教程(上)
环境拓扑 主机 配置 地址 运行服务 node CPU:1 内存:2GB 磁盘:vda(20GB) br-mgmt:92.0.0.250 br-ex:192.168.203.250/19 ntp an ...
- CEPH安装教程(下)
创建 CEPH 文件系统 创建存储池 # ceph osd pool create cephfs_data 64 # ceph osd pool create cephfs_metadata 64 创 ...
- git\CentOS6.5中gitlab安装教程
一.Git 起源: Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本 ...
- zz Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位)
Windows 10安装教程:硬盘安装Win10 系统步骤(适合32位和64位) Posted on 2015年01月28日 by 虾虾 22 Comments 最新的Windows 10 MSD ...
- arcgis10.2下载安装教程
ArcGIS Desktop 10.2 完全安装教程(含win7 32/64位+下载地址+亲测可用) 时间: 2014年08月20日 阅读: 622,262 分类: GIS探秘 标签: A ...
- Ceph编译安装教程
Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境.Ceph官方目前推荐的安 ...
- Hadoop学习---Ubuntu中hadoop完全分布式安装教程
软件版本 Hadoop版本号:hadoop-2.6.0-cdh5.7.0: VMWare版本号:VMware 9或10 Linux系统:CentOS 6.4-6.5 或Ubuntu版本号:ubuntu ...
- linux中RabbitMQ安装教程
linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...
- sap2000v21安装教程(附详细安装步骤+中文安装包)
sap2000 v21是sap2000系列软件的全新版本,也是目前行业中的一款用于结构分析和设计的集成软件,该软件保持了原有产品的传统,具有完善.直观和灵活的界面,能够在交通运输.工业.公共事业.体育 ...
随机推荐
- codevs1199 开车旅行
[问题描述]小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为H i ,城市 ...
- UOJ136 开学前的作文
描述 红包是一个萌萌的男孩子. 红包由于 NOI 惨挂,直到前不久依然无心写作业.如今快开学了,他决定好好完成作业. 对于可以交电子稿的作文,红包有特殊的完成技巧,大致流程是依次选中一段内容→按下 C ...
- spring学习(1)
struts是web框架(jsp/action/action) hibernate是orm框架,处于持久层. spring是一个框架,是容器框架.用于配置bean,并维护bean之间关系的一种框架. ...
- 聊聊js跨域
推荐先读一下这篇文章: https://segmentfault.com/a/1190000012469713http://www.dailichun.com/2017/03/22/ajaxCross ...
- hibernate一级缓存和二级缓存的区别(转)
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事 ...
- leetcode 6 ZigZag Conversion(水题)
就是简单的模拟一下就可以了.但是我一开始是用一个二维char数组来存的,这样在最终扫全体时会扫很多空的位置,浪费了很多时间,所以就time limit error了. 所以改进一下就用string数组 ...
- 【二叉查找树】03验证是否为二叉查找树【Validate Binary Search Tree】
本质上是递归遍历左右后在与根节点做判断,本质上是后序遍历 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
- HTML5视音频标签参考
本文将介绍HTML5中的视音频标签和对应的DOM对象.是相关资料的中文化版本,可以作为编写相关应用的简易中文参考手册. 一些约定 所有浏览器:指支持HTML5的常见桌面浏览器,包括IE9+.Firef ...
- ACM学习历程—Hihocoder 1290 Demo Day(动态规划)
http://hihocoder.com/problemset/problem/1290 这题是这次微软笔试的第三题,过的人比第一题少一点,这题一眼看过去就是动态规划,不过转移方程貌似不是很简单,调试 ...
- 命令行启动nodejs方式 小总结
之前启动nodejs都是写一个命令行文件,如nodejs.cmd,内容为:start node E:\node\app.js. 今天突然想到之前也用过另外一种方式启动,就是在命令行通过cd命令先找到n ...