1安装部署ceph0,文件系统的安装

centos7.1安装部署ceph0.94

一:CEPH简介

二:ceph集群硬件的选择

三:集群安装配置环境介绍

1:系统:

more /etc/redhat-release

CentOS Linux release 7.1.1503 (Core)

2:内核:

uname -a

Linux localhost.localdomain 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6
11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

3:ceph版本:

ceph -v

ceph version 0.94.3

4:集群服务部署分配:

主机名 运 行 服 务

ceph-deploy ceph-deploy

node241 mon osd

node242 mds osd

node243 osd

5:IP对应主机名

192.168.2.40 ceph-deploy

192.168.2.41 node241

192.168.2.42 node242

192.168.2.43 node243

四:集群主机系统配置准备

所有 Ceph 集群节点采用 CentOS 7.1
版本(CentOS-7-x86_64-Minimal-1503-01.iso),所有文件系统采用 Ceph
官方推荐的 xfs,

所有节点的操作系统都装在 RAID1 上,其他的硬盘单独用,不做任何 RAID.

安装完 CentOS 后我们需要在每个节点上(包括 ceph-deploy)做以下配置:

1:规范系统主机名;

centos使用以下命令:

hostnamectl set-hostname 主机名

2:添加hosts文件实现集群主机名与主机名之间相互能够解析(host
文件添加主机名不要使用fqdn方式)

[[email protected]
ceph]# more /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4
localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.2.40 ceph-deploy

192.168.2.41 node241

192.168.2.42 node242

192.168.2.43 node243

3:每台 ssh-copy-id 完成这些服务器之间免ssh密码登录;

ssh-copy-id node###

4:关闭防火墙或者开放 6789/6800~6900端口、关闭SELINUX;

#关闭 SELINUX

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config

setenforce 0

#修改SELINUX模式

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/sysconfig/selinux

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config

#打开 Ceph 需要的端口

firewall-cmd –zone=public –add-port=6789/tcp –permanent

firewall-cmd –zone=public –add-port=6800-7100/tcp –permanent

firewall-cmd –reload

systemctl stop firewalld.server

5:配置ntp服务,开启时间服务,保证集群服务器时间统一;

安装 ntp 同步时间

yum -y install ntp ntpdate ntp-doc

ntpdate 0.us.pool.ntp.org

hwclock –systohc

systemctl enable ntpd.service

systemctl start ntpd.service

或者添加crontab ,执行自动时间同步;

[[email protected]
yum.repos.d]# more /etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

# .—————- minute (0 – 59)

# | .————- hour (0 – 23)

# | | .———- day of month (1 – 31)

# | | | .——- month (1 – 12) OR jan,feb,mar,apr …

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR
sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

20 */1 * * * root ntpdate s1a.time.edu.cn && –systohc

6:系统优化类

#set max user processes

sed -i ‘s/4096/102400/’ /etc/security/limits.d/20-nproc.conf

#set ulimit

cat /etc/rc.local | grep “ulimit -SHn 102400” || echo “ulimit -SHn
102400” >> /etc/rc.local

#修改最大打开文件句柄数

cat /etc/security/limits.conf | grep “^* – sigpending 256612” ||

cat >>/etc/security/limits.conf<<EOF

* soft nofile 102400

* hard nofile 102400

* soft nproc 102400

* hard nproc 102400

* – sigpending 256612

EOF

五:软件基础包初始化:

1:安装 EPEL 软件源:

rpm -Uvh

yum -y update

yum -y upgrade

2:常用软件包、常用工具等(非必须、推荐安装)

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng
libpng-devel freetype freetype-devel libxml2 libxml2-devel \

zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel
zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs \

e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh
openssl-devel nss_ldap openldap openldap-devel openldap-clients \

openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison
libtool vim-enhanced python wget lsof iptraf strace lrzsz \

kernel-devel kernel-headers pam-devel Tcl/Tk cmake ncurses-devel bison
setuptool popt-devel net-snmp screen perl-devel \

pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo
idconfig git system-config-network-tui bind-utils update \

arpscan tmux elinks numactl iftop bwm-ng

3:提前填坑,根据以往配置部署经验,安装配置部署过程中会有不断报错,部分是因为个别依赖软件包没有安装导致,提前安装避免不必要的错误;

