Ceph分布式文件系统集群搭建详解
1、Ceph分布式文件系统简介
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。
Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。
基开发目标是:
- 可轻松扩展到数 PB 容量
- 支持多种工作负载的高性能(每秒输入/输出操作[IOPS]和带宽)
- 高可靠性
Ceph 不仅仅是一个文件系统,还是一个有企业级功能的对象存储生态环境。
中文学习网址:CEPH中文学习网
2.Ceph分布式文件系统搭建
2.1 环境准备
准备三台centos机器(使用虚拟机)
IP | hostname |
---|---|
192.168.1.12 | node01 |
192.168.1.13 | node02 |
192.168.1.14 | node03 |
2.1.1 关闭防火墙(node01、node02、node03)
# 查看状态
firewall-cmd --state# 停止firewall
systemctl stop firewalld.service# 禁止firewall开机启动
systemctl disable firewalld.service
2.1.2 关闭selinux(node01、node02、node03)
执行命令:vi /etc/selinux/config,修改内容“SELINUX=disabled”
2.1.3 修改hostname(node01、node02、node03)
执行vi /etc/hostname,添加添加名称node01
执行vi /etc/hosts,添加以下内容:
192.168.1.12 node01
192.168.1.13 node02
192.168.1.14 node03
上面的命令执行完后,记得执行reboot命令重启服务,然后执行hostname命令,查看机器名
2.1.4 修改yum源(node01、node02、node03)
使用清华镜像,加速下载
执行命令:vi /etc/yum.repos.d/ceph.repo ,添加以下内容:
[Ceph]
name=Ceph packages for $basearch
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/x86_64/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[Ceph-noarch]
name=Ceph noarch packages
# 清华源
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
2.1.5安装ceph与ceph-deploy(node01)
先执行以下两条命令(node01、node02、node03):
yum install epel-release -y
yum install lttng-ust -y
执行安装命令(node01):
yum update && yum -y install ceph ceph-deploy
执行成功,如下图,整个过程会有点慢 ,不要着急,耐心点!!!
2.1.6安装NTP时间同步工具(node01、node02、node03)
1)执行命令:
yum install ntp ntpdate ntp-doc -y
2)设置开机启动
systemctl enable ntpd
3)设置每隔1小时自动校准同步。
执行命令: vi /etc/rc.d/rc.local ,添加以下内容
/usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
4)设置定时任务, 执行crontab -e 加入
0 */1 * * * ntpdate ntp1.aliyun.com > /dev/null 2>&1; /sbin/hwclock -w
2.1.7免密配置(node01、node02、node03)
创建cuser用户,密码也为cuser(node01、node02、node03)
useradd -d /home/cuser -m cuser
passwd cuser
设置权限(node01、node02、node03)
echo "cuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cuser
sudo chmod 0440 /etc/sudoers.d/cuser
切换cuser用户,执行ssh-keygen,生成密匙(node01)
su cuser
分发密钥到所有节点:(node01)
ssh-copy-id cuser@node01
ssh-copy-id cuser@node02
ssh-copy-id cuser@node03
切换到root用户
su root
执行命令:mkdir ~/.ssh,然后进入到.ssh目录中,创建文件config,添加以下内容到文件
Host node01Hostname node01User cuser
Host node02Hostname node02User cuser
Host node03Hostname node03User cuser
修改文件权限:
chmod 600 ~/.ssh/config
2.2 Ceph集群搭建
2.2.1 创建集群管理目录,作为ceph配置信息存储目录
mkdir -p /usr/local/che/cephcluster
cd /usr/local/che/cephcluster
2.2.2 创建集群
ceph-deploy new node01 node02 node03
2.2.3 修改配置文件
执行命令:vi /usr/local/che/cephcluster/ceph.conf,添加以下内容
#对外开放网段
public network = 192.168.1.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard
执行安装命令:ceph-deploy install node01 node02 node03
2.2.4 初始化Monitor
ceph-deploy mon create-initial
2.2.5 同步管理信息
ceph-deploy admin node01 node02 node03
2.2.6 安装mgr
ceph-deploy mgr create node01 node02 node03
2.2.7 安装rgw
ceph-deploy rgw create node01 node02 node03
2.2.7 安装mds服务
ceph-deploy mds create node01 node02 node03
2.2.8 安装OSD
执行fdisk -l,查看磁盘信息,
执行创建OSD命令:(node01)
ceph-deploy osd create --data /dev/sdb node01
ceph-deploy osd create --data /dev/sdb node02
ceph-deploy osd create --data /dev/sdb node03
执行ceph -s,查看ceph集群状态信息
2.2.8 dashboard安装
1)开启dashboard模块
ceph mgr module enable dashboard
2)生成签名
ceph dashboard create-self-signed-cert
3)创建目录
mkdir -p /usr/local/che/cephcluster/mgr-dashboard
4)生成密钥对
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
5)启动dashboard
ceph mgr module disable dashboard
ceph mgr module enable dashboard
6)设置IP与PORT
ceph config set mgr mgr/dashboard/server_addr 192.168.1.12
ceph config set mgr mgr/dashboard/server_port 8443
7)关闭HTTPS
ceph config set mgr mgr/dashboard/ssl false
8)查看服务信息
ceph mgr services
9)设置管理员账号密码
ceph dashboard set-login-credentials admin admin
10)浏览器中访问https://192.168.1.13:8443/,
11)RGW访问 http://192.168.1.12:7480/
2.3 Cephfs管理
2.3.1 创建两个存储池
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 64
查看存储池
ceph osd lspools
2.3.2 创建fs, 名称为fs_demo01
ceph fs new fs_demo01 cephfs_metadata cephfs_data
查看状态:
ceph fs ls ceph mds stat
2.3.3 fuse挂载
# 安装
yum -y install ceph-fuse# 创建挂载目录
mkdir -p /usr/local/che/cephfs_directory# 挂载cephfs
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.1.12:6789 /usr/local/che/cephfs_directory
查看挂载信息
df -h
Ceph分布式文件系统集群搭建详解相关推荐
- Linux的企业-Codis 3集群搭建详解
Codis 3集群搭建详解 Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis.redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有 ...
- mysql cluster rpm包的作用_MySQL之——MySQL Cluster集群搭建详解(基于RPM安装包)
1.下载MySQL-cluster 7.3.7 http://dev.mysql.com/downloads/cluster/ 2.环境清理及安装 1)清理CentOS6.5自带的mysql服务,其中 ...
- MySQL分布式集群搭建详解
搭建MySQL分布式集群,例如:利用MySQL cluster ,MySQL proxy,MySQL replication,drdb等等,有人会问MySQL集群意义是什么呢?为一个数据库减轻负担,说 ...
- zookeeper + kafka集群搭建详解
文章目录 一.消息队列介绍 1.1 为什么需要消息队列 (MO) 1.2 使用消息队列的好处 (1)解耦 (2)可恢复性 (3)缓冲 (4)灵活性 & 峰值处理能力 (5)异步通信很多时候,用 ...
- linux 上elasticsearch集群搭建详解,手把手教学(tar下载包)
1.安装jdk: 由于es是基于java的,所以先安装jdk: yum install java-1.8.0-openjdk* -y 此命令install结束后不用再去配置环境变量了,直接输入java ...
- Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)...
一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud 分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...
- Elastic search入门到集群实战操作详解(原生API操作、springboot整合操作)-step1
Elastic search入门到集群实战操作详解(原生API操作.springboot整合操作)-step2 https://blog.csdn.net/qq_45441466/article/de ...
- redis集群模式详解
redis集群模式详解 一,redis集群 1,哨兵集群 2,redis Cluster 二,redis Cluster集群的搭建 1,配置文件 2,redis服务启动 三,springboot连接r ...
- MinIO纠错码、分布式MinIO集群搭建及启动
文章目录 前言 一.MinIO纠删码 二.分布式集群部署 1.分布式存储可靠性常用的方法 2.分布式MinIO 3.分布式MinIO集群搭建 3.1 下载MinIO 3.2 为每一台虚拟机创建目录并上 ...
最新文章
- WCF 入门之旅(4): 怎样用客户端调用WCF服务
- Github GUI 托管代码教程
- Effectice Java之始终覆盖toString(十)
- linux文件系统只有几k,关于Linux文件系统的的简单理解和认识
- 如果全世界人口压缩到100人
- ptyhon的列表与字典操作
- 学python能做什么-学Python后到底能干什么
- NP、OSPF监测调试
- JDK1.8源码(十一)——java.util.TreeMap类
- c语言连接mysql_0基础掌握Django框架(14)MySQL相关软件
- ulipad.4.1.zip linux,在ubuntu中安装ulipad
- 【编程学习】每天进步一点点,编程学习之路:一款Mdict词典制作工具,Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具
- RGB565 转 RGB
- 吉司机线段树(segment tree beats!)
- 腾讯全套人力资源管理资料大全(职位能力模型图+人力资源管理+招聘体系+培训体系+薪酬绩效+员工职业发展,共174M)
- 中国人和犹太人做生意的区别
- python初级学习
- 盲盒App就是一元购吗?
- 不带头结点的单链表c语言,数据结构:C语言实现----不带头结点单链表总结
- docker创建busybox