1.ceph的组件和功能2.ceph的数据读写流程3.使用ceph-deploy安装一个最少三个节点的ceph集群 推荐3个或以上的磁盘作为专用osd

一、使用ceph-deploy安装一个最少三个节点的ceph集群 使用3个或以上的磁盘作为专用osd

配置node1到所有节点root用户免密钥互信。

node1做
# node1上生成密钥对
[root@node1 ~]# ssh-keygen -f ~/.ssh/id_rsa -N '' -q

# 公钥分发到所有节点
[root@node1 ~]# for i in node1 node2 node3 client; do ssh-copy-id $i; done

# 验证免密钥互信
[root@node1 ~]# for i in node1 node2 node3 client; do ssh $i hostname; done
node1
node2
node3
client


配置时间同步。


[root@node1 ~]# yum install chrony -y
# 修改配置文件 /etc/chrony.conf
server ntp.aliyun.com iburst

# 启动chrony服务并设置开机自启动
[root@node1 ~]# systemctl restart chronyd
[root@node1 ~]# systemctl enable chronyd --now

# 检查时间同步
[root@node2 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 120.25.115.20                 2   7   123    76   +588us[+1321us] +/-   19ms


node1配置为yum仓库服务器,其他节点使用ftp方式使用ceph仓库

# 上传ceph.iso到node1
[root@node1 ~]# ll ceph.iso
-rw-r--r-- 1 root root 2408808448 Mar 18 09:15 ceph.iso
在node1里安装
# 安装httpd并设置为开机自启动
[root@node1 ~]# yum install -y vsftpd
[root@node1 ~]# systemctl enable vsftpd --now

# 挂载ceph.iso到/var/ftp
[root@node1 ~]# mkdir /var/ftp/ceph
[root@node1 ~]# echo "/root/ceph.iso  /var/ftp/ceph  iso9660 defaults 0 0" >> /etc/fstab 
[root@node1 ~]# mount -a

# yum文件ceph.repo由后面的ceph-deploy工具安装时自动生成。

二、部署ceph集群

一、安装ceph-deploy

[root@node1 ~]# export CEPH_DEPLOY_REPO_URL=ftp://node1/ceph/

1、在node1上安装部署工具

[root@node1 ceph-cluster]# yum install /var/ftp/ceph/noarch/ceph-deploy-2.0.1-0.noarch.rpm 

2、node1上创建工作目录

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

二、创建ceph集群,在/ceph-cluster目录下生成配置文件。

1、创建ceph集群,并设置mon节点。

node1-node3添加epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@node1 ceph-cluster]# yum install python2-pip -y
[root@node1 ceph-cluster]# pip install distribute -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
 

node1里做
[root@node1 ceph-cluster]# ceph-deploy new node1 node2 node3
#给所有节点安装ceph相关软件包。
[root@node1 ceph-cluster]# ceph-deploy install node1 node2 node3
#初始化所有节点的mon服务,也就是启动mon服务。
[root@node1 ceph-cluster]# ceph-deploy mon create-initial

[root@node3 ~]# ls /etc/ceph/
ceph.conf  rbdmap  tmpn1zEAD
[root@node3 ~]# systemctl is-active ceph-mon@node3.service 
active

创建ceph管理节点(mgr)
[root@node1 ceph-cluster]# ceph-deploy mgr create node1 node2 node3 
 

三、准备日志磁盘分区

注意:sdb1和sdb2两个分区用来做存储服务器的journal缓存盘。生产中固态用于缓存,sas用户共享。

1、格式化sdb

[root@node1 ceph-cluster]# 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

2、磁盘分区后的默认权限无法让ceph对其进行读写操作,需要修改权限。

[root@node1 ceph-cluster]# for i in node{1..3}
do
 ssh $i chown ceph.ceph /dev/sdb1 /dev/sdb2
done

[root@node1 ceph-cluster]# vim /etc/udev/rules.d/70-sdb.rules
ENV{DEVNAME}=="/dev/sdb1",OWNER="ceph",GROUP="ceph"
ENV{DEVNAME}=="/dev/sdb2",OWNER="ceph",GROUP="ceph"

# 复制到其他osd节点
[root@node1 ceph-cluster]# for i in node{2..3}
do
 scp /etc/udev/rules.d/70-sdb.rules $i:/etc/udev/rules.d/
done


创建OSD存储空间

1、初始化清空磁盘数据(仅在node1操作)

[root@node1 ceph-cluster]# for i in node{1..3}
do
 ssh $i parted /dev/sdc mklabel gpt
 ssh $i parted /dev/sdd mklabel gpt
done

#清理磁盘
[root@node1 ceph-cluster]# for i in node{1..3}
do 
  ssh $i ceph-volume lvm zap /dev/sdc
  ssh $i ceph-volume lvm zap /dev/sdd
done
2、创建OSD存储空间

[root@node1 ceph-cluster]# ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node1
// 创建osd存储设备,sdc提供存储空间,sdb1提供缓存
[root@node1 ceph-cluster]# ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node2
[root@node1 ceph-cluster]# ceph-deploy osd create --data /dev/sdc --journal /dev/sdb1 --data /dev/sdd --journal /dev/sdb2 node3
 

五、查看ceph状态,验证

[root@node1 ceph-cluster]# ceph-deploy admin node1 node2 node3
 

检查集群状态:

[root@node1 ceph-cluster]# ceph health
HEALTH_OK

[root@node1 ceph-cluster]# ceph -s
  cluster:
    id:     5dcfa8b4-b911-4fc4-9bcf-a7d6cb48bf4b
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum node2,node1,node3 (age 3m)
    mgr: node1(active, since 2m), standbys: node2, node3
    osd: 3 osds: 3 up (since 44s), 3 in (since 44s)
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 27 GiB / 30 GiB avail
    pgs:     
 
六、启用dashboard

# 在所有的mgr节点上单独安装
[root@node1 ceph-cluster]# for i in node{1..3}
do
 ssh $i yum install -y ceph-mgr-dashboard
done

# 启用dashboard
[root@node1 ceph-cluster]# ceph mgr module enable dashboard --force

# 默认启用SSL/TLS,所以需要创建自签名根证书
[root@node1 ceph-cluster]# ceph dashboard create-self-signed-cert

# 创建具有管理员角色的用户
[root@node1 ceph-cluster]# ceph dashboard ac-user-create admin admin administrator
{"username": "admin", "lastUpdate": 1658839576, "name": null, "roles": ["administrator"], "password": "$2b$12$/fUwpr/vlP4NC2fgt12NPu3kjUD/Zk0jqqc69QTEJBIA4tXvTUfB6", "email": null}

# 查看ceph-mgr服务
[root@node1 ceph-cluster]# ceph mgr services
{
    "dashboard": "https://node1:8443/"
}
 

最后网页登录node1:8443网址

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值