04 ceph 块设备安装,创建,设备映射,挂载,详情,调整,卸载,映射,删除 快照的创建回滚删除

块设备安装,创建,映射,挂载,详情,调整,卸载,曲线映射,删除

在使用Ceph的块设备工作前,确保您的Ceph的存储集群是在主动 + 清洁状态。

vim /etc/hosts
172.16.66.144 ceph-client

在admin节点上执行这个快速启动。
1. 在admin节点上,用ceph-deploy在你的ceph-client节点安装Ceph

ceph-deploy install ceph-client

2. 在admin节点上,用ceph-deploy复制Ceph配置文件和ceph.client.admin.keyring到你的ceph-client。

ceph-deploy admin ceph-client

1. 在ceph-client节点上,创建一个100G块设备的镜像,image_name "foo",

rbd create foo --size 102400

2. 在ceph-client节点上, 要映射块设备镜像到内核模块,首先要加载Ceph的RBD模块,让内核从新识别设备

modprobe rbd
partprobe

3. 在ceph-client节点上,映射这个镜像到一个块设备。

rbd map foo --pool rbd --name client.admin

【显示映射块设备】

[email protected]:~# rbd showmapped
id pool image snap device    
0  rbd  foo   -    /dev/rbd0

4. 用这个块设备在一个ceph-client节点上创建一个文件系统

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

5. 挂载这个文件系统到你的ceph-client节点上

mkdir /mnt/ceph-block-device
mount /dev/rbd/rbd/foo /mnt/ceph-block-device
cd /mnt/ceph-block-device
[email protected]:/mnt/ceph-block-device# ll
总用量 24
drwxr-xr-x 3 root root  4096 11月  4 09:56 ./
drwxr-xr-x 3 root root  4096 11月  4 09:56 ../
drwx------ 2 root root 16384 11月  4 09:56 lost+found/
[email protected]:/mnt/ceph-block-device# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/rbd0      ext4       99G   60M   99G    1% /mnt/ceph-block-device

【测试】

[email protected]:/mnt/ceph-block-device# dd if=/dev/zero bs=100M count=5 of=haha.tar.gz
记录了5+0 的读入
记录了5+0 的写出
524288000字节(524 MB)已复制,47.5169 秒,11.0 MB/秒
[email protected]:/mnt/ceph-block-device# ll -h
总用量 501M
-rw-r--r-- 1 root root 500M 11月  4 10:22 haha.tar.gz
drwx------ 2 root root  16K 11月  4 09:56 lost+found/

【取消映射块设备】,先卸载挂载点

[email protected]:~# umount /dev/rbd/rbd/foo
rbd unmap /dev/rbd/{poolname}/{imagename}
rbd unmap /dev/rbd/rbd/foo
[email protected]:~# mount /dev/rbd/rbd/foo /mnt/ceph-block-device
mount:特殊设备 /dev/rbd/rbd/foo 不存在

在你可以添加一个块设备节点之前,必须先创建一个Ceph的存储集群的镜像。要创建一个块设备的镜像,执行以下命令:
例如,要创建一个1GB名称为 foo的镜像信息存储在默认的rbd池中,执行以下命令:
例如,要创建一个1GB名称为 haha的镜像信息存储在名称为 swimmingpool 池中,执行以下命令:

rbd create foo --size 1024

创建一个swimmingpool 池 10个pg,10个pgp

[email protected]:~# ceph osd pool create swimmingpool 10 10
pool ‘swimmingpool‘ created

【要创建一个1GB名称为 haha的镜像信息存储在名称为 swimmingpool 池中】

[email protected]:~# rbd create haha --size 1024 --pool swimmingpool

【列出块设备在一个特定的池】

[email protected]:~# rbd ls swimmingpool
haha

查询显示镜像信息
要从一个特定的镜像查询信息,执行下面命令,请更换大括号内相关的镜像的名字:
rbd --image {image-name} info
[email protected]:~# rbd --image foo info
rbd image ‘foo‘:
    size 200 GB in 51200 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.5b607.238e1f29
    format: 1

要查询一个池内的镜像信息,执行下面的,更换{镜像}的镜像名称和池名称替换{池名称}:
rbd --image {image-name} -p {pool-name} info
rbd --image bar -p swimmingpool info

[email protected]:~# rbd --image haha -p swimmingpool info
rbd image ‘haha‘:
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.5b67f.74b0dc51
    format: 1

【调整块设备镜像大小】
Ceph的块设备镜像精简置备。他们实际上不使用任何物理存储,直到你开始保存数据。然而,他们有一个最大容量-大小选项设置。如果你想增加(或减少)一个的CEPH座设备镜像的最大尺寸,执行以下命令:

