Ceph使用块设备完整操作流程

简介:

Ceph使用块存储,系统内核需要3.0及以上的内核,以支持一些ceph模块。

创建块的时候可以指定类型(type1type2),只有type2的可以对快照进行保护,保护以后才能做克隆。

 

使用块设备完整操作流程:

1、创建块设备(单位是M)

1
2
3
4
5
6
rbd create yjk01 --size 1024 --pool vms--image- format  2
rbd info yjk01 --pool vms
rbd map yjk01 --pool vms
rbd showmapped
mkfs.ext4  /dev/rbd0
mount  /dev/rbd0  /mnt

 

2、自动挂载

先写入fstab(blkid查看相应磁盘的UUID)

UUID=        /mnt        ext4   defaults,noatime,_netdev       0  0

再添加以下内容到/etc/rc.local

1
2
rbd map yjk01 --pool vms
mount  -a

 

3、块扩容

1
2
rbd resize vms /yjk01  --size 2048
resize2fs  /dev/rbd0

 

4  块删除

1
umount  /dev/rbd0

删除/etc/ceph/rbdmap/etc/fstab/etc/rc.local中的相关内容

1
2
rbd unmap  /dev/rbd0
rbd  rm  yjk01 --pool vms

 

只有先map后才能挂载,重启后不会自动map(/etc/init.d/rbdmapbug)fstab启动的优先级高于自动map的优先级

以下脚本可以确保系统重启的时候不会卡死,以及开机正常自动挂载块设备。

脚本要做以下操作:

1
2
3
4
# cp auto_unmap /etc/rc.d/init.d/
# chmod +x /etc/rc.d/init.d/auto_unmap
# chkconfig --add auto_unmap
# chkconfig auto_unmap on


内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
#
#
# chkconfig: 02345  99 1
# Description:          delete all service pid and lockfile
#
#######################readme#########################################
# cp auto_unmap /etc/rc.d/init.d/
# chmod +x /etc/rc.d/init.d/auto_unmap
# chkconfig --add auto_unmap
# chkconfig auto_unmap on
#######################readme#########################################
function  action_start () {
echo  'automap_info_in_rc.local'
}
function  action_stop () {
mount_devices=`rbd showmapped| sed  '2,$p'  -n| awk  '{print $5}' `
for  in  $mount_devices
do
umount  $i
rbd unmap $i
done
}
case  "$1"  in
start)
;;
stop)
action_stop
echo  'Auto-unmap is OK'
;;
status)
;;
*)
echo  "Usage: $0 {start}"
         exit  1
esac


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1788682,如需转载请自行联系原作者
相关文章
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
|
Linux 开发工具 Python
CentOS7安装python3超详细教程
CentOS7安装python3超详细教程
1710 0
|
JavaScript Linux 网络安全
VS Code远程调试Nodejs项目
VS Code远程调试Nodejs项目
|
Linux Shell Python
centos执行pip3 install etcd3报错
centos执行pip3 install etcd3报错
|
Web App开发 Rust 安全
一名C++程序员的Rust入门初体验
作者最近尝试写了一些Rust代码,本文主要讲述了对Rust的看法和Rust与C++的一些区别。
|
存储 网络协议 Unix
图解VirtualBox安装CentOS 7
VirtualBox是由德国InnoTek软件公司出品的虚拟机软件,现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部分。
3033 0
图解VirtualBox安装CentOS 7
|
Web App开发 JavaScript 前端开发
Vis.js – 基于浏览器的动态 JavaScript 可视化库
  Vis.js 是一个动态的,基于浏览器的可视化库。该库被设计为易于使用,能处理大量的动态数据。该库由以下几部分组成:一是数据集和数据视图,基于灵活的键/值数据集,可以添加,更新和删除项目,订阅数据集变化;二是时间轴,用于显示不同类型的时间轴数据,在时间轴上项目可以交互移动,缩放和操纵;三是图形,使用节点和边显示一个交互式图形或网络。
2455 0
|
存储 Linux 网络安全
centos 7.7 安装ceph
centos install ceph
4806 0
|
关系型数据库 API 数据库
基于Patroni的PostgreSQL高可用环境部署
在部署PostgreSQL到生产环境中时,选择适合的高可用方案是一项必不可少的工作。本文介绍基于Patroni的PostgreSQL高可用的部署方法,供大家参考。
7844 1
|
存储 Unix Linux
etcd集群搭建
etcd集群搭建