Ceph的基本安装

简介:

一、基本环境介绍:

  本文采用ceph-deploy工具进行ceph安装,ceph-deploy可以单独作为一个admin节点,也可以装在任意node节点上。

wKiom1ddI6STpLAkAAAvJVPW-Z4918.png

系统环境如下:

1、  系统采用redhat-6.5x86_64 basic_server安装,总共3个节点,ntp时间同步

2、  关闭selinux,用epelceph官方源,版本为0.86

3、  3个节点已做互信,并配置host,每个节点上有3个磁盘做osd

4、  升级内核为3.18,并从新内核启动。


二、安装步骤:

1、  每个node上设置iptables规则或关闭iptables(eth0ceph网络所在的网卡名称)

1
2
3
iptables -A INPUT -i eth0 -p tcp -s0.0.0.0 /0  --dport 6789 -j ACCEPT
iptables -A INPUT -i eth0 -m multiport -ptcp -s 0.0.0.0 /0  --dports 6800:7300 -j ACCEPT
service iptables save

 

2、  格式化、挂载osd

1
2
3
4
5
yum -y  install  xfsprogs
mkfs.xfs  /dev/sdb
mkdir  /osd {0..2}
#blkid 查看sdb的UUID
echo  'UUID=89048e27-ff01-4365-a103-22e95fb2cc93/osd0 xfs    noatime,nobarrier,nodiratime    00'  >>  /etc/fstab

一个磁盘对应一个osd,每个节点都创建osd0osd1osd2目录,对应的磁盘挂载相应目录即可。

 

3、安装ceph部署工具

1
2
3
#mkdir ceph  #最好创建一个目录,因为安装ceph过程中,会在安装目录生成一些文件                   
#cd ceph
#yum -y install ceph-deploy

 

4、创建mon

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
ceph-deploy new node1 nod2 node3  #这个命令其实就是仅仅生成了ceph.conf和ceph.mon.keyring 文件
vim ceph.conf 追加以下内容(根据需求更改)
debug_ms = 0
mon_clock_drift_allowed = 1
osd_pool_default_size = 2     #副本数量
osd_pool_default_min_size = 1
osd_pool_default_pg_num = 128   #pg数量
osd_pool_default_pgp_num = 128
osd_crush_chooseleaf_type = 0
debug_auth = 0 /0
debug_optracker = 0 /0
debug_monc = 0 /0
debug_crush = 0 /0
debug_buffer = 0 /0
debug_tp = 0 /0
debug_journaler = 0 /0
debug_journal = 0 /0
debug_lockdep = 0 /0
debug_objclass = 0 /0
debug_perfcounter = 0 /0
debug_timer = 0 /0
debug_filestore = 0 /0
debug_context = 0 /0
debug_finisher = 0 /0
debug_heartbeatmap = 0 /0
debug_asok = 0 /0
debug_throttle = 0 /0
debug_osd = 0 /0
debug_rgw = 0 /0
debug_mon = 0 /0
osd_max_backfills = 4
filestore_split_multiple = 8
filestore_fd_cache_size = 1024
filestore_queue_committing_max_bytes =1048576000
filestore_queue_max_ops = 500000
filestore_queue_max_bytes = 1048576000
filestore_queue_committing_max_ops = 500000
osd_max_pg_log_entries = 100000
osd_mon_heartbeat_interval = 30  #Performance tuning filestore
osd_mount_options_xfs =rw,noatime,logbsize=256k,delaylog
#osd_journal_size = 20480  日志大小,不指定,默认是5G
osd_op_log_threshold = 50
osd_min_pg_log_entries = 30000
osd_recovery_op_priority = 1
osd_mkfs_options_xfs = -f -i size=2048
osd_mkfs_type = xfs
osd_journal = /var/lib/ceph/osd/ $cluster-$ id /journal
journal_queue_max_ops = 500000
journal_max_write_bytes = 1048576000
journal_max_write_entries = 100000
journal_queue_max_bytes = 1048576000
objecter_infilght_op_bytes = 1048576000
objecter_inflight_ops = 819200
ms_dispatch_throttle_bytes = 1048576000
sd_data =  /var/lib/ceph/osd/ $cluster-$ id
merge_threshold = 40
backfills = 1
mon_osd_min_down_reporters = 13
mon_osd_down_out_interval = 600
rbd_cache_max_dirty_object = 0
rbd_cache_target_dirty = 235544320
rbd_cache_writethrough_until_flush =  false
rbd_cache_size = 335544320
rbd_cache_max_dirty = 335544320
rbd_cache_max_dirty_age = 60
rbd_cache =  false

 

