百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

ceph rbd块存储挂载及文件存储建立

nanshan 2025-03-30 19:21 11 浏览 0 评论

ceph rbd块存储挂载及文件存储建立

一、rbd块存储挂载

1 创建一个OSD pool

# ceph osd pool create rbd1 128

查询存储空间使用

# ceph df

GLOBAL:

SIZE AVAIL RAW USED %RAW USED

480GiB 474GiB 6.12GiB 1.28

POOLS:

NAME ID USED %USED MAX AVAIL OBJECTS

volumes 1 134B 0 150GiB 5

vms 2 0B 0 150GiB 0

images 3 0B 0 150GiB 0

rbd1 4 14.3MiB 0 150GiB 19

rbd 5 0B 0 150GiB 0


2 创建一个名为ceph-client1-rbd1、大小为1024

rbd create ceph-client1-rbd1 --size 1024 -p rdb1

要列出RBD镜像,输入下列的命令

# rbd -p rbd1 ls

ceph-client1-rbd1

ceph-client1-rbd2

检看一个RBD镜像的详细信息

# rbd --image ceph-client1-rbd1 info

rbd: error opening image ceph-client1-rbd1: (2) No such file or directory

# rbd --image ceph-client1-rbd1 -p rbd1 info

rbd image 'ceph-client1-rbd1':

size 1GiB in 256 objects

order 22 (4MiB objects)

block_name_prefix: rbd_data.5b5756b8b4567

format: 2

features: layering, exclusive-lock, object-map, fast-diff, deep-flatten

flags:

create_timestamp: Tue Oct 1 12:03:52 2019


3 客户端查看linux版本

[root@centos7 mnt]# uname -r

3.10.0-862.el7.x86_64

[root@centos7 mnt]# modprobe rbd

[root@centos7 mnt]#

4 客户端安装ceph-common

# yum install –y ceph-common

5 客户端挂载rbd硬盘并使用


6客户端查看挂载情况


[root@centos7 mnt]# rbd showmapped

id pool image snap device

0 rbd1 ceph-client1-rbd2 - /dev/rbd0


协助ceph块存储

rbd unmap /dev/rbd0


二、文件存储建立


1 检查客户端的linux内核版本:

[root@centos7 ceph]# uname -r

3.10.0-862.el7.x86_64

2 客户端创建挂载点目录:

[root@centos7 ceph]#mkdir /cephfs

跟使用块存储服务一样,客户端需要从服务器端拷贝以下2个文件到/etc/ceph/

[root@centos7 ceph]# ls

ceph.client.admin.keyring ceph.conf


3 服务器端及客户端,修改管理员密钥(生产环境需要创建普通账号并给予权限,这里例子暂时以管理员账号测试)

vi /etc/ceph/ceph.client.admin.keyring

[client.admin]

key = AQC6mmJdfBzyHhAAE1GazlHqH2uD35vpL6Do1w==

auid = 0

caps mds = "allow"

caps mon = "allow *"

caps osd = "allow *"

4 在服务器端创建cephfs OSD pool,保护数据及元数据2个pool

[root@ceph1 ceph]#ceph osd pool create cephfs_metadata 32

[root@ceph1 ceph]#ceph osd pool create cephfs_metadata 16

服务器端启动cephfs

[root@ceph1 ceph]#ceph fs new leadorfs cephfs_metadata cephfs

验证数据生成

[root@ceph1 ceph]# ceph mds stat

leadorfs-1/1/1 up {0=ceph1=up:active}


5 客户端挂载文件存储(目标地址可以输入集群mon多个地址)

[root@ceph1 ceph]# mount -t ceph 172.16.3.61:6789:/ /cephfs -o name=admin,secret=AQC6mmJdfBzyHhAAE1GazlHqH2uD35vpL6Do1w==

6 客户端检查挂载情况

[root@centos7 ceph]# df -h

文件系统 容量 已用 可用 已用% 挂载点

/dev/mapper/centos-root 17G 1.2G 16G 7% /

devtmpfs 1.9G 0 1.9G 0% /dev

tmpfs 1.9G 0 1.9G 0% /dev/shm

tmpfs 1.9G 12M 1.9G 1% /run

tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup

/dev/sda1 1014M 142M 873M 14% /boot

tmpfs 378M 0 378M 0% /run/user/0

172.16.3.61:6789:/ 150G 0 150G 0% /cephfs

7 客户端在/cephfs创建文件

[root@centos7 ceph]# cd /cephfs/

[root@centos7 cephfs]# echo "Utopa 2019" > Utopa.txt

[root@centos7 cephfs]# ls

Utopa.txt

检查服务器端使用情况

[root@ceph1 ceph]# ceph df

GLOBAL:

SIZE AVAIL RAW USED %RAW USED

480GiB 474GiB 6.12GiB 1.28

POOLS:

NAME ID USED %USED MAX AVAIL OBJECTS

volumes 1 134B 0 150GiB 5

vms 2 0B 0 150GiB 0

images 3 0B 0 150GiB 0

rbd1 4 14.3MiB 0 150GiB 19

rbd 5 0B 0 150GiB 0

cephfs 6 11B 0 150GiB 1

cephfs_metadata 7 5.73KiB 0 150GiB 21


三、rdb map出錯rbd sysfs write failed


創建了一個rbd鏡像1

