设为首页 收藏本站
查看: 931|回复: 0

[经验分享] Ceph分布式存储(一)

[复制链接]

尚未签到

发表于 2019-2-1 14:12:53 | 显示全部楼层 |阅读模式
Ceph分布式存储(一)
  一、概述
Ceph是可靠的、可扩展的、统一的、分布式的存储系统。可以同时提供对象存储RADOSGW(Reliable、Autonomic、Distributed、Object  Storage Gateway)、块存储RBD(Rados Block Device)、文件系统存储Ceph FS(Ceph Filesystem)3种功能。
2、Ceph应用场景
Ceph可以提供对象存储、块设备存储和文件系统服务,其对象存储可以对接网盘(owncloud)应用业务等;其块设备存储可以对接(IaaS),当前主流的IaaS运平台软件,如:OpenStack、CloudStack、Zstack、Eucalyptus等以及kvm等。
3、ceph功能组件

  4、Ceph核心组件
OSD(Object Storage Device):主要功能包括存储数据、处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给ceph monitor。例如ceph OSD心跳等。一个ceph存储集群,至少需要两个Ceph OSD来实现active+clean健康状态和有效的保存数据的双副本(默认情况下是双副本,可以调整)。注意:每一个disk、分区都可以成为一个OSD。
Monitor:Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策。
MDS(Metadata Server):主要保存的是Ceph文件系统的元数据。注意:ceph的块存储和ceph对象存储都不需要MDS。MDS为基于POSIX文件系统的用户提供了一些基础命令。
5、Ceph功能特性
RADOSGW功能特性基于LIBRADOS之上,提供当前流行的RESTful协议的网关,并兼容S3和Swift接口,作为对象存储,可以对接网盘类应用以及HLS流媒体应用等。
RBD(Rados Block Device) 功能特性也是基于LIBRADOS之上,通过LIBRBD创建一个块设备,通过QEMU/KVM附加到VM上,做为传统的块设备来用。目前OpenStack、CloudStack都是采用这种方式为VM提供块设备,同时也支持快照、COW等功能。
Ceph FS功能特性是基于RADOS来实现分布式的文件系统,引如了MDS,主要为兼容POSIX文件系统提供元数据,一般都是当作文件系统来挂载。
  6、Ceph架构

1)基础存储系统RADOS
RADOS:可靠自主分布式对象存储。它是ceph存储的基础,保证一切都以对象形式存储。
2) 基础库LIBRADOS
LIBADOS:功能是对RADOS进行抽象和封装,并向上层提供API,以便直接基于RADOS进行应用开发。
二、 RHEL/CentOS安装
[Ceph环境准备]
1、 准备6台虚拟机
2、 物理主机上配置域名解析

]#for i in {1..6}
>do
>echo -e “192.168.4.$i\tnode$i\tnode$i.tedu.cn” >> /etc/hosts
>done
  3、 提前将服务器的密钥保存,不需要ssh时回答yes
]# ssh-keyscan node{1..6} >> /root/.ssh/known_hosts
4、实现免密登陆

]# for i in {1..6}
> do
> ssh-copy-id node$i
> done
  5、配置yum源
  ]# mkdir /var/ftp/ceph/
]# vim /etc/fstab
/ISO/rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph iso9660 defaults 0 0
]# mount -a
]# vim /tmp/server.repo

[rhel7.4]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7.4
enabled=1
gpgcheck=0
[mon]
name=mon
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON
enabled=1
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD
enabled=1
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools
enabled=1
gpgcheck=0
  ]# for vm in node{1..6}

  do
scp /tmp/server.repo ${vm}:/etc/yum.repos.d/
done
  [配置node1节点为管理节点]
1、配置名称解析
[root@node1 ~]# for i in {1..6}; do echo -e "192.168.4.$i\tnode$i.tedu.cn\tnode$i"  >>  /etc/hosts; done

  2、配置免密登陆

