找回密码
 注册
查看: 6532|回复: 0

Ceph luminous版本 Centos7.4 安装配置

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-9-26 08:56:43 | 显示全部楼层 |阅读模式
#环境准备
! O1 a: k3 ~" F# i#升级内核6 P- k% C% A* e; t9 c* I) B, i
#官网说明 http://docs.ceph.com/docs/master ... tions/#linux-kernel- p2 w' F$ q" b: ~) I
#CentOS7 升级内核$ q& i2 ?5 ]6 A0 @- n

. f( g1 P0 f8 j, m. U6 L' w; S; [rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org' d( W7 [* s! |% ~" S1 F
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm  {! a/ b: R1 @$ a
#安装kernel最新稳定版
! A: [' D6 o+ ^1 v# \yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y. ^4 L- s6 @6 j2 k; w& {
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg #查看启动项
' l" l- r' }9 H( |7 Hgrub2-set-default 0 #设置第一行为默认启动
& W& J+ x6 D3 i' O1 Y3 g, y$ Crpm -e elrepo-release #删除源
0 C: m6 n- L; L7 x4 H2 Greboot
% ~: K8 K" E3 j3 d0 `  Q#uname -r #重启后查看内核7 t7 T7 @' P, s! v4 i' ~. |' Y
#4.4.98-1.el7.elrepo.x86_649 C) y/ g7 A. r; K( T
###########################: W5 i, I; i& H/ D, D6 [3 B

1 Q7 {* Q  O. q. `  P& ~8 o! m6 `& ]5 H- q+ D1 C
#创建ceph源
% ~5 T' P! \' ]! d$ Q* f  l4 V- aecho '#阿里ceph源
. A# ~+ b: J0 s5 J; |: M[ceph]
; }0 E( |- S+ B  q( M4 P* ]name=ceph; k1 y  h% u4 u, G" O! M
baseurl=http://mirrors.cn99.com/ceph/rpm-luminous/el7/x86_64/
! w  r' x+ Q4 h9 L, G1 I' Kgpgcheck=0
7 h$ g/ g, D# J! ?: m% r[ceph-noarch]& l1 I. k- U1 b/ |. l+ ?9 Y* _
name=cephnoarch
* i# N6 o! L2 r% m8 W5 G; dbaseurl=http://mirrors.cn99.com/ceph/rpm-luminous/el7/noarch/
/ q9 E/ a! X7 l6 \# s" sgpgcheck=0" a- }# b4 l" O% E
[ceph-source]
! Z, @' U$ H, ~$ c6 j6 hname=ceph-source
; U2 K% ^5 R, m, a# _9 z1 g! z/ Ebaseurl=http://mirrors.cn99.com/ceph/rpm-luminous/el7/SRPMS/  j7 E4 j& J* c. I7 x
gpgcheck=05 U2 _0 L! w3 R5 q# S
#'>/etc/yum.repos.d/ceph.repo  h( P7 B  d' v( ?8 k
yum clean all && yum makecache #生成缓存
  K8 Q2 Y, s: g* u/ n#关闭selinux、防火墙% ]( i" I4 D6 r
systemctl stop firewalld.service8 x8 Q; L: _+ e+ f! s
systemctl disable firewalld.service) O8 m; H3 W6 Z8 O. @
firewall-cmd --state
. h8 `4 d. V) n' @9 F- p9 ased -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config) R- x5 h; @2 M1 @6 y! j
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config/ R" |/ S3 F* p* D% o
grep --color=auto '^SELINUX' /etc/selinux/config5 @* v- Z, `0 ~+ V; N
setenforce 0
  h; u2 ^1 W  u9 \4 z1 l2 X: {% g  j3 f& N
#时间同步
1 z, T! ~# ?9 w[[ -f /usr/sbin/ntpdate ]] || { echo "install ntp";yum install ntp -y &> /dev/null; } #若没NTP则安装
  \3 ]+ a+ n& `2 M4 [( ?/usr/sbin/ntpdate ntp6.aliyun.com
8 \0 @+ t  J8 g6 pecho "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com  &> /dev/null" > /tmp/crontab9 h) g/ L: l% K8 K* V
crontab /tmp/crontab
- u; V! d, V: K2 n. B0 a3 E( B' v4 |  Y0 h+ M
###########################
3 ]3 C1 q1 }5 Z9 y$ N#网络  J6 _1 t" c' Q$ y* Q( Q: Y% r

% I; U4 Q4 P* q4 `0 T$ c# S9 q- ^# #外网规划
( X; C* C' i% @$ ]0 K1 M5 y) n# 192.168.0.51 ceph13 V# Z0 t2 S4 {- W" u
% a( ~% N# y6 v) U
#内网规划,写入hosts
( A; L+ Y+ N$ Y0 Z/ C! ~; L; Zecho '#ceph/ X6 }" P0 s& v- R  y# R
192.168.1.101 ceph1
4 ]3 B7 F9 W6 p% m3 X" k5 K192.168.1.102 ceph2- E7 c8 ?9 q. M
192.168.1.103 ceph3
3 ?7 q& p7 D' J( }3 B6 o192.168.1.104 ceph4% |! A$ m& u9 d& G# w7 @6 e
'>>/etc/hosts
  k" f7 v( d) B. ~' Y2 ?
# P1 |6 Q2 F, ^2 \3 |  a#配置hostname、固定ip6 X7 q1 Q9 E  f! k5 J
Nu=1$ Z' x3 V2 L* s9 Q6 B+ u
hostnamectl set-hostname ceph$Nu! y* h4 @7 y* w7 j! e; x
NetName=em1 #网卡名称
& T6 F5 d0 p/ H) Zrm -f /etc/sysconfig/network-scripts/ifcfg-$NetName
" n+ |- `2 B* y: h4 ?8 U" Unmcli con add con-name $NetName ifname $NetName autoconnect yes type ethernet ip4 192.168.1.10$Nu/24 \
6 r) p0 V8 \( d ipv4.dns "8.8.8.8" #ipv4.gateway "192.168.1.1". i  x$ N! ^; |/ n2 t
nmcli connection reload #重新加载网络! t- c' H5 s' i0 ~( b; u

* Q+ S9 o" I0 [& K: f0 H3 y$ f' `% d
#磁盘(添加2快磁盘)
1 d$ F7 C( J  H# [root@ceph01 ~]# lsblk
, ?0 D9 G9 _2 y4 n' g# z: R( n# NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
* v3 A4 U- X2 ^* m  ~' ]7 F$ P3 _' h% W7 i
# sdb      8:16   0  100G  0 disk ! d- U# J, L/ A/ H6 S4 m
# sdc      8:32   0  100G  0 disk
, f/ j& ?% K/ c" s9 J: n
- d3 N/ t& ^2 L1 M4 p###########################
. ~! E6 {" A. D9 F; V4 G/ N复制代码
0 z6 s  [7 e2 }2 h$ b; E复制代码
! t. F* b5 t, \/ t" ]: h% G#ceph安装配置
' i1 A! o; V4 e, `###########################
2 H1 e8 ^3 w( [9 k7 X0 [" c+ {#全部在ceph1操作# t4 L# a3 r. |! k

1 O- b8 z+ d+ U1 Y: x# ~7 L- J7 g# #Ceph节点简介3 W! k8 L) e1 }" b3 M
# Mon(Montior)监控节点, G+ F1 }" ]5 n  i, D4 N) e
# OSD(Object Storage Device)存储节点8 K/ @4 {1 T: q" L* V! R5 g4 s
# MDS(Meta Data Server),Ceph作文件系统用到,本实例不配置
/ s( i! T. d+ m+ @# i2 |! |% [  O0 m5 g! Z+ e7 a
#ceph01作为部署节点
; d3 A5 L5 q% P#ceph1 ceph2 ceph3作为Mon7 ^" v$ _$ L8 Y0 c  \
#ceph2 ceph3 ceph4作为OSD, i. s  l4 Y- Y3 z6 ]

# X$ p" [+ ~( h3 O) S5 f#ssh免密验证
2 ^/ N2 ?, P, y1 S所有节点执行:0 @+ _8 X  w% U$ Q
yum install -y sshpass# x$ }! L& ]1 a
rm -rf ~/.ssh
) w6 ~3 |1 Z) f7 B- C- v1 m) [- F& Fssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa, c! \5 R; a' I1 q1 R% t, Q# c( \
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa -p 22 root@ceph1- |: F. o: t6 Q8 @3 a& t8 C8 o3 V
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa -p 22 root@ceph2: N  u6 Z) B" e' A9 V( H. m
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa -p 22 root@ceph3$ E' C' {0 i, S$ Q- B6 O! V* \
sshpass -p '123456' ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa -p 22 root@ceph4
- c4 ^9 C1 o  `. r1 }6 {- a#以下在 ceph1节点执行# P; I/ E: J& ?0 i$ D/ m
#ceph1 安装ceph-deploy配置工具
/ H  E, ]3 q6 x, H  N9 o2 nyum install -y ceph-deploy% W! Y/ s% ?1 Q% u9 y

! @5 t5 j; V$ C+ d#创建配置目录
: F$ Q# ?1 A  ^" T, Vmkdir /etc/ceph
% O. }* E" K2 W) Tcd /etc/ceph/
7 @/ ]5 c1 g6 M5 w
5 H. ?' Q/ |' b#初始化Mon配置
4 \/ T9 y5 s9 ?) ]( G: wceph-deploy new ceph{1,2,3}
* E2 a, P# A' m+ F#ceph-deploy new --cluster-network 192.168.1.0/24 --public-network 192.168.0.0/24 ceph{1,2,3}3 X9 Z3 |& W9 ?9 X( I. Z% t
9 V* v. k& f( }( i4 Q8 ^- p
# #修改冗余份数为2,日志大小2G
( E) O' ~- w+ {8 L  Z1 b0 P# #配置网络,单网卡忽略- L8 j! l4 ^) u$ T' C. O: D  W
echo '6 O- G1 Q! N5 z1 G
public network = 192.168.0.0/24! w! b2 H0 |8 {7 P0 n
cluster network = 192.168.1.0/24
4 c& D( n9 O7 T& @4 _; A2 z( I) m) c
mon_clock_drift_allowed = 2   
' S! _3 t' k: P( T0 xosd_journal_size = 40862 b% y  L* r, `6 Z/ ]9 S
osd_pool_default_pg_num = 128' m) Q2 n1 ]8 b  |' ]- v
osd_pool_default_pgp_num = 1289 s( j( ~/ S3 j# r& S
osd pool default size = 2
) v$ u  S8 g  d# S) \' _osd pool default min size = 11 C; J" w8 G, \$ n4 t8 L
rbd_default_features = 1, W5 g4 T3 D: m; @
client_quota = true
) n# W5 I6 h! B; k& [" R6 A) ~1 i; R: U'>>./ceph.conf* D, [  K3 |& A. F! q: h: O

3 L8 t2 E$ l5 a: u7 h* K* F#安装Ceph1 Q6 J5 C/ B' @3 N
ceph-deploy install ceph1 ceph2 ceph3 ceph4/ ?) ~; a/ b1 A0 {& e
#yum install -y ceph ceph-radosgw #实际上是安装这2个rpm
  X" ~! x1 g3 b. W4 c% ~" A  V: {' s
' Q- v3 G# o5 i1 ^#初始化monitor和key# r3 \8 ]) ]7 r" [4 A! L( s
cd /etc/ceph/
8 N, X7 E0 _* f, o5 `ceph-deploy --overwrite-conf mon create-initial
2 v9 ]% C% _1 ~5 n
( }2 ]4 w, U+ ~/ O# C#创建存储节点(使用sdb,sdc磁盘); |$ z5 i/ D9 @/ }
#lsblk #查看磁盘4 ~# @6 J! g8 c8 l* N. R9 F+ o
. n9 |8 a  p: Z+ {- r5 B6 j2 c# z6 X
#创建osd
" o0 R, K. b# I! S+ Rceph-deploy osd create --data /dev/sdb ceph24 i5 N( j* u: t! p; q5 o# F
ceph-deploy osd create --data /dev/sdb ceph3
# B, X7 T( ]* b/ W/ c5 |ceph-deploy osd create --data /dev/sdb ceph4) {9 O* v3 K) a% `
ceph-deploy osd create --data /dev/sdc ceph2
- b# T" i5 ^& jceph-deploy osd create --data /dev/sdc ceph34 Y% f% _/ k4 L  E( i& ~0 O
ceph-deploy osd create --data /dev/sdc ceph4, V9 z/ n- p, |& Q
2 v9 b  X) K: [0 ~: D$ a/ {, o
#拷贝配置及密钥* J2 ]+ ^6 p6 J8 ]9 E( ]/ H
ceph-deploy admin ceph1 ceph2 ceph3 ceph4. O- X- y; p1 ~" ^
chmod 644 /etc/ceph/ceph.client.admin.keyring0 C8 V- M3 S- G3 D0 [3 X

" \+ Y  `7 u" ?#创建mon
5 ]2 j/ o+ e0 u, _4 D( ^" [ceph-deploy --overwrite-conf mon create ceph18 C( w7 d5 s# q  C) j. s
ceph-deploy --overwrite-conf admin ceph1
9 ?0 Q" d* V. c) `$ |9 pceph-deploy --overwrite-conf mon create ceph28 u7 z$ O/ ~3 ]* s/ k
ceph-deploy --overwrite-conf admin ceph2, o" D8 B) I4 t9 P7 l/ Y
ceph-deploy --overwrite-conf mon create ceph38 h: R  ]; P- ]0 L+ A- ^! N& s& X
ceph-deploy --overwrite-conf admin ceph3
( q  P7 ^' D/ h: e7 p7 y& X, ]/ P2 K" G* `1 s8 K! O# }7 H4 J- d
#添加mgr
- N% a3 U4 g+ c& E& g8 k% z' [- j. W#ceph 12开始,monitor必须添加mgr6 ^4 s. d) ?! E
ceph-deploy mgr create ceph{1,2,3}:mon_mgr) B- b8 U- a5 G0 _2 N3 i  j
#ceph-deploy mgr create ceph1:mon_mgr ceph2:mon_mgr ceph3:mon_mgr
% l" j2 `# }7 ]  ]% Y4 [" K8 p
; @: j) @! `+ G6 q0 ~3 u% E3 z#启用dashboard (在mon节点)
/ m: m7 j. |! J, J0 Y. i* |0 @: |' Cceph mgr module enable dashboard5 _2 W, |* _6 \! I
#http://ip:7000 访问dashboard7 M0 Z- T; i/ W( V* w% N% t6 z
netstat -antp|grep 7000! {, _  X3 M* }0 N0 c
) ^& s  r' d3 a4 z1 \7 d8 x: l
# 设置dashboard的ip和端口8 z, j# S7 w0 x( y% P
# ceph config-key put mgr/dashboard/server_addr 192.168.0.196  #vip地址) ?# ]5 u5 |/ ~: I2 U3 b
# ceph config-key put mgr/dashboard/server_port 7000
* ?5 U/ o7 p- w# systemctl restart ceph-mgr@ceph1
$ _+ e; o$ {, Q, h. Q% ?: y: Y% @: K4 C; M9 e
###########################
4 j, S9 E# Q( y1 j  `1 F#查看相关命令
  @/ s' l! S3 Pceph health4 }  E% R" S" p, `# G  y
ceph -s
( N% \  G; |9 }4 B+ Hceph osd tree* @" R' m6 {' b$ K; A4 s
2 b" k2 C: Y9 I9 [! `
ceph df
+ ?" l' O0 b1 j& V! j0 a& Mceph mon stat6 u: G  _" r+ {" x5 ?
ceph osd stat
# @6 n1 K4 A; Zceph pg stat
6 B6 _$ z. {# b! |7 y% n) m0 ]% g$ O( Y1 O+ N- y
ceph osd lspools& _7 X! n1 V& V% i2 T# \2 p
ceph auth list
( D" `: i% c$ l5 i5 i* X
/ R5 C/ [9 G9 L! u###########################. d2 a' o! ]4 C) q8 E7 a+ z
#参考) x8 {" x' Z  m
https://segmentfault.com/a/1190000011581513
: Q# O* G  t5 o8 h) {1 ]http://blog.csdn.net/wylfengyujiancheng/article/details/78461801% |# S6 e  a' T5 C8 N2 Q
+ M' S1 S1 K$ A* h" {! A
https://segmentfault.com/a/1190000011589519
" p. R/ p: f, j7 T( K2 O! R/ chttps://www.cnblogs.com/netmouser/p/6876846.html$ Q/ {, n) B! `3 y
; n  s# C6 i, f" O9 K
#中文 文档
+ W- t8 s; K; z& lhttp://docs.ceph.org.cn/man/8/ceph-deploy/5 y  t/ g  d3 Q4 J) B3 |% @
' \% Q7 ~6 I4 b( j; k' k# y: X* g
#ceph工作原理和安装% Y8 D3 A, m1 ^7 n
http://www.jianshu.com/p/25163032f57f
. i6 B( Q3 v4 Q& K* s5 d5 I6 ^8 P" \) Y& ~  M4 s2 ]+ g; M. @
#简单ceph性能测试+ @: J! T) C( `9 K* o0 {' d: p7 }) V# o
8 F! h# r0 W9 k* O  Y/ x, P, R! R
#创建测试池mytest
0 T& B6 B1 [$ l4 Rceph osd pool create mytest 128* Y, [% _# h/ V+ ~/ y8 X
rados lspools; M* d! c% e5 W  K, B/ v' W
# ceph osd pool set mytest size 2 #副本为2* Y3 \1 O  u% u: h1 \, c: k) G# h
# ceph osd pool delete mytest #删除; E& b2 H! e0 m" u# w' |

7 |. E$ k8 W" q$ K2 l. l" r7 @6 f3 b% T8 ]2 a, z+ d% E( X* |$ p
#Rados性能测试(关注 bandwidth带宽,latency延迟)- v9 T8 g" ?2 H/ R% u. u
rados bench -p mytest 10 write --no-cleanup #写测试10秒! p' p) F" K- z; j. @$ f9 |9 a8 Z' N
rados bench -p mytest 10 seq  #顺序读
) v1 C1 [. f8 r, B; L' yrados bench -p mytest 10 rand #随机读0 b3 b7 j% D2 q9 N
rados -p mytest cleanup #清理测试数据! }8 N9 _: T2 i$ _# a% X

+ h, j- f. F9 |$ H3 K  \3 H0 H: K/ R#rbd块设备测试' {1 z* @% V& ^7 U# t
rbd create --size 2G mytest/test1 #创建块设备映像test1* Z5 h# Q* F. q/ X; s4 V3 j
rbd ls mytest6 S$ W$ K7 z: V0 e! b' Y
rbd info mytest/test1) r" `) i/ J; f! `' Y5 ^# A: H( o

/ U4 d9 ]' L9 B: R0 N. N$ @& arbd map mytest/test1   #映射块设备
' ^5 T* B' s# r. R+ Y- I# ~- S#/dev/rbd0
8 B. [& f& F4 \( s0 v8 c6 V7 C#rbd showmapped         #查看已映射块设备7 e% `) q, z: l9 }' h
#挂载" @1 l$ q4 H8 k0 v2 b$ \0 Y: @
mkfs.xfs /dev/rbd0
- H. a# n3 ^+ q& ~' I* |3 f. Dmkdir -p /mnt/ceph
5 ?" K5 Q+ Q5 {$ k) N: l# [3 Nmount /dev/rbd0 /mnt/ceph/
3 Z- u0 A/ W% O/ r; _df -h /mnt/ceph
: L) u* v% R& n7 d: e; s
% [- [; q8 _- w) @- N4 z#测试
% M. N/ n% E* B- G" M& |rbd bench-write mytest/test1+ Y6 P% @- J/ J; {6 x- a7 G
#默认参数io 4k,线程数16,总写入1024M, seq顺序写
& D" M9 R9 X, {% h
4 H& R! J0 W; s0 p, Y  {$ \: m: |; w: Y9 J
rbd unmap mytest/test1 #取消块设备映射
9 B7 t, \4 _) f3 Xrbd rm mytest/test1    #删除块设备映像! \7 Z" e4 E, ]! ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:04 , Processed in 0.016824 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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