5、安装ceph

#On All nodes to Install

1
yum -y  install  ceph

 

admin节点上执行:

1
2
ceph-deploy mon create node1 node2 node3
ceph-deploy gatherkeys node1   #从moniter节点获得keys,用来管理节点


6、创建激活osd

1
2
3
4
5
ceph-deploy osd prepare node1: /osd0node1 : /osd1  node1: /osd2  node2: /osd0  node2: /osd1  node2: /osd2  node3: /osd0node3 : /osd1  node3: /osd2
ceph-deploy osd activate node1: /osd0node1 : /osd1  node1: /osd2  node2: /osd0  node2: /osd1  node2: /osd2  node3: /osd0node3 : /osd1  node3: /osd2
  
ceph-deploy admin node1 node2 node3    #从admin节点复制配置文件及key到node
chmod  +r /etc/ceph/ceph .client.admin.keyring (所有节点为该文件添加读权限)

 

也可以创建相关的pool

1
2
3
4
ceph osd pool create volumes 128
ceph osd pool create images 128
ceph osd pool create vms 128
ceph osd pool create backups 128

wKioL1ddJPzwowP1AAAkuJqOoAU556.png

wKioL1ddJP3Q_-jPAAA9Ba1Z6HI170.png

如果ceph安装失败,要清除ceph环境,执行以下命令

1
2
3
ceph-deploy purge node1 node2 node3 (所有节点)
ceph-deploy purgedata node1 node2 node3 (所有节点)
ceph-deploy forgetkeys

本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1788333,如需转载请自行联系原作者
相关文章
|
存储 SQL 分布式计算
【存储】2022 年的 4 个开源对象存储平台
【存储】2022 年的 4 个开源对象存储平台
|
存储 安全 Java
【无锁并发框架Disruptor】
【无锁并发框架Disruptor】
297 0
|
4月前
|
自然语言处理 数据可视化 人机交互
数据可视化与人机交互技术
人机交互(HCI)是21世纪信息技术的关键领域,涉及从早期命令行到现代多模态智能交互的发展历程。其研究涵盖界面设计、可用性评估、多通道交互、智能界面、群件协作、Web与移动交互等内容,未来将在虚拟现实、语音识别、眼动追踪及脑机接口等方面持续突破,推动人机协同迈向更高层次。
444 0
|
存储 SQL 数据挖掘
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如何下载harbor的私有项目镜像?
在K8S中,如何下载harbor的私有项目镜像?
|
存储 算法 JavaScript
IT基础知识入门:为IT小白打造的知识宝典
IT基础知识入门:为IT小白打造的知识宝典
582 4
|
存储 Kubernetes 调度
在K8S中,pending状态一般由什么原因导致的?
在K8S中,pending状态一般由什么原因导致的?
|
弹性计算 人工智能 数据挖掘
阿里云高校计划“云工开物”解读,适合学生及高校教师参考
阿里云推出“云工开物”高校计划,向学生和教师提供优惠,旨在支持高等教育和培养科技人才。学生通过学信网认证可获300元优惠券和3折云服务器优惠;教师享5折全线产品折扣。此外,还有“极速上云”活动和各类挑战赛,促进实践和创新。
阿里云高校计划“云工开物”解读,适合学生及高校教师参考