环境

系统: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. arcgis api for js入门开发系列二十打印地图的那些事

    前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...

  2. Win10系统下装Ubuntu虚拟机的遇到的问题总结

    环境和工具 win10操作系统 VMware Workstation 12 Ubuntu 14.0 64位 教程可参考:VMware Ubuntu安装详细过程(非常靠谱) [因为我的安装过程不是十分顺 ...

  3. 阿里云服务器部署Java Web项目全过程

    最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...

  4. 禁用windows10自动更新

    更换win10系统后经常会自动更新,每次关机前都会提示关机并更新选项,禁用window update后每隔几天还是会出现 解决:同时禁用以下两项 Windows Update Medic Servic ...

  5. cent os 7 与cent os 6区别

    原文地址:https://www.cnblogs.com/Csir/p/6746667.html 前言 centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的 ...

  6. 配置SSH(GNS3)

    实验拓扑: -------------------------------------------配置IP过程不多啰嗦了 1.SSH配置过程 这里是用GSN3模拟器做的 --------------- ...

  7. 【js】js中判断对数是否为空

    1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{ ...

  8. 关于当前Web前端技术的一些感悟和笔记

    最近这些年,随着前端应用技术突飞猛进,产生了很多新的前端框架,当然也引入了数不胜数的前端技术概念,前端不在是早期Web Form的拖拉处理方式,也不再是Ajax+HTML那么简单,随着前端技术的发展, ...

  9. (五)jdk8学习心得之默认方法

    五.默认方法 1. 使用方法:写在接口中,就是为了接口可以做一些事情. 2. 目的:有很多实现类,有一个公共的抽象方法,其实这些实现类实现该抽象方法的内容是完全一致的,完全没有必要都重新实现一遍.并且 ...

  10. mysql提取.sql备份文件中的单个表以及表数据

    背景:随着业务模块的不断在增多,数据库mysql容量也是越来越大,做测试时,整个备份还原比较耗费时间,由于有时候仅仅需要单个表或者少数几个表,要想从整个备份文件中提取指定的表以及数据,需要以下方法. ...