集群环境

配置基础环境

添加ceph.repo

wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
yum makecache

配置NTP

yum -y install ntpdate ntp
ntpdate cn.ntp.org.cn
systemctl restart ntpd ntpdate;systemctl enable ntpd ntpdate

创建用户和ssh免密登录

useradd ceph-admin
echo "ceph-admin"|passwd --stdin ceph-admin
echo "ceph-admin ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph-admin
sudo chmod /etc/sudoers.d/ceph-admin
配置host解析
cat >>/etc/hosts<<EOF
10.1.10.201 ceph01
10.1.10.202 ceph02
10.1.10.203 ceph03
EOF

配置sudo不需要tty

sed -i 's/Default requiretty/#Default requiretty/' /etc/sudoers

使用ceph-deploy部署集群

配置免密登录

su - ceph-admin
ssh-keygen
ssh-copy-id ceph-admin@ceph01
ssh-copy-id ceph-admin@ceph02
ssh-copy-id ceph-admin@ceph03

安装ceph-deploy

sudo yum install -y ceph-deploy python-pip

部署节点

mkdir my-cluster;cd my-cluster
ceph-deploy new ceph01 ceph02 ceph03

安装ceph包(代替ceph-deploy install node1 node2,下面命令需要在每台node上安装)

sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
sudo yum install -y ceph ceph-radosgw

配置初始monitor(s),收集所有密钥

sudo systemctl stop firewalld;sudo systemctl disable firewalld  #确认防火墙已关闭
ceph-deploy mon create-initial
ls -l *.keyring

把配置信息拷贝到各节点

ceph-deploy admin ceph01 ceph02 ceph03

配置osd

su - ceph-admin
cd /home/my-cluster
for dev in /dev/sdb /dev/sdc /dev/sdd
do
ceph-deploy disk zap ceph01 $dev
ceph-deploy osd create ceph01 --data $dev
ceph-deploy disk zap ceph02 $dev
ceph-deploy osd create ceph02 --data $dev
ceph-deploy disk zap ceph03 $dev
ceph-deploy osd create ceph03 --data $dev
done
sudo ceph osd tree    #查看osd

部署mgr,Luminous版以后才需要部署

ceph-deploy mgr create ceph01 ceph02 ceph03

开启dashboard模块

sudo chown -R ceph-admin /etc/ceph/
ceph mgr module enable dashboard
netstat -lntup|grep

http://10.1.10.201:7000

删除集群

ceph-deploy purge ceph01 ceph02 ceph03
ceph-deploy purgedata ceph01 ceph02 ceph03
ceph-deploy forgetkeys

配置ceph块存储

检查是否复合块设备环境要求

uname -r
sudo modprobe rbd
echo $?

创建池和块设备

ceph osd lspools
ceph osd pool create rbd

确定pg_num取值是强制性的,因为不能自动计算,下面是几个常用的值

少于5个OSD时,pg_num设置为128
OSD数量在5到10个时,pg_num设置为512
OSD数量在10到50个时,pg_num设置为4096
OSD数量大于50时,理解权衡方法、以及如何自己计算pg_num取值

客户端创建块设备

sudo rbd create rbd1 --size 1G --image-feature layering --name client.admin

映射块设备

sudo rbd map --image rbd1 --name client.admin

创建文件系统并挂载

fdisk -l /dev/rbd0
mkfs.xfs /dev/rbd0
mkdir /mnt/ceph-disk1
mount /dev/rbd0 /mnt/ceph-disk1
df -h /mnt/ceph-disk1

写入数据测试

dd if=/dev/zero of=/mnt/ceph-disk1/file1 count= bs=1M

配置ceph对象存储

安装ceph对象网关

ceph-deploy install --rgw ceph01 ceph02 ceph03

新建对象网关实例

ceph-deploy rgw create ceph01 ceph02 ceph03