把块调整为400G
[email protected]:~# rbd resize --image foo --size 409600
Resizing image: 100% complete...done.
[email protected]:~# rbd --image foo -p rbd info
rbd image ‘foo‘:
    size 400 GB in 102400 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.5b607.238e1f29
    format: 1
[email protected]:~#

删除块设备镜像【前提:取消映射块设备】
要删除一个块设备,执行下面命令,更换大括号内要更换您要删除的镜像的名称:

rbd rm {image-name}
[email protected]:~# rbd rm foo
Removing image: 100% complete...done.

从池中取出一个块设备,请执行以下命令,请更换大括号内相关的镜像的名字,池的名称替换{池名称}的名称及替换大括号内{镜像}名称:

rbd rm {image-name} -p {pool-name}
[email protected]:~# rbd rm haha -p swimmingpool
Removing image: 100% complete...done.

================================================
【取消映射块设备】,先卸载挂载点

[email protected]:~# umount /dev/rbd/rbd/foo
rbd unmap /dev/rbd/{poolname}/{imagename}
rbd unmap /dev/rbd/rbd/foo
[email protected]:~# mount /dev/rbd/rbd/foo /mnt/ceph-block-device
mount:特殊设备 /dev/rbd/rbd/foo 不存在

===================================================

[email protected]:~# rbd ls
[email protected]:~# rbd ls swimmingpool

返回结果都是空

查看存储详情

[email protected]:~# ceph df detail
GLOBAL:
    SIZE      AVAIL     RAW USED     %RAW USED     OBJECTS 
    2940G     2748G       42920M          1.43          46 
POOLS:
    NAME             ID     CATEGORY     USED       %USED     MAX AVAIL     OBJECTS     DIRTY     READ      WRITE 
    rbd              0      -                 8         0         1374G           1         1       533     35899 
    .rgw.root        1      -               848         0         1374G           3         3         6         3 
    .rgw.control     2      -                 0         0         1374G           8         8         0         0 
    .rgw             3      -                 0         0         1374G           0         0         0         0 
    .rgw.gc          4      -                 0         0         1374G          32        32     20034     13376 
    .users.uid       5      -                 0         0         1374G           0         0         0         0 
    test             6      -            44892k         0         1374G           1         1         0        11 
    swimmingpool     7      -                 8         0         1374G           1         1        13         4

【创建快照】=================================
使用RBD创建一个快照,使用snap create 选项,大括号内用相应的池名称和映像名称。

先创建一个swimmingpool 池 10个pg,10个pgp

[email protected]:~# ceph osd pool create swimmingpool 10 10

创建一个名为my_image的镜像 1G 指定放在swimmingpool

[email protected]:~# rbd create my_image --size 1024 --pool swimmingpool

把swimmingpool中的my_image创建一个名为first_snapde的快照

[email protected]:~# rbd snap create swimmingpool/[email protected]_snap

显示快照信息

[email protected]:~# rbd snap ls swimmingpool/my_image
SNAPID NAME          SIZE 
     3 first_snap 1024 MB 
[email protected]:~# modprobe rbd
[email protected]:~# rbd map my_image --pool  swimmingpool --name client.admin
/dev/rbd0

【显示映射块设备】

[email protected]:~# rbd showmapped
id pool         image    snap device    
0  swimmingpool my_image -    /dev/rbd0

【创建文件系统】

[email protected]:~# mkfs.ext4 /dev/rbd/swimmingpool/my_image 
[email protected]:~# mount /dev/rbd/swimmingpool/my_image /mnt/ceph-block-device/
[email protected]:~# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/rbd0      ext4      976M  1.3M  908M    1% /mnt/ceph-block-device

【做出改变】

[email protected]:/mnt/ceph-block-device# dd if=/dev/zero bs=10M count=5 of=test.tar.gz
[email protected]:/mnt/ceph-block-device# ll -h
总用量 51M
-rw-r--r-- 1 root root  50M 11月  4 16:25 test.tar.gz

【回滚快照】=================================

[email protected]:/mnt/ceph-block-device# rbd snap rollback swimmingpool/[email protected]_snap
Rolling back to snapshot: 100% complete...done.
卸载挂载点
[email protected]:/mnt/ceph-block-device# cd
[email protected]:~# umount /dev/rbd/swimmingpool/my_image
[email protected]:~# mount /dev/rbd/swimmingpool/my_image /mnt/ceph-block-device/

【此时快照】已经恢复到first_snap状态了

【删除快照】=======================================

[email protected]:/mnt/ceph-block-device# cd
[email protected]:~# umount /dev/rbd/swimmingpool/my_image
[email protected]:~# rbd snap purge swimmingpool/my_image
Removing all snapshots: 100% complete...done.

查看块设备

[email protected]:~# rbd  -p swimmingpool --image my_image  info
rbd image ‘my_image‘:
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.5b6fd.74b0dc51
    format: 1
