作者:吴香伟 发表于 2014/09/26

版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明

本节主要参考官网的ADDING/REMOVING OSDS章节。

同步节点的时间

安装ntp:apt-get install ntp

NTP服务器:/etc/init.d/ntp start

NTP客户端:ntpdate -d snode01

安装MON

ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
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'
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring monmaptool --create --add snode01 192.168.7.101 --fsid 7f8f00ac-c059-46a6-b656-4a1ce781607b /tmp/monmap
mkdir /var/lib/ceph/mon/ceph-snode01
ceph-mon --mkfs -i snode01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

准备配置文件ceph.conf,并scp到集群的所有节点。

root@snode01:~# cat /etc/ceph/ceph.conf
[global]
fsid = 7f8f00ac-c059-46a6-b656-4a1ce781607b
mon initial members = snode01
mon host = 192.168.7.101
public network = 192.168.0.0/16
auth cluster required = none
auth service required = none
auth client required = none
osd journal size = 1024
filestore xattr use omap = ture
osd pool default size = 2
osd pool default pg num = 333
osd pool default pgp num = 333
osd crush chooseleaf type = 1

运行mon

start ceph-mon id=snode01

安装OSD

使用UUID创建OSD

root@snode01:~# uuidgen
b9b0cbf7-0313-4481-81e4-fd63b97af36c
root@snode01:~# ceph osd create b9b0cbf7-0313-4481-81e4-fd63b97af36c
0

创建OSD目录,并把磁盘挂载到该目录。注意,如果OSD编号为0,则OSD的目录为ceph-0;如果编号为1,则目录为ceph-1,以此类推。

root@snode02:~# mkdir /var/lib/ceph/osd/ceph-0
root@snode02:~# mkfs.ext4 /dev/sda5
root@snode02:~# mount /dev/sda5 /var/lib/ceph/osd/ceph-0/
root@snode02:~# mount | egrep sda5
/dev/sda5 on /var/lib/ceph/osd/ceph-0 type ext4 (rw)

初始化OSD的数据目录

root@snode02:~# ceph-osd -i 0 --mkfs --mkkey --osd-uuid b9b0cbf7-0313-4481-81e4-fd63b97af36

注册OSD的key权限

root@snode02:~#  ceph auth add osd.0 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-0/keyring
added key for osd.0

添加OSD节点到CRUSH MAP中

root@snode01:~# ceph osd crush add-bucket snode02 host
added bucket snode02 type host to crush map root@snode01:~# ceph osd crush move snode02 root=default
moved item id -2 name 'snode02' to location {root=default} in crush map root@snode01:~# ceph osd crush add osd.0 1.0 host=snode02
add item id 0 name 'osd.0' weight 1 at location {host=snode02} to crush map

启动OSD

root@snode02:~# start ceph-osd id=0
ceph-osd (ceph/0) start/running, process 4542

移除OSD节点

OSD节点存在两个维度的状态,第一个维度代表OSD是否正常运行,它包含up和down两种状态;第二个维度代表OSD是否在集群内部,它也有两个状态,分别是in和out。移除OSD节点时,先将OSD移出集群,这样集群就会开始数据迁移。

root@snode02:~# ceph osd out 0
osd.0 is already out.

停止OSD节点,让它变成down状态

root@snode02:~# /etc/init.d/ceph stop osd.0

从CRUSH MAP中删除OSD节点,可以通过ceph osd crush dump命令查看CRUSH MAP的变动。

root@snode02:~# ceph osd crush remove osd.0
removed item id 0 name 'osd.0' from crush map root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd crush remove snode02
removed item id -2 name 'snode02' from crush map

删除OSD的Key权限

ceph auth del osd.0

移除OSD

root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd rm 0
removed osd.0

查看OSD是否已经移除

root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd tree
# id weight type name up/down reweight
-1 1 root default
-3 1 host snode03
1 1 osd.1 up 1 root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd ls
root@snode02:/var/lib/ceph/osd/ceph-0# ceph osd dump

最后删除/var/lib/ceph/osd/ceph-{osd-num}目录,格式化挂载的磁盘。

ceph实践: 搭建环境的更多相关文章

  1. 从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建

    一.Overview 最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actio ...

  2. Python 搭建环境踩过的那些坑

    实践出真知,学习 Python 第六天,准备开始尝试写一些 Python 的实例.之前学习过程主要是参照的 廖雪峰老师的教程.搭建环境的过程,被很多坑围绕着. 版本选择 版本选择 Python 3.5 ...

  3. SOFARPC源码解析-搭建环境

    文档地址:https://www.sofastack.tech 简介摘要 SOFA 是蚂蚁金服自主研发的金融级分布式中间件,包含构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服 ...

  4. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...

  5. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  6. app整体搭建环境:tabBar切换不同控制器的封装(自定义导航+自定义uiviewcontroler+系统自带tabbar+自定义tabbarController)

    首先,一个app的搭建环境非常重要.既要实现基本功能,又要考虑后期优化的性能. 现在很多应用不仅仅是系统自带的控制器,由于需求复杂,基本上需要自定义多控制器来管理. 新建一个BasicNavigati ...

  7. [转]phonegap 2.9 IOS Xcode 搭建环境

    phonegap 2.9 IOS Xcode 搭建环境   一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

随机推荐

  1. Java是目前最广泛的_______编程语言

    计算机网络 注意:在配置环境变量时,classpath是为找文件服务的

  2. jfinal相关

    1:jfinal工具类 1):密码加密工具 HashKit.md5(String password);2):数据缓存工具类 chacheKit3):获取项目路径工具类: PathKit 4):读取文件 ...

  3. yii + elasticsearch 手册

    https://zhuowenji1.gitbooks.io/elasticsearch/content/an_zhuang_yii2.html

  4. jenkins调度selenium脚本不打开浏览器解决办法

    原文地址: http://blog.csdn.net/achang21/article/details/45096003 The web browser doesn't show while run ...

  5. Managing IIS Log File Storage

    Managing IIS Log File Storage   You can manage the amount of server disk space that Internet Informa ...

  6. 第一部分:C9高校、985和211、双一流

    第一部分:C9高校.985和211.双一流 C9高校,包括:清北.复交.浙南.中科大西交大和哈工大.1998年5月4日,时任国家主席江.泽.民在庆祝北京大学建校100周年大会上代表中国共.产.党和中华 ...

  7. java图形界面写个小桌面,内置简单小软件

    一.做个这样的效果,双击图标打开相应的应用 二.主界面类,使用JavaSwing的JDesktopPane类创建这个桌面 package com.swing; import java.awt.Bord ...

  8. Ajax1

    一.Ajax是什么? 全称"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJA ...

  9. MySql 数据库导入到 SQL Service

    1.下载安装ODBC驱动程序 地址:http://dev.mysql.com/downloads/connector/odbc/ 注意:系统的版本问题( 我的是64位的win7系统,但是SQL Ser ...

  10. 336-Palindrome Pairs

    336-Palindrome Pairs Given a list of unique words, find all pairs of distinct indices (i, j) in the ...