关闭

ceph

193人阅读 评论(0) 收藏 举报
分类:

Ceph官网 more

1.基本需求-硬件配置

   cpu

    detail

2.简单介绍:

Ceph 最近加入到 Linux 中文件系统备选行列,它是一个分布式文件系统,能够在维护 POSIX 兼容性的同时加入了复制和容错功能。 

Ceph 生态系统架构可以划分为四部分:

1. Clients:客户端(数据用户)

2. cmds:Metadata server cluster,元数据服务器(缓存和同步分布式元数据)

3. cosd:Object storage cluster,对象存储集群(将数据和元数据作为对象存储,执行其他关键职能)

4. cmon:Cluster monitors,集群监视器(执行监视功能)

                                                     --百科

3.概念架构:

   ceph.jpg

 4.ceph发展介绍

 基于saig的一篇博士论文,实现RADOS(reliable,automouse distributed object storage)对象存储层。最初的主要目标是发展cephfs,之后向云计算靠拢,实现了块存储RBD和对象存储RADOSGW,并且基本废弃fs,后被Redhat收购。关于fs,Redhat推荐自家旗下的glusterfs。 detail

 4.1 ceph 故障恢复

   作为强一致存储系统 ....(ceph一致性是强一致性)

    link 

总的来说,Ceph 的恢复模块设计原则是在保证数据强一致性的前提下,尽量细化恢复过程来提高数据可用性(请求能得到及时处理),这个细化过程势必带来了极大的复杂性,因此恢复模块实际上也是 Ceph 最复杂的设计之一,值得存储系统领域的开发者借鉴。


5.块存储发展

介绍了目前比较流行的主流块存储系统

https://www.ustack.com/blog/block-storage-overview/


6.在国内公司的使用

1. 携程

2. 盛大云

3. UnitedStack 

4. 乐视云

5. 宝德云(PLCloud)

比较知名(喜欢分享一些经验)的大概就上面这些了

https://www.zhihu.com/question/39706598

7.Optimization

http://xiaoquqi.github.io/blog/2015/06/28/ceph-performance-optimization-summary/

(Optimised parameters)https://www.ustack.com/wp-content/uploads/2015/05/IaaS%E4%B8%AD%E7%9A%84%E7%BB%9F%E4%B8%80%E5%AD%98%E5%82%A8%EF%BC%9A%E4%BB%8E%E8%AE%BE%E8%AE%A1%E5%88%B0%E5%AE%9E%E8%B7%B5.pdf

 

1、集群

   Ceph Node leverages commodity hardware and intelligent daemons, and a Ceph Storage Clusteraccommodates large numbers of nodes, which communicate with each other to replicate and redistribute data dynamically.

大量机器,提供复制与数据动态分布功能

stack.png

  ceph存储系统基于USCS叫兽论文实现

2、性能


3、benchmark(专用术语,基准问题测试

网上介绍的ceph的benchmark测试方案,detail 

4、ceph placement group pg


            (《ceph源码分析》)

---------------Over--------------------


测试环境

搭建测试环境

准备

a)先要做一些环境相关的设置 ,详见官网 准备 

b)请完全参考 官网中文文档  来进行,以下作为参考

c)大规模集群安装osd时候需准备的,link

d)内核版本也有要求,不同的ceph版本对应不同的linux内核参见  

1)下载安装ceph-deploy

 安装cepy-deploy脚本:  

国内镜像加速
Ubuntu:
export CEPH_DEPLOY_REPO_URL=
http://mirrors.163.com/ceph/debian-jewel export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc ... 原文: link

2)安装ntp,并且设置ntp server,保证时钟同步(生产环境必须,测试环境optional)

  生产环境中需要使用ntp服务来保证时钟同步  :   
   sudo apt-get install ntp
  http://blog.kissdata.com/2014/10/28/ubuntu-ntp.html

3)安装ssh服务器

4)创建ceph用户(可选,但是要求用户拥有sudu权限)

ssh user@ceph-server
sudo useradd -d /home/ceph -m ceph
sudo passwd ceph
echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph
sudo chmod 0440 /etc/sudoers.d/ceph

5)允许安装节点与其他节点可ssh无密码登录

ssh免密登录脚本参考:

sshcon(){

  ssh-keygen 

  

  for ip in $clusterips

  do

    ssh-copy-id $ip

  done 

}  

