部署ceph分布式存储集群

部署ceph分布式存储集群

本次ceph分布式存储集群部署基于centos7.4操作系统环境且服务器或PC硬件应具备4个硬盘。

1 安装CentOS 7.4操作系统

1.1 制作安装U盘

(1)安装UltraISO。

(2)安装完成后,点击试用进入软件操作界面。

(3)点击文件,选择打开,找到CentOS 7.4系统镜像所在文件夹,选择CentOS 7.4镜像文件,点击打开。

(4)插入准备刻录的U盘。

(5)点击菜单栏中的启动选择写入硬盘映像(【注】是硬盘不是软盘)。

(6)硬盘驱动器,选择待刻录的U盘,写入方式选择USB+HDD+。

(7)点击写入

1.2 使用U盘启动盘安装操作系统

(1)将U盘插入待安装系统的服务器/PC硬件USB接口。

(2)设置开机U盘启动(【注】不同品牌机器设置会有所不同)。

(3)使用U盘启动后,跳转至以下图形界面。

部署ceph分布式存储集群_第1张图片

(4)按下键盘TAB键,修改系统安装启动信息。

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet 
修改为
vmlinuz initrd=initrd.img linux dd quiet

(5)查看U盘的设备名称。如:/dev/sda、/dev/sdb等等(【注】label一列会显示CentOS 7等字样)。

(6)重启,服务器/PC运行至(4)步骤,重新修改系统安装启动信息。

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
修改为
vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb1 quiet

【注】sdb1就是U盘在设备名称。

(7)安装继续进行,跳转至图形界面,选择English->English(United States)->点击Continue。

部署ceph分布式存储集群_第2张图片

(8)选择DATE&TIME。

部署ceph分布式存储集群_第3张图片

(9)Region设置为Asia,City设置为shanghai。

部署ceph分布式存储集群_第4张图片

(10)初始化磁盘。

  • 点击INSTALLATION DESTINATION

部署ceph分布式存储集群_第5张图片

  • 如下图所示,勾选硬盘sda、sdb、sdc、sdd后点击Done

部署ceph分布式存储集群_第6张图片

  • 点击Delete all

部署ceph分布式存储集群_第7张图片

  • 查看设置结果

部署ceph分布式存储集群_第8张图片

  • 点击Reclaim space

部署ceph分布式存储集群_第9张图片

  • 再次点击INSTALLATION DESTINATION

部署ceph分布式存储集群_第10张图片

(11)选择其中一个盘作为系统盘,此处选择sda,勾选“I will configure partitioning”,最后点击Done。

部署ceph分布式存储集群_第11张图片

(12)如图选择。

部署ceph分布式存储集群_第12张图片

(13)磁盘分区。

  • boot分区500M

部署ceph分布式存储集群_第13张图片

  • swap 4GB

部署ceph分布式存储集群_第14张图片

  • 其余磁盘空间给根目录(“/”)

部署ceph分布式存储集群_第15张图片

(14)点击Done。

部署ceph分布式存储集群_第16张图片

(15)点击Accept Changes。

部署ceph分布式存储集群_第17张图片

(16)开始安装。

部署ceph分布式存储集群_第18张图片

2 ceph基础环境设置

该部分除特殊说明的操作之外需在每个节点都操作。

2.1 基础环境

(1)关闭防火墙

[root@ ~]# systemctl stop firewalld.service
[root@ ~]# systemctl disable firewalld.service
[root@ ~]# firewall-cmd --state

(2)关闭selinux

[root@ ~]# sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
[root@ ~]# sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
[root@ ~]# grep --color=auto '^SELINUX' /etc/selinux/config
[root@ ~]# setenforce 0

(3)设置主机名

主机1:ceph-node1
[root@ ~]# hostnamectl set-hostname ceph-node1
主机2:ceph-node2
[root@ ~]# hostnamectl set-hostname ceph-node2
主机3:ceph-node3
[root@ ~]# hostnamectl set-hostname ceph-node3

(4)修改hosts文件

[root@ceph-node1 ~]# echo '
192.168.98.52   ceph-node1
192.168.98.53   ceph-node2
192.168.98.54   ceph-node3
'>>/etc/hosts

(5)设置ssh免密验证

在ceph-node1节点操作,其它节点不操作。

[root@ceph-node1 ~]# ssh-keygen
[root@ceph-node1 ~]# ssh-copy-id root@ceph-node2  
[root@ceph-node1 ~]# ssh-copy-id root@ceph-node3  

(6)网络IP地址规划

public network :192.168.98.0/24(52.53.54)

如果还要设置 cluster network,切不可设置同网段的IP。

(7)ceph-node1、ceph-node2、ceph-node3硬盘说明

/dev/sda 作为系统盘
/dev/sdb 作为数据盘
/dev/sdc 作为数据盘
/dev/sdd 作为数据盘

[root@ceph-node1 ~]#  lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0 95.5G  0 part /
sdb      8:16   0    1T  0 disk 
sdc      8:32   0    1T  0 disk 
sdd      8:48   0    1T  0 disk 
sr0     11:0    1  792M  0 rom  

(8)磁盘格式化指令

[root@ceph-node1 ~]# mke2fs -t ext4 /dev/sdb
[root@ceph-node1 ~]# mke2fs -t ext4 /dev/sdc
[root@ceph-node1 ~]# mke2fs -t ext4 /dev/sdd

(9)服务器角色

服务器名称 角色
ceph-node1 admin mon1 osd1
ceph-node2 mon2 osd2
ceph-node3 mon3 osd3

2.2 设置客户端源

(1)安装wget vim工具

[root@ceph-node1 ~]# yum install wget vim  net-tools -y

(2)设置阿里源

[root@ceph-node1 ~]# rm -f /etc/yum.repos.d/*
[root@ceph-node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@ceph-node1 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@ceph-node1 ~]# sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo

(3)创建ceph源

[root@ceph-node1 ~]# echo '
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
[ceph-source]
name=ceph-source
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/
gpgcheck=0
'>/etc/yum.repos.d/ceph.repo

(4)更新缓存

[root@ceph-node1 ~]# yum clean all && yum makecache

2.3 安装时间服务器

此处建议搭建自己的时间服务器或者使用阿里云时间服务器。

(1)安装chrony服务

[root@ceph-node1 ~]# yum -y install chrony

(2)设置开机自启动

[root@ceph-node1 ~]# systemctl enable chronyd
[root@ceph-node1 ~]# systemctl start chronyd
[root@ceph-node1 ~]# systemctl status chronyd

(3)配置chrony文件

#备份默认配置
[root@ceph-node1 ~]# cp /etc/chrony.conf{,.bak} 
#修改配置
[root@ceph-node1 ~]# echo "
server 125.39.187.70 iburst 
stratumweight 0    
driftfile /var/lib/chrony/drift    
rtcsync    
makestep 10 3      
bindcmdaddress 127.0.0.1    
bindcmdaddress ::1    
keyfile /etc/chrony.keys    
commandkey 1    
generatecommandkey    
noclientlog    
logchange 0.5    
logdir /var/log/chrony
">/etc/chrony.conf

(4)重启chrony服务

[root@ceph-node1 ~]# systemctl restart chronyd
[root@ceph-node1 ~]# systemctl status chronyd

(5)查看chrony同步源

[root@ceph-node1 ~]# chronyc sources -v        #查看时间同步源
[root@ceph-node1 ~]# chronyc sourcestats -v       #查看时间同步源状态

部署ceph分布式存储集群_第19张图片

[root@ceph-node1 ~]# yum -y install ntpdate
[root@ceph-node1 ~]# ntpdate ntp.aliyun.com
[root@ceph-node1 ~]# hwclock -w
[root@ceph-node1 ~]# date
[root@ceph-node1 ~]# reboot

3 部署ceph集群

(1)ceph-node1上安装ceph-deploy配置工具

[root@ceph-node1 ~]# yum install ceph-deploy  -y

(2)ceph-node1上创建ceph工作目录

[root@ceph-node1 ~]# mkdir /etc/ceph
[root@ceph-node1 ~]# cd /etc/ceph/

(3)ceph-node1上初始化Mon配置

[root@ceph-node1 ~]# ceph-deploy new ceph-node1 ceph-node2 ceph-node3

如果报错 执行 yum install python-setuptools -y。

(4)ceph-node1上修改ceph.conf配置文件

[root@ceph-node1 ~]# echo '
public network = 192.168.98.0/24
mon_clock_drift_allowed = 2    
osd_journal_size = 4096
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128
osd pool default size = 3
osd pool default min size = 1
rbd_default_features = 1
client_quota = true
mon clock drift allowed = 2
mon clock drift warn backoff = 30
[mon]
mon allow pool delete = true
[mgr]
mgr modules = dashboard
'>>./ceph.conf

(5)ceph-node1上安装ceph

[root@ceph-node1 ~]# ceph-deploy install ceph-node1 ceph-node2 ceph-node3

