CEPH环境搭建

Ceph:
1、它是一个分布式文件系统,可以提供块存储、文件系统存储和对象存储。但是文件存储还不非常成熟,不建议在生产环境中使用。应用的最多的形式是块存储。
2、Ceph主要组件

OSD:对象存储设备,它是ceph中唯一的真正进行数据存储的组件。通常情况下,一个OSD进程绑定到一块物理磁盘。
MON:Monitor监视器,跟踪整个集群的健康状态。它为每个ceph组件维护一个映射表。MON进程数目是奇数,如3、5、7……
MDS:元数据服务器。为ceph文件系统存储提供元数据,如果不是文件系统存储则不需要。
元数据:描述数据的数据。如一本书的出版社、页数、作者、出版时间等都是元数据。
RADOS:可靠自主的分存式对象存储。RADOS保证CEPH中的各种数据都是对象形式,操持CEPH的一致性。
RBD:为客户端提供块存储接口
RADOS GW:为客户端提供对象存储接口
CEPH FS:为客户端提供文件系统存储接口

CEPH环境搭建
1、创建5台虚拟机
node1.tedu.cn 192.168.4.1
node2.tedu.cn 192.168.4.2
node3.tedu.cn 192.168.4.3
node4.tedu.cn 192.168.4.4
client.tedu.cn 192.168.4.10
2、启动虚机
[[email protected] kvms_ansi]# for vm in rh7_node{1..5}

do
virsh start $vm
done
3、在物理主机上配置CEPH的YUM源
[[email protected] cluster]# mkdir /var/ftp/ceph/
[[email protected] cluster]# tail -1 /etc/fstab
/ISO/rhcs2.0-rhosp9-20161113-x86_64.iso /var/ftp/ceph iso9660 defaults 0 0
[[email protected] cluster]# mount -a
[[email protected] ~]# vim server.repo
[rhel7.4]
name=rhel7.4
baseurl=ftp://192.168.4.254/rhel7.4
enabled=1
gpgcheck=0
[mon]
name=mon
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/MON
enabled=1
gpgcheck=0
[osd]
name=osd
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/OSD
enabled=1
gpgcheck=0
[tools]
name=tools
baseurl=ftp://192.168.4.254/ceph/rhceph-2.0-rhel-7-x86_64/Tools
enabled=1
gpgcheck=0
4、CEPH集群中有很多节点,逐台管理效率低下,还可能出现错误,所以可以找一台主机当作管理节点,由它统一管理所有主机。我们保用node1作为管理节点。
5、为了使得管理节点能够方便的管理,先创建免密登陆
(1)通过名称访问各台主机,配置名称解析
[[email protected] ~]# for i in {1..4}
do
echo -e "192.168.4.$i\tnode$i.tedu.cn\tnode$i" >> /etc/hosts
done
[[email protected] ~]# echo -e "192.168.4.10\tclient.tedu.cn\tclient" >> /etc/hosts
(2)生成密钥对,非交互模式生成
[[email protected] ~]# ssh-keygen -f /root/.ssh/id_rsa -N ""
(3)第一交ssh到远程主机会被询问(yes/no)?。可以先将远程主机的身份信息,保存到本地
[[email protected] ~]# ssh-keyscan 192.168.4.{1..4} >> /root/.ssh/known_hosts
[[email protected] ~]# ssh-keyscan 192.168.4.10 >> /root/.ssh/known_hosts
[[email protected] ~]# ssh-keyscan node{1..4} >> /root/.ssh/known_hosts
[[email protected] ~]# ssh-keyscan client >> /root/.ssh/known_hosts
(4)拷贝密钥到远程主机
[[email protected] ~]# for ip in 192.168.4.{1..4}
do
ssh-copy-id -i $ip
done
[[email protected] ~]# ssh-copy-id -i 192.168.4.10
(5)把hosts文件拷贝到各台主机
[[email protected] ~]# for host in node{2..4}
do
scp /etc/hosts $host:/etc/
done
[[email protected] ~]# scp /etc/hosts client:/etc
6、将client作为NTP服务器
NTP:网络时间协议,udp123端口。用于同步时间。
精确时间的确定:原子钟。全球时间不是一样的,因为地球是圆的,所以将地球按经度,每隔15度角划分一个时区,一共24时区。中国采用东八区时间。
(1)在client上安装软件包
[[email protected] ~]# yum install -y chrony
(2)修改配置
[[email protected] ~]# vim /etc/chrony.conf
allow 192.168.4.0/24
local stratum 10
(3)启动服务
[[email protected] ~]# systemctl restart chronyd; systemctl enable chronyd
(4)将其他主机作为客户端
[[email protected] ~]# vim /etc/chrony.conf
server 192.168.4.10 iburst #其他3行server开头的删除
[[email protected] ~]# for ip in 192.168.4.{2..4}
do
scp /etc/chrony.conf $ip:/etc/
done
[[email protected] ~]# for ip in 192.168.4.{1..4}
do
ssh $ip systemctl restart chronyd
done
(5)测试
[[email protected] ~]# date -s "2018-06-20 12:00:00"
[[email protected] ~]# ntpdate 192.168.4.10 跟192.168.4.10同步时钟
[[email protected] ~]# date 时间已同步
7、在node1~node3上各添加3块硬盘

