使用rbd-nbd进行rbd挂载

使用rbd-nbd进行rbd挂载

1. 安装软件

apt-get install ceph-common rbd-nbd
  • 注意: 请确保ceph-common版本与ceph服务端一致

2.部署nbd模块的配置: /etc/modprobe.d/nbd.conf

写入如下内容:

options nbd max_part=16 nbds_max=99

说明: 
- max_part:块设备支持的最大分区数,默认值为0,不修改的话部分情况会无法显示分区 
- nbds_max: nbd设备(即/dev/nbd*)的个数, 设备系统默认只有16个,请根据实际情况酌情修改,不能高于255

3.加载nbd模块

[email protected]-test:~# modprobe nbd
## 检查是否成功加载
[email protected]-test:~# ls /dev/nbd*
/dev/nbd0   /dev/nbd1 ......

4.新建rbd并映射到本地块设备

# 新建测试设备
[email protected]-test:~# qemu-img create -f raw rbd:aquarius-sas-img/test-nbd1:id=docker 20G
## 映射
## 格式为:rbd-nbd [pool名]/[rbd名称]
[email protected]-test:~# rbd-nbd map aquarius-sas-img/test-nbd1
## 检查是否出现这个块设备
[email protected]-test:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nbd1    43:0    0   100G  0 disk
sda      8:0    0 278.5G  0 disk
├─sda2   8:2    0     1K  0 part
├─sda9   8:9    0 246.5G  0 part /home
├─sda7   8:7    0     8G  0 part /var
├─sda5   8:5    0     4G  0 part [SWAP]
├─sda1   8:1    0     8G  0 part /
├─sda8   8:8    0     4G  0 part /tmp
└─sda6   8:6    0     8G  0 part /usr
## 新建完成后就可以直接当做块设备来使用,分区、格式化等任何你想做的事

## 列出所有映射的rbd
[email protected]-test:~# rbd-nbd list-mapped
/dev/nbd0

5.简单测试

## 分区,也可以不分区直接格式化后进行读写
[email protected]-test:~# parted -s /dev/nbd1 mktable GPT
[email protected]-test:~# parted -s /dev/nbd1 mkpart primary 1 100%
## 格式化
[email protected]-test:~# mkfs.xfs /dev/nbd1p1
meta-data=/dev/nbd1p1            isize=256    agcount=4, agsize=6553472 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=26213888, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=12799, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
## 挂载
[email protected]-test:~# mount /dev/nbd1p1 /mnt/
## 简单dd测试
[email protected]-test:~# cd /mnt/
[email protected]-test:~# dd if=/dev/zero of=test-dd-in-nbd bs=2M count=100
100+0 records in
100+0 records out
209715200 bytes (210 MB) copied, 0.145939 s, 1.4 GB/s

[email protected]-test:~# ls -lh
total 200M
-rw-r--r-- 1 root root 200M 5月  14 17:07 test-dd-in-nbd

[email protected]-test:~# df -h|grep nbd
/dev/nbd1p1     100G  233M  100G   1% /mnt

6.解挂载、解除映射

## 解挂载
[email protected]-test:~# umount /mnt/
## 解除映射
[email protected]-test:~# rbd-nbd unmap /dev/nbd1
/dev/nbd1 disconnected
## 检查块设备
[email protected]-test:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 278.5G  0 disk
├─sda2   8:2    0     1K  0 part
├─sda9   8:9    0 246.5G  0 part /home
├─sda7   8:7    0     8G  0 part /var
├─sda5   8:5    0     4G  0 part [SWAP]
├─sda1   8:1    0     8G  0 part /
├─sda8   8:8    0     4G  0 part /tmp
└─sda6   8:6    0     8G  0 part /usr

原文地址:https://www.cnblogs.com/lifei02/p/9892554.html

时间: 2024-10-10 23:12:41

使用rbd-nbd进行rbd挂载的相关文章

Ubuntu下的NBD和iscsi挂载

以下是在Ubuntu12.04.4下测试的 NBD网络块设备的使用 一.NBD简介 NBD(Network Block Device)让你可以将一个远程主机的磁盘空间,当作一个块设备来使用.就像一块硬盘一样.使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上. 二.NBD安装方法 在Turbolinux的10以上的版本中,NBD已被编译成模块.保存在 /lib/modules/$version/kernel/driver/block/下.你还需要在服务器端和客户端上安装nbd-s

使用qemu-nbd进行rbd挂载

使用qemu-nbd进行rbd挂载 1. 使用qemu-nbd进行rbd挂载 1.1. 1. 安装软件 1.2. 2.部署nbd模块的配置: /etc/modprobe.d/nbd.conf 1.3. 3.加载nbd模块 1.4. 4.新建rbd并映射到本地块设备 1.5. 5.简单测试 1.6. 6.解挂 1. 安装软件 apt-get install qemu-utils apt-get install ceph-common 注意: 请确保ceph-common版本与ceph服务端一致 2

ceph(rbd、cephfs)磁盘挂载详解

1:RBD方式挂载 2:cephfs 挂载 3:对象文件上传下载 ####################RBD方式挂载################################### 1:安装ceph软件包.同步集群配置文件和key Yum install ceph –y 2:新建一个ceph pool ceph osd pool create {pool-name} {pg-num} [{pgp-num}]   实例 ceph osd pool create rbdpool 100 1

(2) ceph 客户端挂载使用RBD

RADOS 块设备 (RBD) 一一其前身是 Ceph 块设备Cep 客户端提供基于块的恃久化存储,通常作为一 个额外的磁盘使用,客户可以灵活地使用这个磁盘,可以作为裸设备使用 ,也可以格式化成文件系统,然后挂载它.RBD 利用 librbd 库并将块数据连续地存储在跨越多个 OSD 的条带状非储空间中 .RBD 由 Ceph Rados 层提供支持,因此每个块设备都分布多个 Ceph 节点上,从而提供了高性能和出色的可靠性, RBD 具有丰富的企业特性,如自动精简配置( thin provii

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 150G

kubernetes整合ceph rbd

一.有一个ceph cluster,假设已经准备好了,文档网上一大堆 二.开始集成ceph和kuberntes 2.1 禁用rbd features rbd image有4个 features,layering, exclusive-lock, object-map, fast-diff, deep-flatten因为目前内核仅支持layering,修改默认配置每个ceph node的/etc/ceph/ceph.conf 添加一行rbd_default_features = 1这样之后创建的i

CentOS7 Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 与 OpenStack 集成的实现 (4)TBD Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,librados 是 Ceph 的基础接口,其它的接口比如 RADOSGW, RBD 和 CephFS 都是基于 librados 实现的.本文试着分析下 Ceph 的各种接口库和常用的工具.

Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

CEPH集群RBD快照创建、恢复、删除、克隆

Ceph支持一个非常好的特性,以COW(写时复制)的方式从RBD快照创建克隆,在Ceph中被称为快照分层.分层特性允许用户创建多个CEPH RBD克隆实例.这些特性应用于OpenStack等云平台中 ,使用快照形式保护ceph RBD 镜像,快照是只读的,但COW克隆是完全可以写 ,可以多次来孵化实例,对云平台来说是非常有用的. Ceph RBD镜像有format-1  和 format-2两种类型,RBD支持这两种类型,但是分层特性COW克隆特性只支持format-2镜像,默认RBD创建的镜像