一旦网关开始运行,你就可以通过 7480 端口来访问它(比如 http://client-node:7480)

采用fio软件压力测试

安装fio压测软件

yum install libaio-devel -y
yum install zlib-devel -y
yum install ceph-devel -y
git clone git://git.kernel.dk/fio.git
cd fio/
./configure
make;make install

测试磁盘性能

fio -direct= -iodepth= -rw=read -ioengine=libaio -bs=2k -size=100G -numjobs= -runtime= -group_reporting -
filename=/dev/rbd0 -name=readiops
fio -direct= -iodepth= -rw=write -ioengine=libaio -bs=2k -size=100G -numjobs= -runtime= -group_reporting -
filename=/dev/rbd0 -name=writeiops
fio -direct= -iodepth= -rw=randread -ioengine=libaio -bs=2k -size=100G -numjobs= -runtime= -group_reporting -
filename=/dev/rbd0 -name=randreadiops
fio -direct= -iodepth= -rw=randwrite -ioengine=libaio -bs=2k -size=100G -numjobs= -runtime= -group_reporting -
filename=/dev/rbd0 -name=randwriteiops

部署ceph存储集群及块设备测试的更多相关文章

  1. 利用ceph-deploy部署ceph存储集群

    一.环境准备 创建两台主机,ip地址和主机名如下 192.168.2.100,主机名ceph-1 192.168.2.101,主机名ceph-2 每个主机 新增加一块数据盘,分区根据自己需要分区即可, ...

  2. Ceph 存储集群第一部分:配置和部署

    内容来源于官方,经过个人实践操作整理,官方地址:http://docs.ceph.org.cn/rados/ 所有 Ceph 部署都始于 Ceph 存储集群. 基于 RADOS 的 Ceph 对象存储 ...

  3. 002.RHCS-配置Ceph存储集群

    一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...

  4. Ceph 存储集群搭建

    前言 Ceph 分布式存储系统,在企业中应用面较广 初步了解并学会使用很有必要 一.简介 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统.它具有高可靠性.安装方便.管理简便.能够 ...

  5. Ceph 存储集群5-数据归置

    一.数据归置概览 Ceph 通过 RADOS 集群动态地存储.复制和重新均衡数据对象.很多不同用户因不同目的把对象存储在不同的存储池里,而它们都坐落于无数的 OSD 之上,所以 Ceph 的运营需要些 ...

  6. Ceph 存储集群4-高级运维:

    一.高级运维 高级集群操作主要包括用 ceph 服务管理脚本启动.停止.重启集群,和集群健康状态检查.监控和操作集群. 操纵集群 运行 Ceph 每次用命令启动.重启.停止Ceph 守护进程(或整个集 ...

  7. Ceph 存储集群3-部署:

    ceph-deploy 工具是一种部署 Ceph 的方法,它只依赖到服务器的 SSH 访问. sudo 和 Python .它可在你的工作站上运行,不需要服务器.数据库.或其它工具.如果你安装.拆卸过 ...

  8. Ceph 存储集群2-配置:心跳选项、OSD选项、存储池、归置组和 CRUSH 选项

    一.心跳选项 完成基本配置后就可以部署.运行 Ceph 了.执行 ceph health 或 ceph -s 命令时,监视器会报告 Ceph 存储集群的当前状态.监视器通过让各 OSD 自己报告.并接 ...

  9. Ceph 存储集群1-配置:硬盘和文件系统、配置 Ceph、网络选项、认证选项和监控器选项

    所有 Ceph 部署都始于 Ceph 存储集群.基于 RADOS 的 Ceph 对象存储集群包括两类守护进程: 1.对象存储守护进程( OSD )把存储节点上的数据存储为对象: 2.Ceph 监视器( ...

随机推荐

  1. 新手Java在华为的几点建议?

    随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农. 这些程序员的水平也是参差不齐的,有些人从比较好的学校毕业,水平却一般般:也有些人从一般搬的学校毕业,但是水平 ...

  2. day 24

    I am a slow walker, but I never walk back. 我走得很慢,但是我从来不会后退.

  3. python总结九

    1.sql语句: ,; 解释:由hire_date进行排序,降序desc,最大的就是最晚进来的员工,limit  如果是只有一个参数的话,那么说明是除了前面多少个数据, 如果后面有两个参数的话,那么就 ...

  4. oracle--10.2.0.3升级到11.2.0.4

    一,环境 01,待升级的系统 升级仅支持10.2.0.2版本之后的系统,如果不是,请把10G升级至高版本! 本次实验环境10.2.0.3 02,挂载11G系统 03,升级须知 1) 做好备份 二,DB ...

  5. 轻量级Mysql Sharding中间件——Shark

    Shark简介 前身为Kratos,轻量级Mysql分库分表(Sharding)中间件,丰富的Sharding算法支持(2类4种分片算法),能够方便DBA实现库的水平扩容和降低数据迁移成本.Shark ...

  6. 027 奥展项目涉及的javascipt知识点笔记

    1.获取指定div标签内的所有input标签 let inputs = document.getElementById("inspect-part1").getElementsBy ...

  7. Centos 7.6 安装 oracle 10.2.0.1 数据库软件

    step 1: 编辑 /etc/redhat-release :内容为redhat-4 step 2: 安装32位的软件包:yum install libXp.i686  libXt.i686  li ...

  8. 好久没写原生的PHP调用数据库代码了分享个

    好久没写原生的PHP代码调用数据库了 eader("Content-type: text/html; charset=utf-8"); $time=$symptoms=$attr= ...

  9. net输出错误日志

    在使用net开发webapi的时候,有时候程序异常了,外面只能看到一个错误:an error occur 怎么才能将具体的 错误堆栈信息输出来呢? 1.在startup.cs文件中添加如下代码就可以将 ...

  10. golang下载图片,而非预览

    1 前言 网上查询使用html5,a增加属性download和使用表单get,post提交,都是只能预览,根本原因是返回值需要加入头 w.Header().Add("Content-Type ...