时间: 2024-11-10 07:05:56

04 ceph 块设备安装,创建,设备映射,挂载,详情,调整,卸载,映射,删除 快照的创建回滚删除的相关文章

Ceph 块设备

块是一个字节序列(例如,一个 512 字节的数据块).基于块的存储接口是最常见的存储数据方法,它们基于旋转介质,像硬盘. CD .软盘.甚至传统的 9 磁道磁带.无处不在的块设备接口使虚拟块设备成为与 Ceph 这样的海量存储系统交互的理想之选. Ceph 块设备是精简配置的.大小可调且将数据条带化存储到集群内的多个 OSD . Ceph 块设备利用 RADOS 的多种能力,如快照.复制和一致性. Ceph 的 RADOS 块设备( RBD )使用内核模块或 librbd 库与 OSD 交互.

国嵌内核驱动进阶班-7-5(自动创建设备文件)

linux 2.6.13 开始,devfs不存在,udev取代devfs. udev(mdev)存在应用层,可以实现设备文件的自动创建和删除. 过程: 驱动代码调用class_create创建一个class,再为每个设备调用class_create创建对应的设备. ※ 自动创建设备文件需要udev的支持 struct class *myclass =  class_create(THIS_MODULE, "mydriver"); device_create(myclass,NULL,

KVM虚拟机快照链创建,合并,删除及回滚研究

1 QEMU,KVM,libvirt关系 QEMU QEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU,此时的guest OS感觉不到虚拟机的存在,就像运行在物理机上,QEMU可以单独使用模拟CPU和各种外设,也可以作为一个用户空间工具和运行在内核中的KVM结合使用以充分发挥KVM的功能,QEMU的wiki KVM KVM是一个基于内核的虚拟机(Linux中一个可加载模块),在硬件支持虚拟化(int

Centos7.4部署ceph块设备

在部署块设备前必须保证Ceph存储集群处于active+clean状态. 一. 环境准备 IP 主机名 角色 10.10.10.20 admin-node ceph-deploy 10.10.10.24 ceph-client client 二.  安装CEPH 在管理节点上,通过 ceph-deploy 把 Ceph 安装到 ceph-client 节点. [[email protected] ceph]# ceph-deploy install ceph-client 在管理节点上,用 ce

Ceph块设备介绍与安装配置

一:rbd介绍 块是字节序列(例如,一个512字节的数据块).基于块的存储接口是使用旋转介质(例如硬盘,CD,软盘甚至传统的9-track tape)存储数据的最常用方法.块设备接口的无处不在,使虚拟块设备成为与海量数据存储系统(如Ceph)进行交互的理想候选者. Ceph块设备经过精简配置,可调整大小,并在Ceph集群中的多个OSD上存储条带化数据,ceph块设备利用了RADOS功能,例如快照,复制和一致性. Ceph的RADOS块设备(RBD)使用内核模块或librbd库与OSD进行交互.'

CEPH块存储管理

一.检查CEPH和集群各参数 1.检查ceph安装状态: 命令:ceph –s 或者 ceph status(显示结果一样) 示例: [email protected]:/home/ceph/ceph-cluster# ceph -s cluster 2f54214e-b6aa-44a4-910c-52442795b037 health HEALTH_OK monmap e1: 1 mons at {node1=192.168.2.13:6789/0}, election epoch 1,quo

Ceph块设备管理与Openstack配置(上)

Oepnstack之CEPH系列是根据Ceph Cookbook整理的笔记,分为以下几个部分: <Ceph简介> <Ceph集群操作> <Ceph块设备管理与Openstack配置> <深入Ceph> <ceph优化与性能测试> 注意:此文对应ceph版本为10.1.2 #ceph -v ceph version 10.1.2(4a2a6f72640d6b74a3bbd92798bb913ed380dcd4) 前言 目前接触到的Mitaka版本O

二十八. Ceph概述 部署Ceph集群 Ceph块存储

client:192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13 1.实验环境 准备四台KVM虚拟机,其三台作为存储集群节点,一台安装为客户端,实现如下功能: 创建1台客户端虚拟机 创建3台存储集群虚拟机 配置主机名.IP地址.YUM源 修改所有主机的主机名 配置无密码SSH连接 配置NTP时间同步 创建虚拟机磁盘 1.1 五台机器(包括真机)配置yum源 1.1.1 全部搭建ftp服务 1.1.2 配

创建分区.磁盘挂载

1.4.1 fdisk分区:小于2TB存储磁盘, 可选分区工具fdisk//生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区//学习分区建议:1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习) [[email protected] ~]# fdisk -l[[email protected] ~]# fdisk /dev/sdbCommand (m for help): m //输入m列出常用的命令Command actiona toggle a boo