环境

系统: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. Util6 MIS2.0 (优六信息化管理系统框架)

    Util6 MIS一套基于ASP.NET MVC5 + Layui 开发的通用信息化管理系统快速开发框架 系统操作界面简洁, 项目结构清晰,功能模块化设计,支撑框架轻量高效,代码层级分离,注释完整,可 ...

  2. 《.NET 进阶指南》读书笔记1------NET程序集与普通EXE文件的区别

    开发人员将源文件编译之后生成的中间件,我们称之为"程序集".因为程序集文件名一般以.EXE(或者DLL)结尾,因此很容易将它与传统开发过程中的EXE文件(或者DLL文件)搞混淆.虽 ...

  3. python正常时间和unix时间戳时间的相互转换源码

    在学习过程,将内容过程比较常用的一些内容做个珍藏,下面的内容段是关于python正常时间和unix时间戳时间的相互转换的内容,应该是对各朋友有些帮助. import time def timestam ...

  4. Android远程桌面助手(B1185)for Android P开发者预览版

    Android P的开发者预览版已出,其中App compatibility changes部分特别强调“The platform restricts the use of some non-SDK ...

  5. typescript中的接口

    说到接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心 ...

  6. LeetCode算法题-Reach a Number(Java实现)

    这是悦乐书的第310次更新,第331篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第179题(顺位题号是754).你站在无限数字线的0号位置.在目的地有个target.在 ...

  7. MySQL(InnoDB)是如何处理死锁的

    MySQL(InnoDB)是如何处理死锁的 一.什么是死锁 官方定义如下:两个事务都持有对方需要的锁,并且在等待对方释放,并且双方都不会释放自己的锁. 这个就好比你有一个人质,对方有一个人质,你们俩去 ...

  8. 【html】使用img标签和背景图片之间的区别

    1.加载问题 背景图片会等到html结构加载完成才开始加载 img标签是网页结构的一部分,会在html结构加载的时候加载 在网页加载的过程中,背景图片会等到结构加载完成(网页的内容全部显示以后)才开始 ...

  9. maven笔记学习

    一.修改setting.xml文件中的镜像 在导入他人项目或者在导入项目时,我们会出现在项目中不能识别maven配置的库文件的情况那么我们可以重新下载本地库, 首先我们可以修改我们安装的maven环境 ...

  10. python读写excel文件

    '''xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576.'''import openpyxl ''' ...