(6)ceph-node1上初始化monitor和key

[root@ceph-node1 ~]# ceph-deploy --overwrite-conf mon create-initial

(7)查看初始化结果

 [root@ceph-node1 ceph]#ll

部署ceph分布式存储集群_第20张图片

(8)ceph-node1拷贝配置及密钥

[root@ceph-node1 ~]# ceph-deploy admin ceph-node1 ceph-node2 ceph-node3
[root@ceph-node1 ~]# chmod 644 /etc/ceph/ceph.client.admin.keyring

(9)查看硬盘分区情况

分别在ceph-node1、ceph-node2、ceph-node3主机上查看硬盘分区情况。

[root@ceph-node1 ceph]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    4G  0 part [SWAP]
└─sda3   8:3    0 95.5G  0 part /
sdb      8:16   0    1T  0 disk 
sdc      8:32   0    1T  0 disk 
sdd      8:48   0    1T  0 disk 
sr0     11:0    1  792M  0 rom  

(10)清除磁盘数据

分别在ceph-node1、ceph-node2、ceph-node3主机上清除sdb、sdc、sdd的数据。

[root@ceph-node1 ~]# ceph-volume lvm zap /dev/sdb
[root@ceph-node1 ~]# ceph-volume lvm zap /dev/sdc
[root@ceph-node1 ~]# ceph-volume lvm zap /dev/sdd

(11)ceph-node1执行添加OSD

[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdb ceph-node1
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdc ceph-node1
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdd ceph-node1
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdb ceph-node2
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdc ceph-node2
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdd ceph-node2
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdb ceph-node3
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdc ceph-node3
[root@ceph-node1 ~]# ceph-deploy osd create --data /dev/sdd ceph-node3

(12)ceph-node1上使得每个节点的ceph配置一致及赋予权限

[root@ceph-node1 ~]# ceph-deploy --overwrite-conf admin ceph-node1 ceph-node2 ceph-node3
[root@ceph-node1 ~]# chmod 644 /etc/ceph/ceph.client.admin.keyring

(13)ceph-node1上创建mon

[root@ceph-node1 ~]# ceph-deploy --overwrite-conf mon create ceph-node1
[root@ceph-node1 ~]# ceph-deploy --overwrite-conf admin ceph-node1
[root@ceph-node1 ~]# ceph-deploy --overwrite-conf mon create ceph-node2
[root@ceph-node1 ~]# ceph-deploy --overwrite-conf admin ceph-node2
[root@ceph-node1 ~]# ceph-deploy --overwrite-conf mon create ceph-node3
[root@ceph-node1 ~]# ceph-deploy --overwrite-conf admin ceph-node3

(14)ceph-node1上添加mgr

[root@ceph-node1 ~]# ceph-deploy mgr create ceph-node1
[root@ceph-node1 ~]# ceph-deploy mgr create ceph-node2
[root@ceph-node1 ~]# ceph-deploy mgr create ceph-node3

ceph 12版本开始,monitor必须添加mgr。

(15)ceph-node1上开启 dashboard

[root@ceph-node1 ~]# ceph mgr module enable dashboard
[root@ceph-node1 ceph]# netstat -antpl | grep ceph-mgr | grep LISTEN
tcp        0      0 192.168.98.52:6806      0.0.0.0:*               LISTEN      3758/ceph-mgr     
tcp6       0      0 :::7000                 :::*                    LISTEN      3758/ceph-mgr       

(16)访问dashboard

使用浏览器访问:http://IP:Port,如:http://192.168.98.52:7000/。

  • Cluster health

部署ceph分布式存储集群_第21张图片

  • OSD daemons

部署ceph分布式存储集群_第22张图片

  • Block Mirroring

部署ceph分布式存储集群_第23张图片

(17)ceph-node1上创建 vms volumes images

[root@ceph-node1 ceph]# ceph osd pool create vms 128
[root@ceph-node1 ceph]# ceph osd pool application enable vms rbd

[root@ceph-node1 ceph]# ceph osd pool create volumes 128
[root@ceph-node1 ceph]# ceph osd pool application enable volumes rbd

[root@ceph-node1 ceph]# ceph osd pool create images 128
[root@ceph-node1 ceph]# ceph osd pool application enable images rbd

部署ceph分布式存储集群_第24张图片
(18)ceph-node1上查看pool

[root@ceph-node1 ceph]# ceph osd lspools

在这里插入图片描述

你可能感兴趣的:(分布式存储)