centos6.x 系统配置时总结提炼池的方法,centos7.X
版本系统没有没有安装,也顺利完成集群配置,在配置过程中如果提示缺少软件包可以考虑安装。

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
[email protected]$ip
yum install *argparse* redhat-lsb xfs* -y;done

3:安装部署主机(ceph-deploy)安装环境准备

4:为所有集群主机创建一个 ceph
工作目录,以后的操作都在这个目录下面进行:

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
[email protected]$ip
mkdir -p /etc/ceph ;done

5:建立主机列表

vim /workspace/ceph/cephlist.txt

192.168.2.40 ceph-deploy

192.168.2.41 node241

192.168.2.42 node242

192.168.2.43 node243

6:传输key、hosts文件到其它节点服务器

–delete 删除那些DST中SRC没有的文件

#同步key文件

for ip in $(cat /workspace/ceph/cephlist.txt);do echo
—–$ip—–;rsync -avp –delete /root/.ssh/* $ip:/root/.ssh/;done

#同步hosts文件

for ip in $(cat /workspace/ceph/cephlist.txt);do echo
—–$ip—–;rsync -avp –delete /etc/hosts $ip:/etc/;done

#测试主机名解析

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
$ip ping -c3 ceph-deploy;done

六:ceph-deploy安装配置

###########################cephdeploy节点执行,在/etc/ceph/目录下面进行#################################################

1:安装ceph-deploy

cd /etc/ceph/

yum install ceph-deploy -y

2:初始化集群,告诉 ceph-deploy 哪些节点是监控节点,命令成功执行后会在
ceps-cluster 目录下生成 ceph.conf, ceph.log, ceph.mon.keyring
等相关文件:

ceph-deploy new node241 node242 node243

3:传输key 配置文件到其它节点服务器

for ip in $(cat /workspace/ceph/cephlist.txt);do echo
—–$ip—–;rsync -avp –delete /etc/ceph $ip:/etc/;done

验证:

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
[email protected]$ip
ls /etc/ceph/ ;done

七: 创建mon节点:

#######################集群服务部署分配#######################

主机名 运 行 服 务

ceph-deploy ceph-deploy

node241 mon osd

node242 mds osd

node243 osd

1:在安装部署节使用ceph-deploy创建,生成MON信息:

命令格式:

cd /etc/ceph/

ceph-deploy new node241

执行成功后该目录下会增加三个文件

[[email protected]
ceph]# ll

total 16

-rw-r–r– 1 root root 229 Aug 28 14:30 ceph.conf

-rw-r–r– 1 root root 5878 Aug 28 14:30 ceph.log

-rw——- 1 root root 73 Aug 28 14:30 ceph.mon.keyring

2:安装部署集群软件包:

在所有节点安装ceph软件包 ceph-deploy
install{ceph-node}[{ceph-node}…]

(注:如果已经用yum在每台机器上安装了ceph,这步可省略)

ceph-deploy install node241 node242 node243

3:添加初始monitor节点和收集秘钥 ceph-deploy mon create-initial {node}

ceph-deploy mon create-initial

4:收集密钥

ceph-deploy gatherkeys node241

在本地目录下可看到如下密钥环文件:

  1. {cluster-name}.client.admin.keyring

  2. {cluster-name}.bootstrap-osd.keyring

  3. {cluster-name}.bootstrap-mds.keyring

5:传输key 配置文件到其它节点服务器

for ip in $(cat /workspace/ceph/cephlist.txt);do echo
—–$ip—–;rsync -avp –delete /etc/ceph $ip:/etc/;done

–delete 删除那些DST中SRC没有的文件

至此mon节点配置基本告一段落;

6:验证集群mon节点安装成功

[[email protected]
ceph]# ceph -s

cluster 3adc4d9d-587e-424f-ab67-dd4d50493782

health HEALTH_ERR

64 pgs stuck inactive

64 pgs stuck unclean

no osds

monmap e1: 1 mons at {node241=192.168.2.41:6789/0}

election epoch 2, quorum 0 node241

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

7:登录mon节点查看进程已启动

ps -ef|grep ceph

[[email protected]
ceph]# ps -ef|grep ceph

root 7087 1 0 15:04 ? 00:00:00 /bin/bash -c ulimit -n 32768;
/usr/bin/ceph-mon -i node241 –pid-file /var/run/ceph/mon.node241.pid -c
/etc/ceph/ceph.conf –cluster ceph -f

root 7097 7087 0 15:04 ? 00:00:00 /usr/bin/ceph-mon -i node241
–pid-file /var/run/ceph/mon.node241.pid -c /etc/ceph/ceph.conf
–cluster ceph -f

root 9179 5080 0 16:59 pts/0 00:00:00 grep –color=auto ceph

八:安装集群osd服务

1:执行osd初始化命令

每台有1块磁盘,为 /dev/sdb

查看一下 Ceph 存储节点的硬盘情况:

ceph-deploy disk list node241 node242 node243

兴發国际娱乐手机登录,初始化 Ceph 硬盘,然后创建 osd
存储节点,(执行此步骤,osd自动激活了,不用执行激活操作);

for ip in $(cat /workspace/ceph/cephlist.txt);do echo
—-$ip———–;ceph-deploy –overwrite-conf osd prepare
$ip:/dev/sdb;done

2:验证:

root 13531 2 0 21:32 ? 00:00:00 [xfsaild/sdb1]

root 13844 1 0 21:32 ? 00:00:00 /bin/bash -c ulimit -n 32768;
/usr/bin/ceph-osd -i 0 –pid-file /var/run/ceph/osd.0.pid -c /etc/ceph/

root 13848 13844 1 21:32 ? 00:00:00 /usr/bin/ceph-osd -i 0 –pid-file
/var/run/ceph/osd.0.pid -c /etc/ceph/ceph.conf –cluster ceph -f

[[email protected]
ceph]# ceph osd tree

ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY

-1 0.26999 root default

-2 0.09000 host node241

0 0.09000 osd.0 up 1.00000 1.00000

-3 0.09000 host node242

1 0.09000 osd.1 up 1.00000 1.00000

-4 0.09000 host node243

2 0.09000 osd.2 up 1.00000 1.00000

[[email protected]
ceph]# ceph-disk activate-all

=== osd.0 ===

Starting Ceph osd.0 on node241…already running

[[email protected]
ceph]# ceph health

HEALTH_OK

lsblk看一下,如果sdk sdl是挂载在/var/lib/ceph/osd/ceph-0
ceph上,#没有问题

[[email protected]
ceph]# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 50G 0 disk

├─sda1 8:1 0 500M 0 part /boot

├─sda2 8:2 0 2G 0 part [SWAP]

└─sda3 8:3 0 47.5G 0 part /

sdb 8:16 0 100G 0 disk

├─sdb1 8:17 0 95G 0 part /var/lib/ceph/osd/ceph-0

└─sdb2 8:18 0 5G 0 part

sr0 11:0 1 1024M 0 rom

3:最后,我们把生成的配置文件从 ceph-deploy
同步部署到其他几个节点,使得每个节点的 ceph 配置一致:

ceph-deploy –overwrite-conf admin ceph-deploy node241 node242 node243

九:安装部署mds服务

1:添加元数据服务器

cd /etc/ceph

ceph-deploy –overwrite-conf mds create node242

命令顺利执行完成,无报错为oK

2:状态查看。还没有创建时候的状态。

对于一个刚创建的MDS服务,虽然服务是运行的,但是它的状态直到创建 pools
以及文件系统的时候才会变为Active.

[[email protected]
ceph]# ceph mds stat

e1: 0/0/0 up

[[email protected]
ceph]# ceph mds stat

e1: 0/0/0 up

[[email protected]
ceph]# ceph mds dump

dumped mdsmap epoch 1

。。。。。。。。。。。。。。。。。

modified 2015-08-28 15:04:31.857259

。。。。。。。。。。。。。。。。

compat compat={},rocompat={},incompat={}

…………………………..

data_pools

metadata_pool 0

inline_data disabled

3:通过下面的操作创建Filesystem

[[email protected]
ceph]# ceph osd pool create cephfs_data 10

pool ‘cephfs_data’ created

[[email protected]
ceph]# ceph osd pool create cephfs_metadata 10

pool ‘cephfs_metadata’ created

[[email protected]
ceph]# ceph fs new leadorfs cephfs_metadata cephfs_data

new fs with metadata pool 2 and data pool 1

[[email protected]
ceph]#

4:成功创建后,mds stat的状态如下

[[email protected]
ceph]# ceph mds stat

e5: 1/1/1 up {0=node242=up:active}

[[email protected]
ceph]# ceph mds dump

dumped mdsmap epoch 5

。。。。。。。。。。。。。。。。。。。。

created 2015-08-28 22:04:05.252797

modified 2015-08-28 22:04:09.322223

…………………………..

session_timeout 60

session_autoclose 300

max_file_size 1099511627776

last_failure 0

last_failure_osd_epoch 0

compat compat={},rocompat={},incompat={1=base v0.20,2=client writeable
ranges,3=default file layouts on dirs,4=dir inode in separate
object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no
anchor table}

max_mds 1

。。。。。。。。。。。。。。。

data_pools 1

metadata_pool 2

inline_data disabled

4132: 192.168.2.42:6804/13556 ‘node242’ mds.0.1 up:active seq 68

5:ceph集群的状态,pg的数量以及pool的数量都得到了对应的增加

[[email protected]
ceph]# ceph -s

cluster 3adc4d9d-587e-424f-ab67-dd4d50493782

health HEALTH_OK

monmap e1: 1 mons at {node241=192.168.2.41:6789/0}

election epoch 2, quorum 0 node241

mdsmap e5: 1/1/1 up {0=node242=up:active}

osdmap e18: 3 osds: 3 up, 3 in

pgmap v30: 84 pgs, 3 pools, 1962 bytes data, 20 objects

101 MB used, 284 GB / 284 GB avail

84 active+clean

十:扩展集群

1:增加一个OSD

在你的ceph-deloy节点上,准备OSD。

ceph-deploy osd prepare {ceph-node}:/path/to/directory

ceph-deploy osd prepare ceph-node1:/tmp/osd2

最后,激活OSD。

ceph-deploy osd activate {ceph-node}:/path/to/directory

ceph-deploy osd activate ceph-node1:/tmp/osd2

一旦你增加新的OSD,Ceph将会迁移已有的放置置到新的OSD上以达到集群的重新平衡,你可通过ceph命令界面观察这个过程。

你将会看到PG状态由活跃且干净状态变成活跃态,其中存在部分降级对象。当迁移完成后,将再次返回活跃且干净状态。(可按Control+c组合键退出)

ceph -w

2:增加一个mds服务器

为了使用CephFS文件系统,你需要至少一台元数据服务器。执行如下步骤以创建一台元数据服务器。

ceph-deploy mds create {ceph-node}

ceph-deploy mds create ceph-node1

注意:当前Ceph产品中仅支持运行一个元数据服务器。你可尝试在一个集群中运行多个元数据服务器,但对此尚无商业支持。

3:增加mon节点

一个Ceph存储集群至少需要一台Ceph监视器。为了保证高可用性,Ceph存储集群中通常会运行多个Ceph监视器,任意单台Ceph监视器的宕机都不会影响整个Ceph存储集群正常工作。由于Ceph使用Paxos算法,这需要多个Ceph监视器组成Quoram(如1,2:3,3:4,3:5,4:6等)。

向你的集群增加2台Ceph监视器。

ceph-deploy mon create {ceph-node}

ceph-deploy mon create ceph-node2 ceph-node3

当你增加Ceph监视器后,Ceph将开始同步各监视器并形成Quoram。你可通过如下方式检查Quoram状态:

ceph quorum_status

或者

ceph quorum_status –format json-pretty

Ceph提供了3种使用场景:

1、分布式文件系统CephFS。

多个客户端mount
CephFS到本地,CephFS遵循POSIX接口,使用体验类似于ext4等本地文件系统。

类似于其他分布式文件系统,各个CephFS客户端共享同一命名空间。

2、RadosGW(rgw)对象存储。

rgw使用场景类似于Amazon S3,据个人理解也类似于七牛云存储。

3、块设备rbd(Rados Block Device)。

Ceph提供虚拟的rbd块设备,用户像使用SATA盘那样的物理块设备一样使用rbd。

rbd的使用是排他的,每个rbd块设备是用户私有的,相对的,CephFS的使用方式是共享的。

虚拟化和云计算的发展正当盛年,IaaS结合rbd块设备这一使用方式有如干柴遇烈火,因此rbd是Ceph社区开发的重心之一。本文也主要从rbd的视角来了解Ceph。

十一:配置清理

##################以下操作在ceph-deploy节点操作:###########

部署过程中如果出现任何奇怪的问题无法解决,可以简单的删除一切从头再来:

sudo stop ceph-all 停止所有ceph进程

ceph-deploy uninstall [{ceph-node}] 卸载所有ceph程序

ceph-deploy purge [[ceph-node} [{ceph-node}] 删除ceph相关的包

ceph-deploy purgedata {ceph-node} [{ceph-node}] 删除ceph相关的包

ceph-deploy forgetkeys 删除key

另外清理一下配置文件,重建一下安装配置目录

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
[email protected]$ip
rm -rf /etc/ceph/* ;done

for ip in $(cat /workspace/ceph/cephlist.txt);do echo —–$ip—–;ssh
[email protected]$ip
mkdir -p /etc/ceph ;done

###############################################################

十二:故障排查:

健康状态检查

ceph health

有告警信息如下:

# ceph health

HEALTH_WARN too few PGs per OSD (10 < min 30)

增加 PG 数目,根据 Total PGs = (#OSDs * 100) / pool size 公式来决定
pg_num(pgp_num 应该设成和 pg_num 一样),所以 20*100/2=1000,Ceph
官方推荐取最接近2的指数倍,所以选择 1024。

如果顺利的话,就应该可以看到 HEALTH_OK 了:

# ceph osd pool set rbd size 2

set pool 0 size to 2

# ceph osd pool set rbd min_size 2

set pool 0 min_size to 2

# ceph osd pool set rbd pg_num 1024

set pool 0 pg_num to 1024

# ceph osd pool set rbd pgp_num 1024

set pool 0 pgp_num to 1024

# ceph health

HEALTH_OK

参考文档

一:CEPH简介
二:ceph集群硬件的选择
三…

CentOS7安装Ceph

1、安装环境

|—–node1(mon,osd) sda为系统盘,sdb和sdc为osd盘

|

|—–node2(mon,osd) sda为系统盘,sdb和sdc为osd盘

admin—–|

|—–node3(mon,osd) sda为系统盘,sdb和sdc为osd盘

|

|—–client

Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300
这个范围内的端口通信

2、准备工作(所有节点)

2.1、修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-em1

IPADDR=192.168.130.205

NETMASK=255.255.255.0

GATEWAY=192.168.130.2

2.2、关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd –state #查看防火墙状态

2.3、修改yum源

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bk

wget

yum makecache

2.4、修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

yum -y install ntp

systemctl enable ntpd

systemctl start ntpd

ntpstat

2.5、修改hosts

vim /etc/hosts

192.168.130.205 admin

192.168.130.204 client

192.168.130.203 node3

192.168.130.202 node2

192.168.130.201 node1

2.6、安装epel仓库、添加yum ceph仓库、更新软件库

安装epel仓库

rpm -vih

添加yum ceph仓库

vim /etc/yum.repos.d/ceph.repo

[ceph]

name=Ceph noarch packages

baseurl=

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=

2.7、安装ceph-deploy,ceph(ceph所有节点都安装,ceph-deploy只需admin节点安装)

yum -y update && yum -y install –release hammer ceph ceph-deploy

3、允许无密码 SSH 登录(admin节点)

3.1、生成SSH密钥对,提示 “Enter passphrase” 时,直接回车,口令即为空:

ssh-keygen

3.2、把公钥拷贝至所有节点

ssh-copy-id
[email protected]

ssh-copy-id
[email protected]

ssh-copy-id
[email protected]

ssh-copy-id
[email protected]

3.3、验证是否可以无密码SSH登录

ssh node1

ssh node2

ssh node3

ssh client

4、创建Monitor(admin节点)

4.1、在node1、node2、node3上创建monitor

mkdir myceph

cd myceph

ceph-deploy new node1 node2 node3

4.2、修改osd的副本数,将osd pool default size = 2添加至末尾

vim /etc/ceph.conf

osd pool default size = 2

4.3、配置初始 monitor(s)、并收集所有密钥

ceph-deploy mon create-initial

5、创建OSD(admin节点)

5.1列举磁盘

ceph-deploy disk list node1

ceph-deploy disk list node2

5.2、擦净磁盘

ceph-deploy disk zap node1:sdb

ceph-deploy disk zap node1:sdc

ceph-deploy disk zap node2:sdb

ceph-deploy disk zap node2:sdc

ceph-deploy disk zap node3:sdb

ceph-deploy disk zap node3:sdc

5.3、准备OSD

ceph-deploy osd prepare node1:sdb

ceph-deploy osd prepare node1:sdc

ceph-deploy osd prepare node2:sdb

ceph-deploy osd prepare node2:sdc

ceph-deploy osd prepare node3:sdb

ceph-deploy osd prepare node3:sdc

ceph-deploy osd activate node1:sdb1

ceph-deploy osd activate node1:sdc1

ceph-deploy osd activate node2:sdb1

ceph-deploy osd activate node2:sdc1

ceph-deploy osd activate node3:sdb1

ceph-deploy osd activate node3:sdc1

5.4、删除OSD

ceph osd out osd.3

ssh node1 service ceph stop osd.3

ceph osd crush remove osd.3

ceph auth del osd.3 //从认证中删除

ceph osd rm 3 //删除

5.5、把配置文件和 admin 密钥拷贝到各节点,这样每次执行 Ceph
命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring

ceph-deploy admin admin node1 node2 node3

5.6、查看集群健康状况

ceph health

6、配置块设备(client节点)

6.1、创建映像

rbd create foo –size 4096 [-m {mon-IP}] [-k
/path/to/ceph.client.admin.keyring]

rbd create foo –size 4096 -m node1 -k
/etc/ceph/ceph.client.admin.keyring

6.2、将映像映射为块设备

sudo rbd map foo –name client.admin [-m {mon-IP}] [-k
/path/to/ceph.client.admin.keyring]

sudo rbd map foo –name client.admin -m node1 -k
/etc/ceph/ceph.client.admin.keyring

6.3、创建文件系统

sudo mkfs.ext4 -m0 /dev/rbd/rbd/foo

6.4、挂载文件系统

sudo mkdir /mnt/ceph-block-device

sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device

cd /mnt/ceph-block-device

1、列出存储池

ceph osd lspools

2、创建存储池

ceph osd pool create pool-name pg-num pgp-num

ceph osd pool create test 512 512

3、删除存储池

ceph osd pool delete test test –yes-i-really-really-mean-it

4、重命名存储池

ceph osd pool rename current-pool-name new-pool-name

ceph osd pool rename test test2

5、查看存储池统计信息

rados df

6、调整存储池选项值

ceph osd pool set test size 3 设置对象副本数

7、获取存储池选项值

ceph osd pool get test size 获取对象副本数

1、创建块设备映像

rbd create –size {megabytes} {pool-name}/{image-name}

rbd create –size 1024 test/foo

2、罗列块设备映像

rbd ls

3、检索映像信息

rbd info {image-name}

rbd info foo

rbd info {pool-name}/{image-name}

rbd info test/foo

4、调整块设备映像大小

rbd resize –size 512 test/foo –allow-shrink 调小

rbd resize –size 4096 test/foo 调大

5、删除块设备

rbd rm test/foo

内核模块操作

1、映射块设备

sudo rbd map {pool-name}/{image-name} –id {user-name}

sudo rbd map test/foo2 –id admin

如若启用cephx认证,还需指定密钥

sudo rbd map test/foo2 –id admin –keyring
/etc/ceph/ceph.client.admin.keyring

2、查看已映射设备

rbd showmapped

3、取消块设备映射

sudo rbd unmap /dev/rbd/{poolname}/{imagename}

rbd unmap /dev/rbd/test/foo2

1、安装环境 |—–node1(mon,osd)
sda为系统盘,sdb和sdc为osd盘 | |—–node2(mon,osd)
sda为系统盘,sdb和sdc为osd盘 admin—–| |—–node3(mon…

Ceph 文件系统的安装

Ceph 文件系统的安装

yum install -y wget
wget

tar zxvf pip-1.5.6.tar.gz
cd pip-1.5.6
python setup.py build
python setup.py install
ssh-keygen

#################################
#echo “ceph-admin” >/etc/hostname
#echo “ceph-node1” >/etc/hostname
#echo “ceph-node2” >/etc/hostname
#echo “ceph-node3” >/etc/hostname
#reboot
#################################

cat >/etc/hosts<<EOF
192.168.55.185 ceph-admin
192.168.55.186 ceph-node1
192.168.55.187 ceph-node2
192.168.55.188 ceph-node3
EOF

ssh-copy-id
[email protected]
&& sh-copy-id
[email protected]
&& ssh-copy-id
[email protected]

ssh
[email protected]
systemctl stop firewalld && setenforce 0
ssh
[email protected]
systemctl stop firewalld && setenforce 0
ssh
[email protected]
systemctl stop firewalld && setenforce 0

cat >/root/.ssh/config<<EOF
Host ceph-node1
  Hostname ceph-node1
  User root
Host ceph-node2
  Hostname ceph-node2
  User root
Host ceph-node3
  Hostname ceph-node3
  User root
EOF

 

mkdir ~/my-cluster
cd ~/my-cluster
pip install ceph-deploy

ceph-deploy new ceph-node1 ceph-node2 ceph-node3
ceph-deploy install ceph-node1 ceph-node2 ceph-node3
ceph-deploy mon create-initial
ceph-deploy mon create ceph-node1 ceph-node2 ceph-node3
ceph-deploy gatherkeys ceph-node1 ceph-node2 ceph-node3

############################################################################
## ceph-deploy –overwrite-conf mon create ceph-node1 ceph-node2
ceph-node3#
############################################################################

#mkfs.xfs /dev/sdb
#mount /dev/sdb /opt/ceph/

ssh
[email protected]
mkdir /opt/ceph
ssh
[email protected]
mkdir /opt/ceph
ssh
[email protected]
mkdir /opt/ceph
   
ceph-deploy osd prepare ceph-node1:/opt/ceph ceph-node2:/opt/ceph
ceph-node3:/opt/ceph
ceph-deploy osd activate ceph-node1:/opt/ceph ceph-node2:/opt/ceph
ceph-node3:/opt/ceph

#添加metadata节点
ceph-deploy mds create ceph-node1

###############################################################
#分发key文件
#ceph-deploy admin ceph-admin ceph-node1 ceph-node2 ceph-node3
###############################################################
#集群检查
ceph health
ceph -s
ceph -w
ceph quorum_status –format json-pretty

#客户端挂载
yum install -y ceph-fuse
mkdir /mnt/ceph

[[email protected]
~]# ceph osd pool create metadata 256 256
[[email protected]
~]# ceph osd pool create data 256 256
[[email protected]
~]# ceph fs new filesystemNew metadata data

[[email protected]
ceph]# ceph fs ls
name: filesystemNew, metadata pool: metadata, data pools: [data ]

[[email protected]
ceph]# ceph mds stat
e5: 1/1/1 up {0=ceph-node1=up:active}

ceph-fuse -m 192.168.55.186:6789 /mnt/ceph

####end####

#添加osd节点
ssh ceph-node1
sudo mkdir /var/local/osd2
exit
[[email protected]
my-cluster]# ceph-deploy osd prepare ceph-node1:/var/local/osd2
[[email protected]
my-cluster]# ceph-deploy osd activate ceph-node1:/var/local/osd2
[[email protected]
my-cluster]# ceph -w
[[email protected]
my-cluster]# ceph -s
    cluster 8f7a79b6-ab8d-40c7-abfa-6e6e23d9a26d
    health HEALTH_OK
    monmap e1: 1 mons at {ceph-node1=192.168.55.186:6789/0}, election
epoch 2, quorum 0 ceph-node1
    osdmap e13: 3 osds: 3 up, 3 in
      pgmap v38: 64 pgs, 1 pools, 0 bytes data, 0 objects
MB used, 35153 MB / 53754 MB avail
active+clean         

#添加monitors节点
[[email protected]
my-cluster]# ceph-deploy new ceph-node2 ceph-node3
[[email protected]
my-cluster]# ceph-deploy mon create-initial
[[email protected]
my-cluster]# ceph-deploy –overwrite-conf mon create ceph-node2
ceph-node3

————————————–分割线
————————————– 

Ceph环境配置文档 PDF  

CentOS 6.3上部署Ceph  

Ceph的安装过程  

HOWTO Install Ceph On FC12, FC上安装Ceph分布式文件系统  

Ceph 文件系统安装  

CentOS 6.2 64位上安装Ceph 0.47.2  

Ubuntu 12.04 Ceph分布式文件系统  

Fedora 14上安装 Ceph 0.24  

发表评论

电子邮件地址不会被公开。 必填项已用*标注