然後,在Ceph client端將該rbd鏡像映射為本地設備時出錯。

  1. $ rbd map docker_test --name client.admin

  2. rbd: sysfs write failed
  3. RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
  4. In some cases useful info is found in syslog - try "dmesg | tail" or so.

原因:

rbd鏡像的一些特性,OS kernel並不支持,所以映射失敗。我們查看下該鏡像支持了哪些特性。可以看到特性feature一欄,由於我OS的kernel只支持layering,其他都不支持,所以需要把部分不支持的特性disable掉。

方法一:

直接diable這個rbd鏡像的不支持的特性:

$ rbd feature disable docker_test exclusive-lock object-map fast-diff deep-flatten

方法二:

創建rbd鏡像時就指明需要的特性,如:

$ rbd create --size 4096 docker_test --image-feature layering

方法三:

如果還想一勞永逸,那麽就在執行創建rbd鏡像命令的服務器中,修改Ceph配置文件/etc/ceph/ceph.conf,在global section下,增加

rbd_default_features = 1

再創建rdb鏡像。

$ rbd create --size 4096 docker_test

通過上述三種方法後,查看rbd鏡像的信息。

  1. $ rbd info docker_test

  2. rbd image 'docker_test':
  3. size 4096 MB in 1024 objects
  4. order 22 (4096 kB objects)
  5. block_name_prefix: rbd_data.43a22ae8944a
  6. format: 2
  7. features: layering
  8. flags:

次嘗試映射rdb鏡像到本地塊設備,成功!

  1. $ rbd map docker_test --name client.admin

  2. /dev/rbd0

相关推荐

ssh终端xshell日志查看命令(xshell怎么看日志)

现在我们云服务器运维较多用的是SSH工具,其中常用的包括PUTTY、XSHELL等,其实大同小异界面UI稍微不同,但是都可以进入远程连接。这里有朋友提到如何查看服务器的日志文件,这个其实和是否使用XS...

使用 Fail Ban 日志分析 SSH 攻击行为

通过分析`fail2ban`日志可以识别和应对SSH暴力破解等攻击行为。以下是详细的操作流程和关键分析方法:---###**一、Fail2ban日志位置**Fail2ban的日志路径因系统配置...

如何高效读取Linux日志文件?这些命令要熟记于心!

在Linux系统中,日志文件通常存储在/var/log目录下。比如,/var/log/syslog(或/var/log/messages,视发行版而定)记录系统整体事件,/var/log/a...

Windows服务器远程登录日志查询方法,linux查看登录日志方法

概述本文介绍Windows、Linux服务器查询系统的远程登录日志方法。根据服务器所使用的操作系统不同,有以下两种查询方法。Linux操作系统的登录日志查询通过远程连接登录Linux服务器,使用roo...

iptables防火墙如何记录日志(防火墙日志查看)

例如:记录所有ssh服务的登录的日志首先,我们需要了解如何将所有的iptables的INPUT链数据包记录到/var/log/messages中。如果你已经有一些iptables规则了,那么将记录日志...

如何安全管理SSH密钥以防止服务器被入侵

SSH密钥安全管理实施指南(2025年更新版)一、密钥生成与存储规范高强度密钥生成bashCopyCodessh-keygen-ted25519-a100#生成ED25519算法密钥(比...

在CentOS上安装nginx服务器(centos搭建代理服务器)

一、环境描述1.虚拟机配置CPU:单核内存:2GB硬盘:120GBIP:10.24.17.1082.操作系统版本:CentOS6.6x86_64安装方式:Minimal3.虚拟化环境VM...

CentOS7安全加固的一份整理规划建议

◆更新系统:及时更新CentOS7操作系统版本和安全补丁,确保系统以最新状态运行。◆关闭不必要的服务:在运行系统时,应关闭不需要的服务和端口,以减少系统暴露的攻击面。◆安装防火墙:使用iptables...

第四十七天-二叉树,centOS安装tomcat,Maven,vsftpd

学习笔记:1.Maven是Apache下的一个纯Java开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven...

Linux远程桌面连接使用教程 Widows终端远程连接Linux服务器

一、前言为什么不是远程连接Linux服务器?因为我不会,远程连接window我就用电脑自带的“远程桌面连接”。以下所述都是在CentOS操作系统下的。服务器刚换成Linux的时候很迷茫,感觉无从下手...

CentOS 安全加固操作,保护你的操作系统

系统加固是保障系统安全的重要手段,对于维护企业数据安全、用户隐私以及系统稳定运行具有重要意义。加固后的系统更加健壮和稳定,能够有效减少因安全问题导致的系统故障和停机时间,提高系统的可用性和可靠性。通过...

Dockerfile部署Java项目(docker如何部署java项目)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

CentOS7云主机部署Fail2ban阻断SSH暴力破解

关于Fail2banFail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽)例如:当有人在试探你的HTTP、SSH、SMTP、FTP密...

在CentOS7上用源码编译安装PostgreSQL

1、新建postgres用户#useraddpostgres&&passwdpostgres2、安装依赖包#yum-yinstallmakegccgcc-c++readline...

pure-ftpd 使用(ftp prompt命令)

pure-ftpd是一个免费的ftp软件,其他介绍就不多说了。我们直接开始主题安装centosyuminstallepel-releaseyuminstallpure-ftpd配置备份原配置...

取消回复欢迎 发表评论: