一 基础准备

  • 参考《002.Ceph安装部署》文档部署一个基础集群;
  • 新增节点主机名及IP在deploy节点添加解析:
 [root@deploy ~]# echo "172.24.8.75 cephclient" >>/etc/hosts
  • 配置国内yum源:
 [root@cephclient ~]# yum -y update
[root@cephclient ~]# rm /etc/yum.repos.d/* -rf
[root@cephclient ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@cephclient ~]# yum -y install epel-release
[root@cephclient ~]# mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
[root@cephclient ~]# mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
[root@cephclient ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 

二 块设备

2.1 添加普通用户

 [root@cephclient ~]# useradd -d /home/cephuser -m cephuser
[root@cephclient ~]# echo "cephuser" | passwd --stdin cephuser #cephclient节点创建cephuser用户
[root@cephclient ~]# echo "cephuser ALL = (root) NOPASSWD:ALL" > /etc/sudoers.d/cephuser
[root@cephclient ~]# chmod 0440 /etc/sudoers.d/cephuser
[root@deploy ~]# su - manager
[manager@deploy ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub cephuser@172.24.8.75
 

2.2 安装ceph-client

 [root@deploy ~]# su - manager
[manager@deploy ~]$ cd my-cluster/
[manager@deploy my-cluster]$ vi ~/.ssh/config
Host node1
Hostname node1
User cephuser
Host node2
Hostname node2
User cephuser
Host node3
Hostname node3
User cephuser
Host cephclient
Hostname cephclient #新增cephclient节点信息
User cephuser
[manager@deploy my-cluster]$ ceph-deploy install cephclient #安装Ceph
 
注意:若使用ceph-deploy部署的时候出现安装包无法下载,可在部署时候指定ceph.repo为国内源:
 ceph-deploy install cephclient --repo-url=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/ --gpg-url=https://mirrors.aliyun.com/ceph/keys/release.asc
 [manager@deploy my-cluster]$ ceph-deploy admin cephclient
提示:为方便后期deploy节点管理cephclient,在CLI中使用命令中简化相关key的输出,可将key复制至相应节点。ceph-deploy 工具会把密钥环复制到/etc/ceph目录,要确保此密钥环文件有读权限(如 sudo chmod +r /etc/ceph/ceph.client.admin.keyring )。

2.3 创建pool

 [manager@deploy my-cluster]$ ssh node1 sudo ceph osd pool create mytestpool 64

2.4 初始化pool

 [root@cephclient ~]# ceph osd lspools
[root@cephclient ~]# rbd pool init mytestpool
 

2.5 创建块设备

 [root@cephclient ~]# rbd create mytestpool/mytestimages --size 4096 --image-feature layering

2.6 确认验证

 [root@cephclient ~]# rbd ls mytestpool
mytestimages
[root@cephclient ~]# rbd showmapped
id pool image snap device
0 mytestpool mytestimages - /dev/rbd0
[root@cephclient ~]# rbd info mytestpool/mytestimages
 

2.7 将image映射为块设备

 [root@cephclient ~]# rbd map mytestpool/mytestimages --name client.admin
/dev/rbd0
 

2.8 格式化设备

 [root@cephclient ~]# mkfs.ext4 /dev/rbd/mytestpool/mytestimages
[root@cephclient ~]# lsblk
 

2.9 挂载并测试

 [root@cephclient ~]# sudo mkdir /mnt/ceph-block-device
[root@cephclient ~]# sudo mount /dev/rbd/mytestpool/mytestimages /mnt/ceph-block-device/
[root@cephclient ~]# cd /mnt/ceph-block-device/
[root@cephclient ceph-block-device]# echo 'This is my test file!' >> test.txt
[root@cephclient ceph-block-device]# ls
lost+found test.txt
 

2.10 自动map

 [root@cephclient ~]# vim /etc/ceph/rbdmap
# RbdDevice Parameters
#poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring
mytestpool/mytestimages id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
 

2.11 开机挂载

 [root@cephclient ~]# vi /etc/fstab
#……
/dev/rbd/mytestpool/mytestimages /mnt/ceph-block-device ext4 defaults,noatime,_netdev 0 0
 

2.12 rbdmap开机启动

 [root@cephclient ~]# systemctl enable rbdmap.service
[root@cephclient ~]# df -hT #查看验证
 
提示:若出现开机后依旧无法自动挂载,rbdmap也异常,可如下操作:
 [root@cephclient ~]# vi /usr/lib/systemd/system/rbdmap.service
[Unit]
Description=Map RBD devices
WantedBy=multi-user.target #需要新增此行
#……
 

004.Ceph块设备基础使用的更多相关文章

  1. Ceph 块设备 - 块设备快速入门

    目录 一.准备工作 二.安装 Ceph 三.使用块存储   一.准备工作 本文描述如何安装 ceph 客户端,使用 Ceph 块设备 创建文件系统并挂载使用. 必须先完成 ceph 存储集群的搭建,并 ...

  2. Ceph 块设备 - 命令,快照,镜像

    目录 一.Ceph 块设备 二.块设备 rbd 命令 三.操作内核模块 四.快照基础 rbd snap 五.分层快照 六.镜像 rbd mirror 七.QEMU 八.libvirt 九.Openst ...

  3. Ceph 块存储

    任何普通的linux主机都可以充当ceph客户机,客户机通过网络与ceph存储集群交互以存储或检索用户数据.Ceph RBD支持已经添加到linux主线内核中,从2.6.34以及以后版本开始. === ...

  4. 二十八. 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虚 ...

  5. 004 ceph存储池

    介绍:前面已经使用deploy和ansble部署了ceph集群,现在对集群的池进行简单介绍和简单操作 一.部分概念 池是ceph存储集群的逻辑分区,用于存储对象 对象存储到池中时,使用CRUSH规则将 ...

  6. Ceph块设备

    Ceph块设备 来自这里. 块是一个字节序列(例如,一个512字节的数据块).基于块的存储接口是最常见的存储数据的方法,它通常基于旋转介质,像硬盘.CD.软盘,甚至传统的9道磁带. 基本的块设备命令 ...

  7. 学习ceph官网的ceph块设备命令(一)

    一)存储池命令 1.列出存储池 #ceph osd lspools #ceph osd pool ls 2.创建存储池 # ceph osd pool create yhcpool 512 pool ...

  8. ceph 块设备

    数据的存储设备? 数据的存储有3种形式,1种是直接以二进制数据的形式存储在裸设备(包括块设备)上,另外一种是以文件的形式经过文件系统管理进行存储.第三种就是以对象的形式进行对象存储.本篇讨论围绕着块设 ...

  9. Ceph块存储介绍

    1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助R ...

随机推荐

  1. Confluence 6 管理协同编辑 - 审计的考虑

    我们知道一些客户对审计是主要考虑的方面.我们不能保证在协同编辑的时候具有审计,审查功能.所有页面的修改当前附加到用户发布页面的属性中而不是用户的特定修改. 如果这个对你来说是一个问题的话,我们建议你在 ...

  2. 关于python3链接虚拟机MongoDB 遇到的问题总结

    pymongo.errors.ServerSelectionTimeoutError: 192.168.12.230:27017: [Errno 61] Connection refused 1.如果 ...

  3. 实用的sublime插件集合 – sublime推荐必备插件

    Package Control 功能:安装包管理 简介:sublime插件控制台,提供添加.删除.禁用.查找插件等功能 使用:https://sublime.wbond.net/installatio ...

  4. day11 函数的位置形参,位置实参,可变长位置形参,关键字形参

    今天内容 函数的参数详解 形参与实参 形参及形式参数,就是在定义函数是括号中指定的参数(本质就是一个名字) 实参及实际参数,指的是在调用函数是传入的参数)(本质就是一个值) 在调用函数是就会把形参和实 ...

  5. Java并发编程基础-ReentrantLock的机制

    同步锁: 我们知道,锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源,在Lock接口出现之前,Java应用程序只能依靠synchronized关键字来实现同步锁 ...

  6. Python实战一

    要求:用户输入用户名和密码错误三次,就对该用户进行锁定,不让其进行登录. def match(name,pwd): '''匹配用户输入的信息,进行判断''' falg = True while fal ...

  7. shell 判断文件夹或文件是否存在

    文件夹不存在则创建 if [ ! -d "/data/" ];then mkdir /data else echo "文件夹已经存在" fi 文件存在则删除 i ...

  8. vsftpd中的local_umask和anon_umask

    umask是在linux中常见的一个东西,它其实是一个掩码.当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义.该 定义为: 假设umask为022,则对于一个文件夹的话,它的默认 ...

  9. js获取url协议、url, 端口号等信息路由信息

    以路径为 http://www.baidu.com  为例 console.log("location:"+window.location.href); >> &quo ...

  10. shell 判断目录是否存在

    判断/data/www/logs/wos_log/crontab_log是否, 如果不存在则新建 if [ ! -d "/data/www/logs/wos_log/crontab_log& ...