环境

系统:Centos 7(系统最小化安装)
版本:Ceph mimic

系统配置

配置主机名hostname、hosts、关闭firewalld、ssh无密码登录、ntp时间同步等,过程略。

保存下载rpm包,安装或升级的同时保留RPM包。yum 默认情况下,升级或者安装后会删除下载的rpm包。不过,我们也可以设置不删除下载的rpm包。

1
2
3
4
vim/etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0

将 keepcache=0 修改为 keepcache=1, 安装或者升级后,在目录 /var/cache/yum 下就会有下载的 rpm 包了。

配置源,使用阿里源

1
2
3
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

删除阿里内网地址

1
sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo

创建ceph源

1
2
3
4
5
6
7
8
9
10
echo '
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
priority=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
'>/etc/yum.repos.d/ceph.repo

生成缓存

1
yum clean all && yum makecache

指定安装版本的源

1
2
export CEPH_DEPLOY_REPO_URL=https://mirrors.aliyun.com/ceph/rpm-mimic/el7
export CEPH_DEPLOY_GPG_URL=https://mirrors.aliyun.com/ceph/keys/release.asc

安装Ceph

ceph-node1:Ceph mon+osd节点
ceph-node2:Ceph mon+osd节点
ceph-node3;Ceph mon+osd节点

安装ceph-deploy配置工具

1
yum install -y ceph-deploy

创建配置目录

1
mkdir /etc/ceph && cd /etc/ceph/

初始化Mon配置

1
ceph-deploy new --public-network 192.168.111.0/24 ceph-node{1,2,3}

配置网络,单网卡忽略 修改冗余份数为2,日志大小2G

1
2
3
4
5
6
7
8
9
10
echo '
mon_clock_drift_allowed = 2
osd_journal_size = 4086
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128
osd pool default size = 2
osd pool default min size = 1
rbd_default_features = 1
client_quota = true
'>>./ceph.conf

安装Ceph

1
ceph-deploy install --release mimic ceph-admin ceph-node{1,2,3}

初始化monitor和key

1
ceph-deploy --overwrite-conf mon create-initial

分发拷贝配置及密钥

1
2
chmod 644 /etc/ceph/ceph.client.admin.keyring
ceph-deploy admin ceph-admin ceph-node{1,2,3}

创建存储节点,清空磁盘

1
2
3
ceph-deploy disk zap ceph-node1 /dev/vdb
ceph-deploy disk zap ceph-node2 /dev/vdb
ceph-deploy disk zap ceph-node3 /dev/vdb

查看可用磁盘

1
2
3
ceph-deploy disk list ceph-node1
ceph-deploy disk list ceph-node2
ceph-deploy disk list ceph-node3

创建osd

1
2
3
ceph-deploy --overwrite-conf osd create ceph-node1 --data /dev/vdb 
ceph-deploy --overwrite-conf osd create ceph-node2 --data /dev/vdb
ceph-deploy --overwrite-conf osd create ceph-node3 --data /dev/vdb

创建 ceph mgr 管理进程服务,自12版本启用

1
2
3
ceph-deploy --overwrite-conf mgr create ceph-node1
ceph-deploy --overwrite-conf mgr create ceph-node2
ceph-deploy --overwrite-conf mgr create ceph-node3

创建mon

1
2
3
4
5
6
ceph-deploy --overwrite-conf mon create ceph-node1
ceph-deploy --overwrite-conf admin ceph-node1
ceph-deploy --overwrite-conf mon create ceph-node2
ceph-deploy --overwrite-conf admin ceph-node2
ceph-deploy --overwrite-conf mon create ceph-node3
ceph-deploy --overwrite-conf admin ceph-node3

取消Cephx认证(可选)
把下列配置加入 Ceph 配置文件的 [global] 段下即可禁用 cephx 认证

1
2
3
auth cluster required = none
auth service required = none
auth client required = none

修改后,需要重启 Ceph服务,在每个ceph节点上都需要执行

1
2
systemctl restart ceph-mon.target
systemctl restart ceph-osd.target

启用dashboard (在mon节点)

1
ceph mgr module enable dashboard

设置dashboard的ip和端口

1
2
3
ceph config-key put mgr/dashboard/server_addr ceph-node1
ceph config-key put mgr/dashboard/server_port 8443
systemctl restart ceph-mgr@ceph-node1

生成并安装自签名证书

1
2
# ceph dashboard create-self-signed-cert
Self-signed certificate created

创建具有管理员角色的用户

1
2
# ceph dashboard set-login-credentials admin admin
Username and password updated

登录Web界面

制作repo文件

拷贝安装下载的ceph rpm包到指定文件夹

1
find /var/cache/yum/ -name *.rpm | xargs -i cp {} ceph_mimic_rpms/

这里要用到createrepo命令,如果没有此命令需要先安装它

1
yum install createrepo -y

生成一个repodata文件夹

1
createrepo ceph_mimic_rpms/

之后就可以正常离线安装ceph。如果机器无法访问外网,需要事先从https://download.ceph.com/keys/release.asc 下载对应的release.asc文件,上传到集群的每一个节点上,执行如下命令:

1
rpm --import './release.asc'

rpm包更新
在使用过程中,可能还需要添加其他rpm包,把rpm包丢到ceph_mimic_rpms/目录下,我们不用重新制作repodata文件,只需要update一下。

1
createrepo --update ceph_mimic_rpms/