if [ -z "$clusterips" ];then

   ssh-keygen

   clusterips="192.168.10.2 192.168.10.5 192.168.10.6"

   sshcon

fi

6)开放端口

...

注意事项:

1)默认配置中ceph要求所在磁盘剩余空间不小于 5%,否则会出现安装失败。参见/var/log/upstart/ceph-xxx

2)使用主机名作为ceph节点名,如果主机名与节点名不一致也会导致monmap无法关联主机,e.g :

[test-2][DEBUG ] determining if provided host has same hostname in remote

[test-2][DEBUG ] get remote short hostname

[test-2][DEBUG ] deploying mon to test-2

[test-2][DEBUG ] get remote short hostname

[test-2][DEBUG ] remote hostname: test-2

3)如果需要搭建的是大规模集群,那么需要看下ceph官网推荐的硬件要求 detail

Tip  不顾分区而在单个硬盘上运行多个OSD,这样不明智

Tip 不顾分区而在运行了OSD的硬盘上同时运行监视器或元数据服务器也不明智! (ps 这大概也适用于glfs,适当的分区

4)内核版本问题

      ceph不同的发布版对于Linux内核会有一定的要求,比如最新版本的ceph一般会要求内核在3.14 (above)

       uname -r   (看看你的内核,是不是落后很多了呢?)

    推荐内核版本  detail  

    傻傻的不按照内核对应版本安装后出现rdb map 失败的情况 ,Feature Set Mismatch  error




安装ceph集群


安装 Ceph:

export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/debian-jewel

export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

ceph-deploy install node-1 node-2 node-3 node-4

。。。。。。。(省略)


注意:添加网络地址的时候

Even if are using just one network, add a public network declaration on the ceph-deploy node conf file (e.g., /etc/ceph/ceph.conf), it will solve the problem:

public_network = 10.240.0.0/16


测试环境安装情况

test-2(10.2)   admin  mon  (作为安装时控制节点、监控节点)

test-3(10.13)  osd0 (使用目录/var/local/osd0作为存储目录,为了避免disk full的问题,换成了 /data01/ceph/osd0)

ppe-1(10.5)   osd1  (使用目录/var/local/osd1作为存储目录。。。。/data01/ceph/osd1)

(生产环境一般官网推荐使用ssd作为journal日志盘,加快读写,而且ceph采用类似数据库的强一致性,需要写事务日志作为一致性保证。)


ceph-deploy osd prepare test-3:/data01/ceph/osd0 ppe-1:/data01/ceph//osd1

ceph-deploy osd activate test-3:/data01/ceph/osd0 ppe-1:/data01/ceph/osd1

ceph-deploy admin test-2 test-3 ppe-1
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
ceph health

扩展集群

(官网建议3台monitor,3+台osd,mon 和osd分离)

测试环境

1、对mon节点下手,test-2,在mon节点上创建osd。mkdir  /data01/ceph/osd2

2、初始化osd

ceph-deploy osd prepare test-2:/data01/ceph/osd2

3、激活osd

ceph-deploy osd activate test-2:/data01/ceph/osd2

MDZZ 又是由于磁盘空间不足,直接把健康检查服务shutdown了。。。。这该死的软件,这样怎么用啊,蛋疼。

 362fc700 --1 mon.test-2@0(leader).data_health(4) reached critical levels of available space on local monitor storage -- shutdown!

2017-01-06 16:53:40.095798 7f37362fc700  0 ** Shutdown via Data Health Service **

 直接关闭默写daemon进程,清理磁盘然后重启。。

集群管理

如何启动/停止集群,如何对于单个组件mon、osd启动/停止/删除等操作,详情参见 link  


常用ceph操作  detail 

 rados mkpool test      创建一个test 池(pool)


安装过程中产生的问题:

参考: QA


Tip

 

关于 Ceph 的高品质博客文章也值得参考,比如 Ceph Write Throughput 1 、 Ceph Write Throughput 2 、 Argonaut v. Bobtail Performance Preview 、 Bobtail Performance - I/O Scheduler Comparison 。




官网中文文档 

网上安装步骤


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:52608次
    • 积分:1300
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:50篇
    • 译文:11篇
    • 评论:5条
    文章分类
    最新评论