Ceph数据盘怎样实现自动挂载
前言
在Centos7 下,现在采用了 systemctl来控制服务,这个刚开始用起来可能不太习惯,不过这个服务比之前的服务控制要强大的多,可以做更多的控制,本节将来介绍下关于 Ceph的 osd 磁盘挂载的问题
很多人部署以后,发现在Centos7下用Jewel的时候没有去写fstab也没有写配置文件,重启服务器一样能够挂载起来了,关于这个有另外一篇文章:「ceph在centos7下一个不容易发现的改变」
还有一些人发现自己的却启动不起来,需要写配置文件或者fstab
本篇就是来解决这个疑惑的,以及在不改变原配置方法的情况下如何加入这种自启动
实践过程
首先来第一种部署的方法
ceph-deploy osd prepare lab8106:/dev/sde
ceph-deploy osd activate lab8106:/dev/sde1
这个方法会把/dev/sde自动分成两个分区,一个分区给journal使用,一个分区给osd的数据使用,这种方法部署以后,是可以自动起来的,启动的挂载过程就是这个服务
systemctl start ceph-disk@/dev/sde1
再来看第二种方法
[root@lab8106 ceph]# parted -s /dev/sdf mklabel gpt
[root@lab8106 ceph]# parted -s /dev/sdf mkpart primary 1 100%
[root@lab8106 ceph]# parted -s /dev/sdf print
Model: SEAGATE ST3300657SS (scsi)
Disk /dev/sdf: 300GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 300GB 300GB primary
提前做好了分区的工作
ceph-deploy osd prepare lab8106:/dev/sdf1
ceph-deploy osd activate lab8106:/dev/sdf1
可以看到prepare的时候是对着分区去做的
这种方法journal是以文件的方式在数据目录生成的,可以看到两个目录的 df 看到的就是不一样的,多的那个是 journal 文件的大小
/dev/sde1 279G 34M 279G 1% /var/lib/ceph/osd/ceph-6
/dev/sdf1 280G 1.1G 279G 1% /var/lib/ceph/osd/ceph-7
重启服务器
可以看到上面的sde1挂载了而自己分区的sdf1没有挂载
我们去手动执行下:
[root@lab8106 ~]# systemctl start ceph-disk@/dev/sdf1
Job for ceph-disk@-dev-sdf1.service failed because the control process exited with error code. See "systemctl status ceph-disk@-dev-sdf1.service" and "journalctl -xe" for details.
看下报错
[root@lab8106 ~]# systemctl status ceph-disk@-dev-sdf1.service
● ceph-disk@-dev-sdf1.service - Ceph disk activation: /dev/sdf1
Loaded: loaded (/usr/lib/systemd/system/ceph-disk@.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Thu 2016-12-22 10:15:52 CST; 46s ago
Process: 16334 ExecStart=/bin/sh -c flock /var/lock/ceph-disk /usr/sbin/ceph-disk --verbose --log-stdout trigger --sync %f (code=exited, status=1/FAILURE)
Main PID: 16334 (code=exited, status=1/FAILURE)
Dec 22 10:15:52 lab8106 sh[16334]: main(sys.argv[1:])
Dec 22 10:15:52 lab8106 sh[16334]: File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4962, in main
Dec 22 10:15:52 lab8106 sh[16334]: args.func(args)
Dec 22 10:15:52 lab8106 sh[16334]: File "/usr/lib/python2.7/site-packages/ceph_disk/main.py", line 4394, in main_trigger
Dec 22 10:15:52 lab8106 sh[16334]: raise Error('unrecognized partition type %s' % parttype)
Dec 22 10:15:52 lab8106 sh[16334]: ceph_disk.main.Error: Error: unrecognized partition type 0fc63daf-8483-4772-8e79-3d69d8477de4
Dec 22 10:15:52 lab8106 systemd[1]: ceph-disk@-dev-sdf1.service: main process exited, code=exited, status=1/FAILURE
Dec 22 10:15:52 lab8106 systemd[1]: Failed to start Ceph disk activation: /dev/sdf1.
Dec 22 10:15:52 lab8106 systemd[1]: Unit ceph-disk@-dev-sdf1.service entered failed state.
Dec 22 10:15:52 lab8106 systemd[1]: ceph-disk@-dev-sdf1.service failed.
关键在这句
raise Error('unrecognized partition type %s' % parttype)
检查分区情况,可以看到确实跟另外一种方法部署的OSD情况不同
[root@lab8106 ceph]# ceph-disk list
···
/dev/sde2 ceph journal, for /dev/sde1
/dev/sde1 ceph data, active, cluster ceph, osd.6, journal /dev/sde2
dev/sdf :
/dev/sdf1 other, xfs, mounted on /var/lib/ceph/osd/ceph-7
这里要如何处理,才能实现自动挂载,方法是有的
这个地方需要做一步这个操作(注意下面的1:后面是写死的字符串固定的值)
/usr/sbin/sgdisk --typecode=1:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -- /dev/sdi
/dev/sdi :
/dev/sdi1 ceph data, active, cluster ceph, osd.7
我们来验证一下:
[root@lab8106 ceph]# systemctl stop ceph-osd@7
[root@lab8106 ceph]# umount /dev/sdi1
[root@lab8106 ceph]# systemctl start ceph-disk@/dev/sdi1
[root@lab8106 ceph]# df -h|grep sdi
/dev/sdi1 280G 1.1G 279G 1% /var/lib/ceph/osd/ceph-7
可以用服务挂载了
这个是代码里面写死的判断值,来判断osd是ready的了
/usr/lib/python2.7/site-packages/ceph_disk/main.py
'osd': {
'ready': '4fbd7e29-9d25-41b8-afd0-062c0ceff05d',
'tobe': '89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be',
},
总结
通过本篇的介绍,应该能够清楚什么情况下不自动挂载,什么情况下自动挂载,怎么去实现自动挂载,虽然上面只用了一调命令就实现了,不过我找了很久才定位到这个命令的,当然自己也掌握了这个知识点,公众号已经可以留言了,欢迎留言
Ceph数据盘怎样实现自动挂载的更多相关文章
- CentOS 7 下挂载NTFS盘及开机自动挂载
一.工具 NTFS-3G 二.安装2种安装方式 2.1.yum安装 yum install NTFS* 2.2.编译安装 下载 解压 wget https://tuxera.com/opensourc ...
- 怎样禁止Ceph OSD的自动挂载
前言 本篇来源于群里一个人的问题,有没有办法让ceph的磁盘不自动挂载,一般人的问题都是怎样让ceph能够自动挂载,在centos 7 平台下 ceph jewel版本以后都是有自动挂载的处理的,这个 ...
- centos7 挂载数据盘
centos 挂载数据盘1.运行 fdisk -l 命令查看数据盘.注意:在没有分区和格式化数据盘之前,使用 df -h 命令是无法看到数据盘的. 如果执行了 fdisk -l 命令后,没有发现 /d ...
- linux命令之数据盘格式化挂载
1,查看数据盘 在没有分区和格式化数据盘之前,使用”df -h “命令是无法看到数据盘的,可以通过 fdisk -l 查看机器情况(找出所有硬盘个数及设备名称) 提示:若没有发现/dev/xvdb ...
- 景安快云VPS挂载数据盘至指定目录 使得系统与数据分离
如果我们细心的用户会发现购买景安快云VPS主机后,通过df检测看到系统盘大小与我们购买时候给的不一样,这个是很正常的事情.一般VPS主机商会通过给予系统盘和数据盘一并的数据磁盘给我们,但是默认我们看到 ...
- docker改变默认存储路径到数据盘(自己实践)
一.首先将数据盘格式化分区并挂载(文章中提到的sdb(腾讯云)实践中是vdb(阿里云),文章中挂载在ssd目录下,实践中是挂载到data目录下的,后面安装docker部分以后是实践中的记录,上面数据盘 ...
- CentOS 7.6最小化安装(系统盘和数据盘分离安装)
CentOS 7.6最小化安装(系统盘和数据盘分离安装) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建虚拟机 鉴于大家使用的平台操作系统可能不尽相同,博主精力有限,仅演示 ...
- linux 数据盘和系统盘的查看
系统盘就像linux的c盘,使用df -l命令查看 如下所示: 可以看到根路径 / 都是位于系统盘.而/root,/home,/usr就如同c盘下的c:\windows,c:\usr这些目录 如果单独 ...
- linux系统数据盘挂载教程
将数据盘挂载为/www命令:#mkdir /www & mount /dev/sdb1 /www ----------------------------------------------- ...
随机推荐
- C++中线程安全单例模式的正确实现方式
为什么说DCLP不是线程安全的 DCLP(Double Checked Locking Pattern),即双检锁模式: class Foo { public: static Foo* getInst ...
- CSP-S2020AFO记
2020-10.11 考初赛辣. 选择题考了一堆时间复杂度,一个不会(卒) 我寻思这01背包哪里能用贪心? 啊,这,这,这手写快排竟如此简单,手写取Max,手写队列,两个字符串颠来倒去,竟活到爆! 震 ...
- faker切换user-agent
import random import requests url = "http://tool.yeves.cn" import faker fake = faker.Faker ...
- 第一章 Linux操作系统及其历史介绍
一.什么是操作系统 1.基本含义: 简称OS 是计算机系统中必不可少的基础系统软件,是应用程序运行和用户操作必备的基础环境 操作系统就是一个人与计算机之间的中介 2.组成方式: 操作系统的组成: 计算 ...
- 【应用服务 App Service】发布到Azure上的应用显示时间不是本地时间的问题,修改应用服务的默认时区
问题情形 应用程序发布到App Service后,时间显示不是北京时间,默认情况为UTC时间,比中国时间晚 8 个小时. 详细日志 无 问题原因 Azure 上所有的服务时间都采用了 UTC 时间. ...
- 天猫精灵对接2(OAuth 搭建)
根据 接入方式及流程 中的说明,可知,搭建过程中,我们需要自己整一个 OAuth 的授权平台,具体说明可以参考蟋蟀大哥的文章 ASP.NET WebApi OWIN 实现 OAuth 2.0 ,我的 ...
- 了解Js中的client,offset
Client clientWidth,clientHeight 元素内部的宽度和高度,clientTop,clientLeft 元素内边距到其边框的距离,clientX,clientY相当于浏览器窗口 ...
- 关于隐私保护的英文论文的阅读—— How to read English thesis
首先 开始我读论文时 也是恨不得吃透每个单词 但是后来转念一想 没必要每个单词都弄懂 因为 一些程度副词 修饰性的形容词等 这些只能增强语气罢了 对文章主题的理解并没有天大的帮助 而读文章应该首先把握 ...
- 关于机器翻译评价指标BLEU(bilingual evaluation understudy)的直觉以及个人理解
最近我在做Natural Language Generating的项目,接触到了BLEU这个指标,虽然知道它衡量的是机器翻译的效果,也在一些文献的experiment的部分看到过该指标,但我实际上经常 ...
- dcoker 搭建单节点redis
1.安装docker 1.检查内核版本,必须是3.10及以上 [root@localhost ~]# uname -r 2.安装docker [root@localhost ~]# yum insta ...