8、在node1节点上安装ceph部署工具
[[email protected] ~]# yum install -y ceph-deploy
9、在node1节点上为ceph创建工作目录,目录名自定义
[[email protected] ~]# mkdir ceph_conf
[[email protected] ~]# cd ceph_conf
10、生成ceph安装所必须的配置文件
[[email protected] ceph_conf]# ceph-deploy new node1 node2 node3
[[email protected] ceph_conf]# ls
11、安装ceph集群
[[email protected] ceph_conf]# ceph-deploy install node1 node2 node3
12、初始化所有节点的MON服务
[[email protected] ceph_conf]# ceph-deploy mon create-initial

配置CEPH集群
1、在node1~node3节点上对vdb进行分区,将vdb的分区用于日志
[[email protected] ceph_conf]# for host in node{1..3}

do
ssh $host parted /dev/vdb mklabel gpt
done
[[email protected] ceph_conf]# for host in node{1..3}; do ssh $host parted /dev/vdb mkpart primary 1024kB 50%; done
[[email protected] ceph_conf]# for host in node{1..3}; do ssh $host parted /dev/vdb mkpart primary 50% 100%; done
[[email protected] ceph_conf]# for host in node{1..3}; do ssh $host lsblk; done
[[email protected] ceph_conf]# for host in node{1..3}; do ssh $host chown ceph.ceph /dev/vdb?; done # 系统重启后属主属组又变回root.disk了。

配置udev,使得磁盘属主属组在reboot后,仍然是ceph
[[email protected] ~]# vim /etc/udev/rules.d/90-mydisk.rules
ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"

2、创建OSD磁盘,在node1上执行
(1)初始化磁盘
[[email protected] ceph_conf]# for host in node{1..3}

do
ceph-deploy disk zap $host:vdc $host:vdd
done
(2)创建OSD,将数据的日志区指定为vdb
[[email protected] ceph_conf]# for host in node{1..3}
do
ceph-deploy osd create $host:vdc:/dev/vdb1 $host:vdd:/dev/vdb2
done
如果出现run ‘gatherkeys’的错误提示,执行以下命令
[[email protected] ceph_conf]# ceph-deploy gatherkeys node1 node2 node3
(3)查看状态
[[email protected] ceph_conf]# ceph -s 如果正常将显示HEATH_OK
如果状态是HEALTH_ERR,就重启服务,如下:
[[email protected] ceph_conf]# for host in node{1..3}; do ssh $host systemctl restart ceph*.service ceph*.target ; done

原文地址:http://blog.51cto.com/13735155/2132523

时间: 2024-08-04 16:40:19

CEPH环境搭建的相关文章

Ceph环境搭建(二)

一.布局 主机共有node1,node2,node3三个,每台主机有三个OSD,如下图所示,其中osd1,3,5,6,7,8为SSD盘,2,3,4为SATA盘. 三台主机上各有一个Monitor,也各有一个MDS. 我们用osd1,3,4建一个pool名叫ssd,采用三副本的形式,osd0,2,4建一个Pool名字叫sata,采用纠删码的形式,k=2,m=1,即用两个osd存数据分片,一个osd存校验信息,osd6,7,8建一个pool名叫metadata用来存放cephfs的元数据. pool

