手动部署CEPH rbd
手动部署 CEPH rbd
在一台机器上进行验证使用:同一台机器上部署一个ceph-mon和一个ceph-osd。
首先查看下系统内核是否支持rbd,如果有错误提示,说明内核不支持,需要升级内核
# modprobe rbd
FATAL: Module rbd not found.
尴尬不,没有rbd内核,其实我是部署完之后才发现的。升级下内核。
#modprobe rbd
--------------------
All-nodes: 如果是集群就在所有机器上进行设置
--------------------
1- 各节点设置 hosts
# vim /etc/hosts
10.200.80.18 node18
...
--------------------
Monitor:在监视器节点上进行,集群的话需要修改配置文件,将所有monitor写入配置文件即可
--------------------
1- 确定 fsid
# uuidgen
1c2f9d3b-fc18-4753-8651-39ca6223fe64
2- 配置文件
# vim /etc/ceph/ceph.conf
[global]
fsid=1c2f9d3b-fc18-4753-8651-39ca6223fe64
mon initial members = node18
mon host = 10.200.80.18
public network = 10.200.80.0/24
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
filestore xattr use omap = true
osd pool default size = 1
osd pool default min size = 1
osd pool default pg num = 333
osd pool default pgp num = 333
osd crush chooseleaf type = 1
rbd_default_features = 1
[mon]
mon host = node18
mon addr = 10.200.80.186789
[mon.a]
host = node18
mon addr = 10.200.80.18:6789
[osd.0]
host = node18
3- 创建 keyring
# ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
4- 生成管理员 keyring
# 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'
5- 将 client.admin key 导入 ceph.mon.keyring
# ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
6- 生成 monitor map
# monmaptool --create --add node18 10.200.80.18 --fsid 0a933b1b-6a20-4627-91a1-36adb6a0d709 /tmp/monmap
7- 创建 monitor 数据目录 ceph-{hostname}
# mkdir /var/lib/ceph/mon/ceph-node18
8- 导入 monitor map 和 keyring 信息
# ceph-mon --mkfs -i node18 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
9- 创建两个空文件
# touch /var/lib/ceph/mon/ceph-node18/done
# touch /var/lib/ceph/mon/ceph-node18/sysvinit
10- 启动 monitor
# service ceph start mon.node18
=== mon.node18 ===
Starting Ceph mon.node18 on node18...
Running as unit run-5055.service.
Starting ceph-create-keys on node18...
上面方法不到能启动就使用下面命令
#ceph-mon -i node18
11- 检查一下
# ceph -s
cluster 0a933b1b-6a20-4627-91a1-36adb6a0d709
health HEALTH_ERR
64 pgs stuck inactive
64 pgs stuck unclean
no osds
monmap e1: 1 mons at {node18=10.200.80.18:6789/0}
election epoch 2, quorum 0 node18
osdmap e1: 0 osds: 0 up, 0 in
pgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects
0 kB used, 0 kB / 0 kB avail
64 creating
还没有osd,health为ERR。
#ceph --cluster=ceph --admin-daemon /var/run/ceph/ceph-mon.node18.asok mon_status
{ "name": "node18",
"rank": 0,
"state": "leader",
"election_epoch": 1,
"quorum": [
0],
"outside_quorum": [],
"extra_probe_peers": [],
"sync_provider": [],
"monmap": { "epoch": 1,
"fsid": "1c2f9d3b-fc18-4753-8651-39ca6223fe64",
"modified": "2018-02-06 10:49:13.819026",
"created": "2018-02-06 10:49:13.819026",
"mons": [
{ "rank": 0,
"name": "node18",
"addr": "10.200.80.18:6789\/0"}]}}
12- 将 keyring 和 ceph.conf 拷贝到各个 osd 节点 比如10.200.80.19
# scp /etc/ceph/ceph.conf 10.200.80.19:/etc/ceph/
# scp /etc/ceph/ceph.client.admin.keyring 10.200.80.19:/etc/ceph/
--------------------
Osds:每个机器可以多个osd,每块硬盘或分区可以单独做一个osd。osd个数按实际启动的osd进程计算。
--------------------
1- Create OSD
# uuidgen
d6354bb5-b390-44b5-948f-fbb7f939e53a
# ceph osd create d6354bb5-b390-44b5-948f-fbb7f939e53a
0
2- 创建数据存储目录
--目录方式
# mkdir -p /data/ceph/osd/ceph-0
# ln -s /data/ceph/osd/ceph-0 /var/lib/ceph/osd/ceph-0
--磁盘方式
存储挂的磁阵,这里要把挂的硬盘分区、格式化
# fdisk /dev/vdb
# mkfs.ext4 /dev/vdb1
挂载
# mount -o defaults,_netdev /dev/vdb1 /var/lib/ceph/osd/ceph-0
写入分区表
# vim /etc/fstab
/dev/vdb1 /var/lib/ceph/osd/ceph-0 ext4 defaults,_netdev 0 0
3- 初始化 OSD 数据目录
# ceph-osd -i 0 --mkfs --mkjournal --mkkey \
> --osd-uuid d6354bb5-b390-44b5-948f-fbb7f939e53a \
> --cluster ceph \
> --osd-data=/data/ceph/osd/ceph-0 \
> --osd-journal=/data/ceph/osd/ceph-0/journal
4- 注册 OSD authentication key
# ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /data/ceph/osd/ceph-0/keyring
added key for osd.0
5- 将 ceph 节点加入 CRUSH map
# ceph osd crush add-bucket node6 host
added bucket node6 type host to crush map
# ceph osd crush move node6 root=default
moved item id -2 name 'node6' to location {root=default} in crush map
6- 将 OSD 加入 CRUSH map 此处设置权重为1.0
# ceph osd crush add osd.0 1.0 host=node6
add item id 0 name 'osd.0' weight 1 at location {host=node6} to crush map
7- 创建初始化文件
# touch /var/lib/ceph/osd/ceph-0/sysvinit
8- 启动服务
# service ceph start osd.0
=== osd.0 ===
create-or-move updated item name 'osd.0' weight 0.96 at location {host=node6,root=default} to crush map
Starting Ceph osd.0 on node6...
Running as unit run-27621.service.
如果上述命令不成功,使用下面命令
#ceph-osd -i 0
starting osd.0 at :/0 osd_data /var/lib/ceph/osd/ceph-0 /var/lib/ceph/osd/ceph-0/journal
9- 检查
# ceph -s
cluster 1c2f9d3b-fc18-4753-8651-39ca6223fe64
health HEALTH_WARN mon.node18 low disk space
monmap e1: 1 mons at {node18=10.200.80.18:6789/0}, election epoch 1, quorum 0 node18
osdmap e23: 1 osds: 1 up, 1 in
pgmap v790: 525 pgs, 4 pools, 12052 kB data, 15 objects
63788 MB used, 100 GB / 171 GB avail
525 active+clean
# ceph osd tree
# id weight type name up/down reweight
-1 1 root default
-2 1 host node18
0 1 osd.0 up 1
手动部署CEPH rbd相关推荐
- 手动部署 ceph mon (luminous 版)
#环境 参考 手动部署 ceph 环境说明 (luminous 版) 模板创建脚本 ceph.conf.template [global] fsid = $cephuuid mon initial m ...
- 使用ceph/daemon镜像手动部署ceph集群
使用ceph/daemon镜像手动部署ceph集群 使用ceph/daemon镜像手动部署ceph集群 三台机器的基本信息 启动mon集群 部署mgr 部署osd 部署rgw 三台机器的基本信息 IP ...
- 手动部署ceph octopus集群
基础配置 三台环境为centos7.9,以下配置需要在每台机器上执行 配置hosts解析 cat >> /etc/hosts <<EOF 192.168.2.16 node1 ...
- CentOS7.5 手动部署ceph
1 环境配置 1.1 设备列表 功能 主机名 IP mon node1 192.168.1.10 mon node2 192.168.1.11 mon node3 192.168.1.12 ...
- 手动部署 Ceph Mimic 三节点
目录 文章目录 目录 前文列表 部署拓扑 存储设备拓扑 网络拓扑 基础系统环境 安装 ceph-deploy 半自动化部署工具 部署 MON 部署 Manager 部署 OSD 部署 MDS 部署 R ...
- Ceph手动部署(开发版本)
手动部署 监视器引导 管理器守护程序配置 添加 OSD 简写形式 长格式 添加 MDS 总结 在 FreeBSD 上手动部署 FreeBSD 上的 Disklayout 配置 监视器引导 添加 OSD ...
- rook部署cephfs rbd rgw
rook部署cephfs rbd rgw 环境信息 kubernetes版本 系统版本 内核 rook版本 docker版本 1.12 Centos7.6 3.10.0-957.21.3.el7.x8 ...
- k8s学习笔记——ceph rbd本地手动挂载
//在客户端节点上执行 1.创建rbd手动挂载 //ceph osd pool create <pool> [<pg_num:int>] [<pgp_num:int> ...
- 手动安装ceph和使用
我们已经对ceph有了一个大概的了解,现在就进行手动的安装ceph集群. 在我们安装集群之前,首先应该对自己的服务器环境以及集群节点作用做一个规划. 架构设计 Ceph 分布式存储集群有三大组件组成, ...
最新文章
- Java封装(速读版)
- JGG | 肠道细菌加重小分子量卡拉胶诱发的直肠炎症
- 图像分割--PixelNet: Representation of the pixels, by the pixels, and for the pixels
- PMP47个过程的ITO
- assign深拷贝_前端深拷贝和浅拷贝
- 数据中台模型设计系列(一):维度建模初探
- 阿里云边缘计算与云边端协同网络的融合与挑战
- JavaWeb总结(四)
- kafka消息确认机制
- 算法设计与分析 上机题Mergesort
- swift 2.0 语法 循环
- git项目初始上传服务器,快速架设一个使用 SSH 的 Git 服务
- regester正则用法_Regester学习笔记
- [数据恢复答疑]用partition manager导致资料丢失怎么办?
- 日志分析里面的max是什么_压测nginx出现no live upstreams while connecting to upstream的问题分析...
- mysql 减函数_mysql时间加减函数
- 单片机跑马灯c语言程序,51单片机跑马灯C语言代码!
- android 8 twrp,一加8 解锁bl 刷写第三方twrp 资源
- sas 分析家模块 安装,SAS9.3/9.4统计分析安装使用教程自学资料完整模块最新SID
- Eclipse的Servers视图中无法添加Tomcat6/Tomcat7
热门文章
- nodejs 创建html文本编辑器,node使用UEditor富文本编辑器的方法实例
- ubuntu server
- 大学生计算机技能应用大赛比赛流程【Java】
- 均匀三次B样条曲线插值实现及MATLAB代码
- 海岸鸿蒙高锰酸钾质控,自己怎样做高锰酸盐指数质控样
- 单片机开发-雾化器单片机方案分享
- flink 双流jion 使用union all + groupby方式实现
- HDU 2389(二分最大匹配优化算法,Hopcroft-Carp)
- Ubuntu上安装wine QQ国际版后如何定位好友传送文件的保存位置?
- 颜色传感器TCS230及颜色识别电路(转)