本机使用ceph离线源

1
2
mkdir  /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

在文件 /etc/yum.repos.d/ceph-deploy.repo中添加以下内容,保存

1
2
3
4
5
[LocalCeph]
name=LocalCeph
baseurl=file:///opt/ceph_mimic_rpms //ceph包存放目录
gpgcheck=0
enabled=1

执行下面命令生效

1
2
3
yum clean all
yum makecache
yum list | grep ceph

最后,离线安装ceph,过程同上。

其他机器使用ceph离线源

在ceph源机器上安装nginx,createrepo,reposync

1
yum install nginx createrepo yum-utils -y

在nginx根目录建立文件夹

1
mkdir -p /usr/share/nginx/html/yum/x86_64/ceph/RPMS

启动nginx

1
systemctl enable nginx && systemctl restart nginx

将下载的ceph包放在/usr/share/nginx/html/yum/x86_64/ceph/RPMS目录下

自动生成repodata

1
createrepo -p /usr/share/nginx/html/yum/x86_64/ceph/

在client端创建repo文件ceph-deploy.repo

1
2
3
4
5
[Ceph]
name=Ceph
baseurl=http://server IP/yum/x86_64/ceph
gpgcheck=0
enabled=1

验证

1
2
3
yum clean all
yum makecache
yum list | grep ceph

Ceph mimic的更多相关文章

  1. 手动部署 Ceph Mimic 三节点

    目录 文章目录 目录 前文列表 部署拓扑 存储设备拓扑 网络拓扑 基础系统环境 安装 ceph-deploy 半自动化部署工具 部署 MON 部署 Manager 部署 OSD 部署 MDS 部署 R ...

  2. ceph mimic版本 部署安装

    ceph 寻址过程 1. file --- object映射, 把file分割成N个相同的对象 2. object - PG 映射, 利用静态hash得到objectID的伪随机值,在 "位 ...

  3. Ceph RBD 的实现原理与常规操作

    目录 文章目录 目录 前文列表 RBD RBD Pool 的创建与删除 块设备的创建与删除 块设备的挂载与卸载 新建客户端 块设备的扩缩容 RBD 块设备的 Format 1 VS Format 2 ...

  4. Kubernetes master服务定制编译docker镜像

    前言 之前部署了Kubernetes 1.13.0,发现master服务的启动方式与1.10.4版本有所区别,kube-apiserver.kube-controller-manager和kube-s ...

  5. Kubernetes添加带Quota限额的CephFS StorageClass

    1. 在Ceph上为Kubernetes创建一个文件系统 # ceph osd pool create cephfs_data # ceph osd pool create cephfs_metada ...

  6. ceph部署实践(mimic版本)

    一.准备环境 4台adminos7.4 环境,存储节点上两块磁盘(sda操作系统,sdb数据盘) clientadmin storage1storage2storage3 二.配置环境 1.修改主机名 ...

  7. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制

    背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...

  8. ceph版本号

    概述 第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月.多年来,版本号方案一直没变,直到 2015 年 4 月 0.94.1 ( Hammer 的第一个修正版)发布后,为了避免 0. ...

  9. 虚拟机使用ceph-deploy安装ceph

    参考: ceph官网介绍 使用ceph-deploy安装Ceph 12.x 安装虚拟机 首先安装虚拟机环境,虚拟机安装这里不做介绍,本实验使用的镜像为CentOS-7-x86_64-Everythin ...

随机推荐

  1. Hacking Bsides Vancouver 2018 walkthrough

    概述: Name: BSides Vancouver: 2018 (Workshop) Date release: 21 Mar 2018 Author: abatchy Series: BSides ...

  2. 使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

    首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用 <iframe src="<c:url value="js/gen ...

  3. MyDAL - .Where() & .And() & .Or() 使用

    索引: 目录索引 一.API 列表 1.Where .Where(Func<M, bool> func) 如: .Where( it => (it.Prop1>=条件1 &am ...

  4. windows2012R2安装SQL2005详情!

    用友T3软件报错单据的时候提示1105数据库错误 原因分析:客户使用的是sql2005 express的数据库,账套的物理文件达到了4G. 只能重装SQL的版本,but.... 在window2012 ...

  5. hive基础总结(面试常用)

    hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. Metastore (hiv ...

  6. thinkPHP HTML输出多条查询结果

    控制端 $select=M('Baojiao')->query("select * from think_Baojiao where COMPANY='$comname'") ...

  7. Windows 10 远程连接出现函数错误 【这可能由于CredSSP加密Oracle修正】

    win+R 弹出窗口输入gpedit.msc 计算机配置=>管理模板=>系统=>凭据分配=>加密Oracle修正 编辑策略设置=>已启用=>保护级别=>易受攻 ...

  8. php分页数据最后一页继续追加第一页数据

    之前做数据分页遇到这样一个需求,就是数据到最后一页的时候不能中断,继续把第一页的数据追加到后面,无限显示下去. 原文地址:代码汇个人博客 http://www.codehui.net/info/23. ...

  9. MATLAB GUI界面设计------“轴”组件配置

    1> Fontsize            10         %字体大小 2> FontUnits           normalized      %采用相对度量单位,缩放时保持 ...

  10. 通知实战 设置通知图片(iOS10以后的)

    解释两个基本扩展(Notification Content.Notification Service) Notification Content其实是用来自定义长按通知显示通知的自定义界面 Notif ...