一、环境搭建

1 更新到最新版本的pip(这是安装python扩展包的一个插件)命令如下: python -m pip install --upgrade pip 2 使用pip安装virtualenv,命令 pip install virtualenv  如果要指定版本号,pip install virtualenv==15.0.1(安装虚拟环境) 3 创建django虚拟环境,命令 virtualenv django_basic_venv 4 使用虚拟环境 需要进入到安装目录的Scripts文件夹下,运行

Ionic2环境搭建及文件目录介绍

[注]引用自:http://blog.csdn.net/jasonzds/article/details/53821184 1环境搭建 一年前研究混合框架,初步确定了四种方案给公司选择,ionic,hbuilder,wex5,react-native这四个框架各有优缺点,ionic和react-native是国外框架,相对好一点,文档更新很快,就不一一说了,大概的思路都是一样的,js逻辑实现,同时调用原生功能,h5,css3 UI实现,其实他们都有自己的ui框架,当时选择了国内的hbuiler,

Selenium+Java+Eclipse 自动化测试环境搭建

一.下载Java windows java下载链接 https://www.java.com/zh_CN/download/win10.jsp 二.安装Java 安装好后检查一下需不需要配置环境变量,现在java 8已经不用配置环境变量了,直接在命令行输入:java -version 三.下载和安装Eclipse windows Eclipse下载链接 https://www.eclipse.org/downloads/ 你也可以下载绿色版 四.下载selenium,然后解压 selenium

Qt在Mac OS X下的编程环境搭建(配置Qt库和编译器,有图,很清楚)

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要配置Qt库和编译器.编译器只能使用苹果公司自主研发的Clang.1.分别下载并安装XCode和Command Line Tools(必须安装),安装完毕后,Clang就有了. https://developer.apple.com/downloads/ 2.下载Qt并默认安装 http://down

基于 Eclipse 的 MapReduce 开发环境搭建

文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6055850.html 上周末本来要写这篇的,结果没想到上周末自己环境都没有搭起来,运行起来有问题的呢,拖到周一才将问题解决掉.刚好这周也将之前看的内容复习了下,边复习边码代码理解,印象倒是很深刻,对看过的东西理解也更深入了. 目录 1.概述 2.环境准备 3.插件配置 4.配置文件系统连接 5.测试连接 6.代码编写与执行 7.问题梳理 7.1 console 无日志输出问题 7.2

ICE分布式文件管理系统——ICE环境搭建(其二)

上一博文,我们讲述了ICE这个中间件的基本认识. 接下来我们讲述开发环境搭建. 其过程主要分为三步: 安装GCC-4.4.6.安装ICE-3.4.2.安装QT-4.7.3. (本文是基于LINUX下的ICE-3.4.2的安装,如果已安装了GCC(版本高于GCC-4.4.6亦可),请直接安装ICE) 一.安装GCC: (gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/) 一般来说基于linux的操作系统都是默认安装了GCC的.假如说你的电脑没有的话 请百度一哈,可以解决

[Step-By-Step Angular2](1)Hello World与自动化环境搭建

随着rc(release candidate,候选版本)版本的推出,万众瞩目的angular2终于离正式发布不远啦!五月初举办的ng-conf大会已经过去了整整一个月,大多数api都如愿保持在了相对稳定的状态——当然也有router这样的例外,在rc阶段还在大面积返工,让人颇为不解——不过总得说来,现在学习angular2不失为一个恰当的时机. Google为angular2准备了完善的文档和教程,按理说,官网(https://angular.io)自然是学习新框架的最好教材.略显遗憾的是,在B

Linux交叉开发环境搭建 —— 效率之源

楼主今天终于把所有Linux开发环境需要的软件下载完毕了.虽然以前也是搭建过的,时间久了又折腾了一晚上. 交叉环境: Windows.Linux文件共享 SecureCRT 连接虚拟机终端 工具: VirtualBox ubuntu-16.04-desktop-amd64.iso(ubuntu官网下载) SecureCRT Source Insight 虚拟机搭建: 检查bios虚拟技术功能开启 新建虚拟机,选择创建虚拟硬盘,其余均默认 点击新建虚拟机设置->存储->选中没有光盘->点击