事先准备虚机
ip name 系统
...173 client centos7
...175 node1 centos7
...178 node2 centos7
...179 node3 centos7
每台都需要做的
--------------------------------------------------------------------------------------------------------------------
1.关闭防火墙和SElinx
systemctl stop firewalld
systemctl disable firewalld
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
setenforce 0
2.配置主机名和ip地址解析
hostname {name}
echo -e " ...172\n ...175\n ...178\n ...179\n" >>/etc/hosts (追加本地域名解析)
3. 节点免密互信
(选择一台主节点配置)
ssh-keygen -f ~/.ssh/id_rsa -N ' ' -q (-f 写入指定目录 -N 密码验证 里面为空格为免密 -q 静默模式)
for i in node1 node2 node3 client; do ssh-copy-id $i; done(发公钥)
for i in node1 node2 node3 client; do ssh-copy-id $i; done(验证)
node1
node2
node3
client
-------------------------
4.配置时间同步
一般本机默认安装了chrony的
在/etc/chrony.conf 里面改有如下内容行
server ntp.aliyun.com iburst(多个选择注释掉)
allow 172.16.0.0/16
local stratum 10(开启服务不可用也允许把本地授予其他客户端)
开机自启
systemctl enable chronyd --now
上面为在主节点的配置
下面去每台上配置
/etc/chrony.conf
把服务那几行注释
添加 server node1 iburst
重启服务
设置开机自启
systemctl enable chronyd
检查同步
chronyc sources
可以去每台机上输入date检查时间
---------------------------------------------------------------------------------------------------------------------------------
之后在主节点做
5.配置yum源
有直接配好的自提链接:
https://pan.baidu.com/s/1DD-g-4GY5shOu7LV-Dcctg
提取码:1234
拷贝到目录上
把主节点做为yum仓库其他节点使用ftp使用仓库
yum install -y vsftpd
systemctl enable vsftpd --now
把ceph.iso 挂载到 /var/ftp
mkdir /var/ftp/ceph
echo "/root/ceph.iso /var/ftp/ceph iso9660 defaults 0 0" >> /etc/fstab (开机自启)
mount -a (挂载上镜像)
6. 集群部署
设置环境变量防止使用官方yum源
export CEPH_DEPLOY_REPO_URL=ftp://node1/ceph/
7.在node1上安装部署工具,学习工具的语法格式。
Ceph官方推出了一个用python写的工具 cpeh-deploy,可以很大的简化ceph集群的配置过程
mkdir /ceph-cluster
cd /ceph-cluster
yum install /var/ftp/ceph/noarch/ceph-deploy-2.0.1-0.noarch.rpm
8.创建ceph集群,在/ceph-cluster目录下生成配置文件
node1-node3添加epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install python2-pip -y
pip install distribute -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
ceph-deploy new node1 node2 node3
ll检查
9.所有节点安装ceph相关软件包
ceph-deploy install node1 node2 node3
10.初始启动mon服务
ceph-deploy mon create-initial (拷贝并设置开机自启)
ls /etc/ceph/
切换节点检查状态
systemctl is-active ceph-mon@node3.service
active
11.创建ceph管理节点(mgr)
ceph-deploy mgr create node1 node2 node3
格式化sdb
for i in node{1..3}
do
ssh $i parted /dev/sdb mklabel gpt
ssh $i parted /dev/sdb mkpart primary 1 50%
ssh $i parted /dev/sdb mkpart primart 50% 100%
done
修改权限
for i in node{1..3}
do
ssh $i chown ceph.ceph /dev/sdb1 /dev/sdb2
done
写入规则永久有效
vim /etc/udev/rules.d/70-sdb.rules
ENV{DEVNAME}=="/dev/sdb1",OWNER="ceph",GROUP="ceph"
ENV{DEVNAME}=="/dev/sdb2",OWNER="ceph",GROUP="ceph"
发给其他节点
for i in node{2..3}
do
scp /etc/udev/rules.d/70-sdb.rules $i:/etc/udev/rules.d/
done
13.创建osd存储
for i in node{1..3}
do
ssh $i parted /dev/sdc mklabel gpt
ssh $i parted /dev/sdd mklabel gpt
done
清理
for i in node{1..3}
do
ssh $i ceph-volume lvm zap /dev/sdc
ssh $i ceph-volume lvm zap /dev/sdd
done
创建osd空间
ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node1
ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node2
ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node3
结构
12.ceph状态,验证
在主节点生成的ceph.client.admin.keyring文件拷贝至所有节点的/etc/ceph下
ceph-deploy admin node1 node2 node3
ceph health (结果:HEALTH_OK)
ceph -s(上下两个命令都可健康检查,一定要通过检查)
13.dashboard(不稳定)
for i in node{1..3}
do
ssh $i yum install -y ceph-mgr-dashboard
done
ceph mgr module enable dashboard --force 启动
ceph dashboard create-self-signed-cert 证书免
ceph dashboard ac-user-create {admin}{admin}{administrator}
ceph mgr services
(不建议使用 不好搞出来页面)