Ceph 集群搭建
1.Ceph部署
1.1 Ceph 安装前准备,环境与拓扑图如下:
主机名 |
外网IP |
内网IP |
安装组件 |
磁盘块 |
c720181 |
172.22.69.84 |
192.168.20.181 |
ceph-deploy osd |
sdb |
c720182 |
172.22.69.85 |
192.168.20.182 |
mon osd |
sdb |
c720183 |
172.22.69.86 |
192.168.20.183 |
mon osd |
sdb |
c720184 |
172.22.69.95 |
192.168.20.184 |
cli |
============每台主机都需要配置============
配置主机名,IP地址(略)
关闭防护墙和selinux(略)
配置主机名解析,使用/etc/hosts
cat >>/etc/hosts>>EOF
192.168.20.181 c720181
192.168.20.182 c720182
192.168.20.183 c720183
192.168.20.184 c720184
1.2 部署安装
安装方式如下:
官网安装方式:https://docs.ceph.com/docs/master/start/
Ansilbe安装方式:https://docs.ceph.com/ceph-ansible/master/
使用官方推荐的ceph-deploy部署集群:
============每台主机都需要配置============
配置环境变量:
export username="ceph-admin"
export passwd="ceph-admin"
export node1="c720181"
export node2="c720182"
export node3="c720183"
export node4="c720184"
export node1_ip="192.168.20.181"
export node2_ip="192.168.20.182"
export node3_ip="192.168.20.183"
export node4_ip="192.168.20.184"
配置rpm
wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
或者直接在/etc/yum/repos.d/目录下,创建ceph.repo,添加内容如下:
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
配置NTP
yum -y install ntpdate ntp
ntpdate cn.ntp.org.cn
systemctl restart ntpd ntpdate &&
systemctl enable ntpd ntpdate
创建部署用户和ssh免密码登陆
useradd ${username}
echo "${passwd}" | passwd --stdin
${username}
echo "${username} ALL = (root)
NOPASSWD:ALL" | sudo tee /etc/sudoers.d/${username}
chmod 0440 /etc/sudoers.d/${username}
配置sudo 不需要tty
sed -i 's/Default requiretty/#Default requiretty/' /etc/sudoers
============只在管理节点192.168.20.181上配置============
su - ceph-admin
export username=ceph-admin
ssh-keygen
ssh-copy-id ${username}@c720181
ssh-copy-id ${username}@c720182
ssh-copy-id ${username}@c720183
ssh-copy-id ${username}@c720184
1.2.1 安装 ceph-deploy
su - ceph-admin
sudo yum install -y ceph-deploy python-pip
如果提示没有python-pip安装包,则切换到root用户安装epel-release,然后再尝试安装python-pip
1.2.2 部署节点
su - ceph-admin
mkdir my-cluster
cd my-cluster
ceph-deploy new c720181 c720182 c720183
编辑ceph.conf配置文件
cat ceph.conf
[global]
……
public network = 172.22.69.0/24
cluster network = 192.168.20.0/24
============每台主机都需要配置============
安装ceph包,替代再管理端使用ceph-deploy install node1 node2 node3,因为使用ceph-deploy安装的话通过官网yum源去安装,这样会很慢而且容易报错
yum install -y ceph ceph-radosgw
如果有遇到上述报错的话,是因为yum源没有相关依赖包,则切换到root用户安装epel-release,然后再尝试安装 yum install -y ceph ceph-radosgw
============只在管理节点192.168.20.181上配置============
配置初始化monitor(s)、并收集所有密钥
su - ceph-admin
cd my-cluster
ceph-deploy mon create-initial
如果出现上述报错:
解决办法:在各个节点上执行sudo pkill ceph,然后再在deploy节点执行ceph-deploy mon create-initial
ls -l *.keyring
然后发现ERROR报错消失了,配置初始monitor(s)、并收集到了所有密钥,当前目录下可以看到下面这些密钥环
ceph.bootstrap-mds.keyring
ceph.bootstrap-mgr.keyring
ceph.bootstrap-osd.keyring
ceph.bootstrap-rgw.keyring
ceph.client.admin.keyring
把配置信息拷贝到各节点
ceph-deploy admin c720181 c720182 c720183
配置osd
for dev in /dev/sdb
do
ceph-deploy disk zap c720181
$dev
ceph-deploy osd create c720181
--data $dev
ceph-deploy disk zap c720182
$dev
ceph-deploy osd create c720182
--data $dev
ceph-deploy disk zap c720183
$dev
ceph-deploy osd create c720183
--data $dev
done
如果有多个硬盘,可以将
for dev in /dev/sdb 改为
for dev in /dev/sdb, /dev/sdc, /dev/sdd
部署mgr(新版本监控UI, L版以后才需要部署)
ceph-deploy mgr create c720181 c720182 c720183
开启dashboard模块,用于UI查看
ceph mgr module enable dashboard
上述报错是因为/etc/ceph 目录权限是root,而不是ceph-admin
所以用所属用户权限改成ceph-admin即可:sudo chown -R ceph-admin
/etc/ceph/
再执行启用dashboard模块命令:ceph mgr module enable
dashboard
访问监控面板地址:http://192.168.20.181:7000/servers
问题处理:
1、 访问速度慢,输入链接访问,退出lab非常慢,通过F12发现访问跳转到fonts.googleapis.com CSS文件特别久。
解决办法:取消访问http://fonts.googleapis.com 站点的CSS静态文件。
路径:/usr/lib64/ceph/mgr/dashboard/static/AdminLTE-2.3.7/dist/css
需改下面两个文件,注释掉访问http://fonts.googleapis.com的行
vim AdminLTE.min.css
# @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic);/*!
* AdminLTE v2.3.7
* Author: Almsaeed Studio
* Website: Almsaeed Studio <http://almsaeedstudio.com>
* License: Open source - MIT
* Please visit http://opensource.org/licenses/MIT for more information
重启服务:
[ceph-admin@c720181 my-cluster]$ ceph mgr module disable dashboard
[ceph-admin@c720181 my-cluster]$ ceph mgr module enable dashboard
Ceph 集群搭建的更多相关文章
- ceph集群搭建
CEPH 1.组成部分 1.1 monitor admin节点安装ceph-deploy工具 admin节点安装ceph-deploy 添加源信息 rm -f /etc/yum.repos.d/* w ...
- Ceph集群搭建及Kubernetes上实现动态存储(StorageClass)
集群准备 ceph集群配置说明 节点名称 IP地址 配置 作用 ceph-moni-0 10.10.3.150 centos7.5 4C,16G,200Disk 管理节点,监视器 monitor ...
- CEPH集群搭建(CentOS 7)
以包含四个节点的集群为例,其中包括一个 ceph-deploy 管理节点和一个三节点的Ceph存储集群. 下图中每个节点代表一台机器. 创建一个 Ceph 存储集群,它有一个 Monitor 和两个 ...
- Ceph集群搭建记录
环境准备 基础环境 node00 192.168.247.144 node00 node01 192.168.247.135 node01 node02 192.168.247.143 node02 ...
- docker创建ceph集群
背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...
- ceph-deploy离线部署ceph集群及报错解决FAQ
ceph-deploy部署ceph集群 环境介绍 主机名 ip地址 操作系统 角色 备注 ceph-node1 10.153.204.13 Centos7.6 mon.osd.mds.mgr.rgw. ...
- Ceph部署(一)集群搭建
背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...
- Ceph 存储集群 - 搭建存储集群
目录 一.准备机器 二.ceph节点安装 三.搭建集群 四.扩展集群(扩容) 一.准备机器 本文描述如何在 CentOS 7 下搭建 Ceph 存储集群(STORAGE CLUSTER). 一共4 ...
- 小型ceph集群的搭建
了解ceph DFS(distributed file system)分布式存储系统,指文件系统管理的物理存储资源,不一定直接连接在本地节点上,而是通过计算机网络与节点相连,众多类别中,ceph是当下 ...
随机推荐
- kubernetes的ingress-nginx
这是一篇学习记录.记录kubernetes集群中如何将jenkins服务通过域名接入外部.由于是测试环境,域名是自定义的,解析写在/etc/hosts和自己本地的hosts中. 部署图: 一.部署后端 ...
- [LC] 108题 将有序数组转换为二叉搜索树 (建树)
①题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,- ...
- [软件使用][matlab]最近经常用到的一些函数的意思,和用法
① cat(dim,A,B)按指定的维度,将A和B串联,dim是维度,比如1,2.1指列,2指行: ②numel(A),返回数组中,元素的个数 ③gpuArray(A),在gpu中产生一个数组A,一般 ...
- nyoj 991 Registration system (map)
Registration system 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 A new e-mail service "Berlandesk&q ...
- ReentreantLock:重入锁
ReentreantLock:重入锁 参考:https://www.cnblogs.com/nullzx/p/4968674.html 一). ReentrantLock与synchronized的区 ...
- Class文件结构全面解析(下)
接上回书 书接上一回,分享了Class文件的主要构成,同时也详细分析了魔数.次版本号.主版本号.常量池集合.访问标志的构造,接下来我们就继续学习. 欢迎关注微信公众号:万猫学社,每周一分享Java技术 ...
- Clean Code 笔记 之 第四章 如何应用注释
继上一篇笔记之后,今天我们讨论一下 代码中是存在注释是否是一件好的事情. 在我们开发的过程中讲究“名副其实,见名识意”,这也往往是很多公司的要求,但是有了这些要求是不是我们的代码中如果存在注释是不是意 ...
- Python 深入浅出支持向量机(SVM)算法
相比于逻辑回归,在很多情况下,SVM算法能够对数据计算从而产生更好的精度.而传统的SVM只能适用于二分类操作,不过却可以通过核技巧(核函数),使得SVM可以应用于多分类的任务中. 本篇文章只是介绍SV ...
- day 42 JavaScript 基础知识部分
一. JavaScript存放位置 <script type="text/javascript" src="JavaScript文件路径">< ...
- day 28 黏包 ssh模块 subprocess模块
套接字的信仰 一切皆文件 昨日作业: import socket sock=socket.socket() # TCP协议 IP_PORT=("127.0.0.1",8899) s ...