[root@node1 ~]# ssh-keyscan node{1..6} >> /root/.ssh/known_hosts
[root@node1 ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
[root@node1 ~]# for i in {1..6}; do ssh-copy-id node$i; done
[root@node1 ~]# for vm in node{1..6}
> do
> scp /etc/hosts ${vm}:/etc/
> done
  3、配置node6为时间服务器
(1)配置

[root@node6 ~]# yum install -y chrony
[root@node6 ~]# vim /etc/chrony.conf
server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
allow 192.168.4.0/24
local stratum 10
  启动服务

[root@node6 ~]# systemctl enable chronyd
[root@node6 ~]# systemctl restart chronyd
  4、将node1-5配置为NTP的客户端
(1)配置

[root@node1 ~]# vim /etc/chrony.conf
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.4.6 iburst
[root@node1 ~]# systemctl restart chronyd
  测试

[root@node1 ~]# date -s "2018-7-13 12:00:00"
[root@node1 ~]# ntpdate 192.168.4.6
[root@node1 ~]# date
  (3)同步其他主机

[root@node1 ~]# for i in {2..5}
> do
> scp /etc/chrony.conf node$i:/etc/
> done
[root@node1 ~]# for vm in node{2..5}
> do
> ssh $vm systemctl restart chronyd
> done
  5、为node1-3各添加3块10GB的磁盘
可以在虚拟机不关机的情况下,直接添加硬盘
[安装ceph]
1)在node1上安装部署软件

[root@node1 ~]# yum install -y ceph-deploy
  2)创建ceph部署工具的工作目录

[root@node1 ~]# mkdir ceph-clu
  3)创建参与集群节点的配置文件

[root@node1 ceph-clu]# ceph-deploy new node{1..3}
[root@node1 ceph-clu]# ls
  4)在3个节点上安装软件包

[root@node1 ceph-clu]# ceph-deploy install node{1..3}
  5)初始化mon服务,获取密钥key,会在ceph-clu目录下生成几个key

[root@node1 ceph-clu]# ceph-deploy mon create-initial
  如果出现以下错误:
[node1][ERROR ] admin_socket: exception getting command descriptions: [Errno 2] No such file or directory
解决方案:
[root@node1 ceph-clu]# vim ceph.conf 最下面加入行:
public_network = 192.168.0.0/24
再执行以下命令:
[root@host1 ceoh-clu]# ceph-deploy --overwrite-conf config push node1 node2 node3
6、把node1-3的vdb作为日志盘。Ext/xfs都是日志文件系统,一个分区分成日志区和数据区。为了更好的性能,vdb专门作为vdc和vdd的日志盘。

[root@node1 ceph-clu]# for vm in node{1..3}
> do
> ssh $vm parted /dev/vdb mklabel gpt
> done
[root@node1 ceph-clu]# for vm in node{1..3}; do ssh $vm parted /dev/vdb mkpart primary 1M 50% ; done
[root@node1 ceph-clu]# for vm in node{1..3}; do ssh $vm parted /dev/vdb mkpart primary 50% 100% ; done
[root@node1 ceph-clu]# for vm in node{1..3}; do ssh ${vm} chown ceph.ceph /dev/vdb? ; done
  创建OSD设备

[root@node1 ceph-clu]# for i in {1..3}
> do
> ceph-deploy disk zap node$i:vdc node$i:vdd
> done
[root@node1 ceph-clu]# for i in {1..3}
> do
> ceph-deploy osd create node$i:vdc:/dev/vdb1 node$i:vdd:/dev/vdb2
> done
  验证
到第7步为止,ceph已经搭建完成。查看ceph状态

[root@node1 ceph-clu]# ceph -s 如果出现health HEALTH_OK表示正常
[root@node1 ceph-clu]# ceph health



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670531-1-1.html 上篇帖子: 闲聊Ceph目前在中国的发展Ceph现状 下篇帖子: k8s 与ceph结合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表