文档章节

Ceph搭建与配置笔记

moya
 moya
发布于 2014/12/25 16:09
字数 1467
阅读 221
收藏 0
点赞 0
评论 0

Ceph 搭建与配置笔记

平台:VirtualBox 4.3.12 

虚拟机:CentOS 6.5 Linux 2.6.32-504.3.3.el6.x86_64

(1)准备工作

  • 修改主机名 配置 IP

       注:以下步骤需要按情况对store01和store02分别配置

[root@store01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
UUID=82e3956c-6850-426a-afd7-977a26a77dab
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.179
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=08:00:27:65:4B:DD
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

[root@store01 ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:65:4B:DD  
          inet addr:192.168.1.179  Bcast:192.168.127.255  Mask:255.255.128.0
          inet6 addr: fe80::a00:27ff:fe65:4bdd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:75576 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41422 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:88133010 (84.0 MiB)  TX bytes:4529474 (4.3 MiB)

[root@store01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.179    store01
192.168.1.190    store02

  • 配置 NTP 时间同步

[root@store01 ~]# yum install ntp ntpdate
[root@store01 ~]# service ntpd start
Starting ntpd:                                             [  OK  ]
[root@store01 ~]# chkconfig ntpd on
[root@store01 ~]# netstat -tunlp |grep 123
udp        0      0 192.168.1.179:123           0.0.0.0:*                               12254/ntpd          
udp        0      0 127.0.0.1:123               0.0.0.0:*                               12254/ntpd          
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               12254/ntpd          
udp        0      0 fe80::a00:27ff:fe65:4bdd:123 :::*                                    12254/ntpd          
udp        0      0 ::1:123                     :::*                                    12254/ntpd          
udp        0      0 :::123                      :::*                                    12254/ntpd
[root@store01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+gus.buptnet.edu 202.112.31.197   3 u    7   64  377  115.339    4.700  46.105
*dns2.synet.edu. 202.118.1.46     2 u   69   64  373   44.619    1.680   6.667

[root@store02 ~]# yum install ntp ntpdate
[root@store02 ~]# vim /etc/ntp.conf 
server store01 iburst
[root@store02 ~]# service ntpd start
Starting ntpd:                                             [  OK  ]
[root@store02 ~]# chkconfig ntpd on
[root@store02 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 store01         202.112.10.36    4 u   56   64    1    0.412    0.354   0.000
 [root@store02 ~]# netstat -tunlp |grep 123
udp        0      0 192.168.1.190:123           0.0.0.0:*                               12971/ntpd          
udp        0      0 127.0.0.1:123               0.0.0.0:*                               12971/ntpd          
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               12971/ntpd          
udp        0      0 fe80::a00:27ff:fead:71b:123 :::*                                    12971/ntpd          
udp        0      0 ::1:123                     :::*                                    12971/ntpd          
udp        0      0 :::123                      :::*                                    12971/ntpd

  • 关闭 SELinux  IPTables

[root@store01 ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                             [  OK  ]
[root@store01 ~]# /etc/init.d/ip6tables stop
ip6tables: Setting chains to policy ACCEPT: filter         [  OK  ]
ip6tables: Flushing firewall rules:                        [  OK  ]
ip6tables: Unloading modules:                              [  OK  ]
[root@store01 ~]# chkconfig iptables off
[root@store01 ~]# chkconfig ip6tables off

[root@store01 ~]# setenforce 0
[root@store01 ~]# vim /etc/selinux/config 
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.


(2)安装Ceph

  • 添加源(Ceph Version:0.72)

# vim /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=http://ceph.com/rpm-emperor/el6/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc


[ceph-noarch]
name=Ceph noarch packages
baseurl=http://ceph.com/rpm-emperor/el6/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc


[ceph-source]
name=Ceph source packages
baseurl=http://ceph.com/rpm-emperor/el6/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
  • 安装Ceph

[root@store01 ~]# yum install ceph ceph-deploy
[root@store01 ~]# ceph-deploy --version
1.5.11
[root@store01 ~]# ceph --version
ceph version 0.72.2 (a913ded2ff138aefb8cb84d347d72164099cfd60)

[root@store02 ~]# yum install ceph

(3)配置Ceph

[root@store01 ~]# mkdir my-cluster
[root@store01 ~]# cd my-cluster/
[root@store01 my-cluster]# ls
[root@store01 my-cluster]# ceph-deploy new store01
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO  ] Invoked (1.5.11): /usr/bin/ceph-deploy new store01
[ceph_deploy.new][DEBUG ] Creating new cluster named ceph
[ceph_deploy.new][DEBUG ] Resolving host store01
[ceph_deploy.new][DEBUG ] Monitor store01 at 192.168.1.179
[ceph_deploy.new][INFO  ] making sure passwordless SSH succeeds
[ceph_deploy.new][DEBUG ] Monitor initial members are ['store01']
[ceph_deploy.new][DEBUG ] Monitor addrs are ['192.168.1.179']
[ceph_deploy.new][DEBUG ] Creating a random mon key...
[ceph_deploy.new][DEBUG ] Writing initial config to ceph.conf...
[ceph_deploy.new][DEBUG ] Writing monitor keyring to ceph.mon.keyring...
[root@store01 my-cluster]# ls
ceph.conf  ceph.log  ceph.mon.keyring
[root@store01 my-cluster]# cat ceph.conf 
[global]
auth_service_required = cephx
filestore_xattr_use_omap = true
auth_client_required = cephx
auth_cluster_required = cephx
mon_host = 192.168.1.179
mon_initial_members = store01
fsid = b45a03be-3abf-4736-8475-f238e1f2f479

[root@store01 my-cluster]# vim ceph.conf 
[global]
auth_service_required = cephx
filestore_xattr_use_omap = true
auth_client_required = cephx
auth_cluster_required = cephx
mon_host = 192.168.1.179
mon_initial_members = store01
fsid = b45a03be-3abf-4736-8475-f238e1f2f479

osd pool default size = 2

[root@store01 my-cluster]# ceph-deploy mon create-initial
[root@store01 my-cluster]# ll
total 28
-rw-r--r-- 1 root root   72 Dec 29 10:34 ceph.bootstrap-mds.keyring
-rw-r--r-- 1 root root   72 Dec 29 10:34 ceph.bootstrap-osd.keyring
-rw-r--r-- 1 root root   64 Dec 29 10:34 ceph.client.admin.keyring
-rw-r--r-- 1 root root  257 Dec 29 10:34 ceph.conf
-rw-r--r-- 1 root root 5783 Dec 29 10:34 ceph.log
-rw-r--r-- 1 root root   73 Dec 29 10:33 ceph.mon.keyring


[root@store01 my-cluster]# ceph-deploy disk list store01 store02
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO  ] Invoked (1.5.11): /usr/bin/ceph-deploy disk list store01 store02
[store01][DEBUG ] connected to host: store01 
[store01][DEBUG ] detect platform information from remote host
[store01][DEBUG ] detect machine type
[ceph_deploy.osd][INFO  ] Distro info: CentOS 6.6 Final
[ceph_deploy.osd][DEBUG ] Listing disks on store01...
[store01][DEBUG ] find the location of an executable
[store01][INFO  ] Running command: /usr/sbin/ceph-disk list
[store01][DEBUG ] /dev/sda :
[store01][DEBUG ]  /dev/sda1 other, ext4, mounted on /boot
[store01][DEBUG ]  /dev/sda2 other, LVM2_member
[store01][DEBUG ] /dev/sdb other, unknown
[store01][DEBUG ] /dev/sdc other, unknown
[store01][DEBUG ] /dev/sr0 other, unknown
[store02][DEBUG ] connected to host: store02 
[store02][DEBUG ] detect platform information from remote host
[store02][DEBUG ] detect machine type
[ceph_deploy.osd][INFO  ] Distro info: CentOS 6.6 Final
[ceph_deploy.osd][DEBUG ] Listing disks on store02...
[store02][DEBUG ] find the location of an executable
[store02][INFO  ] Running command: /usr/sbin/ceph-disk list
[store02][DEBUG ] /dev/sda :
[store02][DEBUG ]  /dev/sda1 other, ext4, mounted on /boot
[store02][DEBUG ]  /dev/sda2 other, LVM2_member
[store02][DEBUG ] /dev/sdb other, unknown
[store02][DEBUG ] /dev/sdc other, unknown
[store02][DEBUG ] /dev/sr0 other, unknown

[root@store01 my-cluster]# ceph-deploy disk zap store01:sd{b,c}
[root@store01 my-cluster]# ceph-deploy disk zap store02:sd{b,c}
[root@store01 my-cluster]# ceph-deploy osd create store01:sd{b,c}
[root@store01 my-cluster]# ceph-deploy osd create store02:sd{b,c}
[root@store01 my-cluster]# ceph status
    cluster e5c2f7f3-2c8a-4ae0-af26-ab0cf5f67343
     health HEALTH_OK
     monmap e1: 1 mons at {store01=192.168.1.179:6789/0}, election epoch 1, quorum 0 store01
     osdmap e18: 4 osds: 4 up, 4 in
      pgmap v28: 192 pgs, 3 pools, 0 bytes data, 0 objects
            136 MB used, 107 GB / 107 GB avail
                 192 active+clean

[root@store01 my-cluster]# ceph osd tree
# id	weight	type name	up/down	reweight
-1	0.12	root default
-2	0.06		host store01
1	0.03			osd.1	up	1	
0	0.03			osd.0	up	1	
-3	0.06		host store02
3	0.03			osd.3	up	1	
2	0.03			osd.2	up	1

(4)创建池与用户

格式:
ceph osd pool set {pool-name} pg_num
注:pg_num选择标准
Less than 5 OSDs set pg_num to 128
Between 5 and 10 OSDs set pg_num to 512
Between 10 and 50 OSDs set pg_num to 4096
If you have more than 50 OSDs, you need to understand the tradeoffs and how to calculate the pg_num value by yourself

[root@store01 my-cluster]# ceph osd pool create volumes 128
pool 'volumes' created
[root@store01 my-cluster]# ceph osd pool create images 128
pool 'images' created
[root@store01 my-cluster]# ceph osd lspools
0 data,1 metadata,2 rbd,3 volumes,4 images,

ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rx pool=images'
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'

至此 Ceph配置完毕

可以将此Ceph配置到OpenStack的Cinder、Nova以及Glance服务中作为后端。

后续笔记会接着记录。


© 著作权归作者所有

共有 人打赏支持
moya
粉丝 0
博文 9
码字总数 5531
作品 0
无锡
程序员
Ceph对象存储RGW对接企业级网盘OwnCloud三步走

上篇文章我们把Ceph对象存储搭建成功了,但是成功了之后我们怎么用呢?下面我们本文就来讲下Ceph对象存储对接企业私有云网盘OwnCloud。 OwnCloud分为企业版和社区版,我们只说社区版,在这里...

Devin ⋅ 2017/07/10 ⋅ 0

ceph书籍与培训

基础篇 引言 第一章:ceph的前世今生 1.1 ceph的诞生 1.2 ceph的市场前景 第二章:ceph的根基-RADOS 2.1 ceph与分布式文件系统 2.2 RADOS的组成 2.2.1 MON简介 2.2.1 OSD简介 2.2.1 MDS简介 ...

秦牧羊 ⋅ 2015/06/10 ⋅ 5

Openstack之Ceph集群操作

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: 1. 《Ceph简介》 2. 《Ceph集群操作》 3. 《Ceph块设备管理与Openstack配置》 4. 《深入Ceph》 5. 《ceph优化与性能...

hiubuntu ⋅ 2016/12/01 ⋅ 0

基于centos7.3安装部署jewel版本ceph集群实战演练

一、环境准备 安装centos7.3虚拟机三台 由于官网源与网盘下载速度都非常的慢,所以给大家提供了国内的搜狐镜像源:http://mirrors.sohu.com/centos/7.3.1611/isos/x8664/CentOS-7-x86_64-DV...

盖世英雄iii ⋅ 2017/09/04 ⋅ 0

从传统运维到云运维演进历程之软件定义存储(二)

上回书说到一般企业使用Ceph会经历几个关卡:硬件选型 —— 部署调优—— 性能测试 架构灾备设计 —— 部分业务上线测试 —— 运行维护(故障处理、预案演练等)。 今天来重点讲下部署调优关...

Devin ⋅ 2016/09/20 ⋅ 0

基于centos7.3安装部署jewel版本ceph集群实战演练

一、环境准备 安装centos7.3虚拟机三台 由于官网源与网盘下载速度都非常的慢,所以给大家提供了国内的搜狐镜像源:http://mirrors.sohu.com/centos/7.3.1611/isos/x8664/CentOS-7-x86_64-DV...

盖世英雄iii ⋅ 2017/09/04 ⋅ 0

使用ceph-deploy安装Ceph 12.x(序言)

原文出处:https://blog.csdn.net/nirendao/article/details/79357549 下面这一系列的文章将主要讲解如何安装社区版的Ceph. 要安装的版本是Luminous,即Ceph 12.x 使用的操作系统是CentOS 7....

kuSorZ ⋅ 05/22 ⋅ 0

docker使用rexray基于ceph做共享存储

docker使用rexray基于ceph做共享存储 背景   Docker Swarm使得分布式、集群的搭建部署速度提升了指数级别,原本的部署方式可能要用一天的时间,改用docker部署后可以减少到十分钟以内。  ...

anddyson ⋅ 05/16 ⋅ 0

cephfs文件系统环境搭建介绍

cephfs文件系统环境搭建介绍 一、cephfs简介。 cephfs是一个基于ceph集群且兼容POSIX标准的文件系统。创建cephfs文件系统时需要在ceph集群中添加mds服务,该服务负责处理POSIX文件系统中的m...

linuxhunter ⋅ 2015/12/11 ⋅ 0

Ceph编译安装教程

Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境。Ceph官方目前推荐的安装方式都是通过Ceph-...

LeeHappen ⋅ 2017/12/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 11分钟前 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 12分钟前 ⋅ 0

Redux的一些手法记录

Redux Redux的基本概念见另一篇文。 这里记录一下Redux在项目中的实际操作的手法。 actions 首先定义action.js,actions的type,可以另起一个action-type.js文件。 action-type.js用来存...

LinearLaw ⋅ 13分钟前 ⋅ 0

android 手势检测(左右滑动、上下滑动)

GestureDetector类可以让我们快速的处理手势事件,如点击,滑动等。 使用GestureDetector分三步: 1. 定义GestureDetector类 2. 初始化手势类,同时设置手势监听 3. 将touch事件交给gesture...

王先森oO ⋅ 27分钟前 ⋅ 0

java 方法的执行时间监控 设置超时(Future 接口)

java 方法的执行时间监控 设置超时(Future 接口) import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor......

青峰Jun19er ⋅ 32分钟前 ⋅ 0

一名开源小白的Apache成长自述

今天收到了来自Apache Vote我成为Serviceomb项目Committer的邮件,代表自己的贡献得到了充分的肯定;除了感谢团队的给力支持,我更希望将自己的成长经历——如何践行Apache Way的心得介绍给大...

微服务框架 ⋅ 34分钟前 ⋅ 0

vim介绍、颜色显示和移动光标、一般模式下复制、剪切和粘贴

1.vim 是 vi 的升级版 vim 是带有颜色显示的 mini安装的系统,一般都不带有vim [root@aminglinux-128 ~]# yum install -y vim-enhanced已加载插件:fastestmirror, langpacksLoading mir...

oschina130111 ⋅ 34分钟前 ⋅ 0

Deepin 操作系统四面楚歌

作为国内做的最好的 Linux 发行版,源自 Debian sid 的 Deepin 目前正面临重重困境,新版本不断延期,开发人员离职,bug 长期得不到修复,和 Debian/Ubuntu 的兼容性问题也面临越来越严重的挑...

六库科技 ⋅ 35分钟前 ⋅ 0

MyBatis之动态sql

我们需要知道的是,使用mybatis重点是对sql的灵活解析和处理。在原先的UserMappser.xml中,我们这样查询表中满足条件的记录 : 123 <select id="findUserList" parameterType="userQuery...

瑟青豆 ⋅ 35分钟前 ⋅ 0

这届俄罗斯世界杯的冷门那么多怎么办?

最纯粹的世界杯,最神奇的大冷门。 德国0比1被墨西哥摩擦了。 日本历史性的赢了哥伦比亚。 C罗也挑平了西班牙。 梅西被冰岛狮吼吼愣神了。 就连11次进世界杯4强的巴西也被瑞士逼平了。 天台已...

开源中国众包平台 ⋅ 36分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部