1、CentOS7 安装Ceph

简介:

1、安装环境


|-----node1(mon,osd) sda为系统盘,sdb和sdc为osd盘

|

|-----node2(mon,osd) sda为系统盘,sdb和sdc为osd盘

                              admin-----|

|-----node3(mon,osd) sda为系统盘,sdb和sdc为osd盘

|

|-----client


Ceph Monitors 之间默认使用 6789 端口通信, OSD 之间默认用 6800:7300 这个范围内的端口通信


2、准备工作(所有节点)

2.1、修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-em1

IPADDR=192.168.130.205

NETMASK=255.255.255.0

GATEWAY=192.168.130.2


2.2、关闭防火墙

systemctl stop firewalld.service  #停止firewall

systemctl disable firewalld.service  #禁止firewall开机启动

firewall-cmd --state  #查看防火墙状态


2.3、修改yum源

cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bk

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

yum makecache


2.4、修改时区

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

yum -y install ntp

systemctl enable ntpd

systemctl start ntpd

ntpstat


2.5、修改hosts

vim /etc/hosts

192.168.130.205 admin

192.168.130.204 client

192.168.130.203 node3

192.168.130.202 node2

192.168.130.201 node1


2.6、安装epel仓库、添加yum ceph仓库、更新软件库

安装epel仓库

rpm -vih http://mirrors.sohu.com/fedora-epel/7/x86_64/e/epel-release-7-2.noarch.rpm

添加yum ceph仓库

vim /etc/yum.repos.d/ceph.repo

[ceph]

name=Ceph noarch packages

baseurl=http://mirrors.163.com/ceph/rpm-hammer/el7/x86_64/

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=http://mirrors.163.com/ceph/keys/release.asc

2.7、安装ceph-deploy,ceph(ceph所有节点都安装,ceph-deploy只需admin节点安装)

yum -y update && yum -y install --release hammer ceph ceph-deploy

3、允许无密码 SSH 登录(admin节点)

3.1、生成SSH密钥对,提示 “Enter passphrase” 时,直接回车,口令即为空:

ssh-keygen


3.2、把公钥拷贝至所有节点

ssh-copy-id root@node1

ssh-copy-id root@node2

ssh-copy-id root@node3

ssh-copy-id root@client


3.3、验证是否可以无密码SSH登录

ssh node1

ssh node2

ssh node3

ssh client


4、创建Monitor(admin节点)

4.1、在node1、node2、node3上创建monitor

mkdir myceph

cd myceph

ceph-deploy new node1 node2 node3


4.2、修改osd的副本数,将osd pool default size = 2添加至末尾

vim /etc/ceph.conf

osd pool default size = 2


4.3、配置初始 monitor(s)、并收集所有密钥

ceph-deploy mon create-initial


5、创建OSD(admin节点)

5.1列举磁盘

ceph-deploy disk list node1

ceph-deploy disk list node2


5.2、擦净磁盘

ceph-deploy disk zap node1:sdb

ceph-deploy disk zap node1:sdc

ceph-deploy disk zap node2:sdb

ceph-deploy disk zap node2:sdc

ceph-deploy disk zap node3:sdb

ceph-deploy disk zap node3:sdc


5.3、准备OSD

ceph-deploy osd prepare node1:sdb

ceph-deploy osd prepare node1:sdc

ceph-deploy osd prepare node2:sdb

ceph-deploy osd prepare node2:sdc

ceph-deploy osd prepare node3:sdb

ceph-deploy osd prepare node3:sdc


ceph-deploy osd activate node1:sdb1

ceph-deploy osd activate node1:sdc1

ceph-deploy osd activate node2:sdb1

ceph-deploy osd activate node2:sdc1

ceph-deploy osd activate node3:sdb1

ceph-deploy osd activate node3:sdc1

5.4、删除OSD

ceph osd out osd.3

ssh node1 service ceph stop osd.3

ceph osd crush remove osd.3

        ceph auth del osd.3 //从认证中删除

        ceph osd rm 3 //删除

5.5、把配置文件和 admin 密钥拷贝到各节点,这样每次执行 Ceph 命令行时就无需指定 monitor 地址和 ceph.client.admin.keyring

ceph-deploy admin admin node1 node2 node3

5.6、查看集群健康状况

ceph health


6、配置块设备(client节点)

6.1、创建映像

rbd create foo --size 4096 [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

rbd create foo --size 4096 -m node1 -k /etc/ceph/ceph.client.admin.keyring


6.2、将映像映射为块设备

sudo rbd map foo --name client.admin [-m {mon-IP}] [-k /path/to/ceph.client.admin.keyring]

sudo rbd map foo --name client.admin -m node1 -k /etc/ceph/ceph.client.admin.keyring


6.3、创建文件系统

sudo mkfs.ext4 -m0 /dev/rbd/rbd/foo


6.4、挂载文件系统

sudo mkdir /mnt/ceph-block-device

sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device

cd /mnt/ceph-block-device





1、列出存储池

ceph osd lspools

2、创建存储池

ceph osd pool create pool-name pg-num pgp-num

ceph osd pool create test 512 512

3、删除存储池

ceph osd pool delete test test --yes-i-really-really-mean-it

4、重命名存储池

ceph osd pool rename current-pool-name new-pool-name

ceph osd pool rename test test2

5、查看存储池统计信息

rados df

6、调整存储池选项值

ceph osd pool set test size 3 设置对象副本数

7、获取存储池选项值

ceph osd pool get test size 获取对象副本数



1、创建块设备映像

rbd create --size {megabytes} {pool-name}/{image-name}

rbd create --size 1024 test/foo

2、罗列块设备映像

rbd ls

3、检索映像信息

rbd info {image-name}

rbd info foo

rbd info {pool-name}/{image-name}

rbd info test/foo

4、调整块设备映像大小

rbd resize --size 512 test/foo --allow-shrink 调小

rbd resize --size 4096 test/foo 调大

5、删除块设备


rbd rm test/foo



内核模块操作

1、映射块设备

sudo rbd map {pool-name}/{image-name} --id {user-name}

sudo rbd map test/foo2 --id admin

如若启用cephx认证,还需指定密钥

sudo rbd map test/foo2 --id admin --keyring /etc/ceph/ceph.client.admin.keyring

2、查看已映射设备

rbd showmapped

3、取消块设备映射

sudo rbd unmap /dev/rbd/{poolname}/{imagename}

rbd unmap /dev/rbd/test/foo2 






      本文转自开源殿堂 51CTO博客,原文链接:http://blog.51cto.com/kaiyuandiantang/1784429,如需转载请自行联系原作者





相关文章
|
1月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
402 69
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
215 78
|
2月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
171 80
|
21天前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
110 10
|
1月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
167 0
|
2月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
251 2
|
3月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
211 18
|
3月前
|
安全 Linux
安装EPEL Repository Centos 7.9
记住,行走在Linux的世界,把“学习”作为你不可或缺的随身宝典。今天你学会了如何将EPEL这座外来的宝库接入你的系统,明天,你或许就能在这座宝库中发现一款能领你走向Linux大师之路的神器。
186 5
|
4月前
|
Kubernetes Linux 开发者
在CentOS 7.8上使用kubeadm安装k8s 1.26
至此,你已经在CentOS 7.8上使用kubeadm成功安装了k8s 1.26。你可以通过输入 `kubectl get nodes`来查看节点状态,如果显示为Ready,那么恭喜你,你的Kubernetes集群已经准备好了。
199 23