只在这里做简单的演示

ceotos7 环境

3个mon节点

3个osd节点

环境搭建我这里不再叙述

我们查看一下分区情况:

[root@ceph_1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part
  ├─cl-root 253:0    0   50G  0 lvm  /
  ├─cl-swap 253:1    0  7.8G  0 lvm  [SWAP]
  └─cl-home 253:2    0 41.2G  0 lvm  /home
sdb           8:16   0  100G  0 disk
├─sdb1        8:17   0   95G  0 part /var/lib/ceph/osd/ceph-0
└─sdb2        8:18   0    5G  0 part
sdc           8:32   0  100G  0 disk
sr0          11:0    1  680M  0 rom

我们要把journal的分区又sdb2上挪到sdc盘上,sdc盘最好是ssd的盘,读写效率高

这里做之前我们先看一下各节点上sdb的分区

ceph_1节点上:

[root@ceph_1 ~]# sgdisk -i 1 /dev/sdb
Partition GUID code: 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D (Unknown)
Partition unique GUID: B78B5DF4-FF30-4F43-89A9-CF6FD951F9FE
First sector: 10487808 (at 5.0 GiB)
Last sector: 209715166 (at 100.0 GiB)
Partition size: 199227359 sectors (95.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'ceph data'

[root@ceph_1 ~]# sgdisk -i 2 /dev/sdb
Partition GUID code: 45B0969E-9B03-4F30-B4C6-B4B80CEFF106 (Unknown)
Partition unique GUID: 4106357A-CB56-4099-AA4A-028431E91C11
First sector: 2048 (at 1024.0 KiB)
Last sector: 10487807 (at 5.0 GiB)
Partition size: 10485760 sectors (5.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'ceph journal'

ceph_2节点上:

[root@ceph_2 ~]# sgdisk -i 1 /dev/sdb
Partition GUID code: 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D (Unknown)
Partition unique GUID: FA672CE1-E5E4-4FD3-8E42-9F453546D63D
First sector: 10487808 (at 5.0 GiB)
Last sector: 209715166 (at 100.0 GiB)
Partition size: 199227359 sectors (95.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'ceph data'

[root@ceph_2 ~]# sgdisk -i 2 /dev/sdb
Partition GUID code: 45B0969E-9B03-4F30-B4C6-B4B80CEFF106 (Unknown)
Partition unique GUID: 9C35A75C-E1AA-49E5-8DC3-BFA01304889D
First sector: 2048 (at 1024.0 KiB)
Last sector: 10487807 (at 5.0 GiB)
Partition size: 10485760 sectors (5.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'ceph journal'

节点3的就不看了,也是一样的

对比可以得出一个结论:

ceph-osd 分区的都有一个固定的uuid:4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D

ceph-journal分区也有一个固定的uuid:45B0969E-9B03-4F30-B4C6-B4B80CEFF106

接下来就开始换盘的操作

首先先对sdc进行分区

[root@ceph_1 ~]# sgdisk -n 1:0:0 -c 1:"ceph journal" -t 1:45B0969E-9B03-4F30-B4C6-B4B80CEFF106 -g /dev/sdc            ////-c 指定name  -t指定uuid -g 转换为gpt格式
Creating new GPT entries.
The operation has completed successfully.
[root@ceph_1 ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    0  100G  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   99G  0 part
  ├─cl-root 253:0    0   50G  0 lvm  /
  ├─cl-swap 253:1    0  7.8G  0 lvm  [SWAP]
  └─cl-home 253:2    0 41.2G  0 lvm  /home
sdb           8:16   0  100G  0 disk
├─sdb1        8:17   0   95G  0 part /var/lib/ceph/osd/ceph-0
└─sdb2        8:18   0    5G  0 part
sdc           8:32   0  100G  0 disk
└─sdc1        8:33   0  100G  0 part
sr0          11:0    1  680M  0 rom

验证一下sdc是否按我们上面的uuid设置成功

[root@ceph_1 ~]# sgdisk -i 1 /dev/sdc
Partition GUID code: 45B0969E-9B03-4F30-B4C6-B4B80CEFF106 (Unknown)
Partition unique GUID: 2E7E105B-2C0E-4809-9B5B-B030D6B52F8E
First sector: 2048 (at 1024.0 KiB)
Last sector: 209715166 (at 100.0 GiB)
Partition size: 209713119 sectors (100.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'ceph journal'

看一下各个磁盘对应的uuid,后面也需要用到这个

[root@ceph_1 ~]# ll /dev/disk/by-partuuid/
total 0
lrwxrwxrwx 1 root root 10 Oct 27 11:36 2e7e105b-2c0e-4809-9b5b-b030d6b52f8e -> ../../sdc1
lrwxrwxrwx 1 root root 10 Oct 27 11:26 4106357a-cb56-4099-aa4a-028431e91c11 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Oct 27 11:26 b78b5df4-ff30-4f43-89a9-cf6fd951f9fe -> ../../sdb1

看一下之前的journal是链接到哪个磁盘上的

[root@ceph_1 ~]# ll /var/lib/ceph/osd/ceph-0/journal
lrwxrwxrwx 1 ceph ceph 58 Oct 27 10:11 /var/lib/ceph/osd/ceph-0/journal -> /dev/disk/by-partuuid/4106357a-cb56-4099-aa4a-028431e91c11

由此可以看出之前的链接是指向sdb2分区上的,

我们要把journal分区sdb2换成sdc1,

第一步:设置策略   ceph osd set noout

[root@ceph_1 ~]# ceph osd set noout
set noout

第二步:停osd服务

systemctl stop ceph-osd@0

查看服务是否停掉:

[root@ceph_1 ~]# systemctl status ceph-osd@0
ceph-osd@0.service - Ceph object storage daemon
   Loaded: loaded (/usr/lib/systemd/system/ceph-osd@.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Fri 2017-10-27 15:14:59 CST; 7s ago
 Main PID: 1495 (code=exited, status=0/SUCCESS)

Oct 27 11:21:25 ceph_1 systemd[1]: Starting Ceph object storage daemon...
Oct 27 11:21:28 ceph_1 ceph-osd-prestart.sh[1103]: create-or-move updated item name 'osd.0' weight 0.0488 at location {host=ceph_1,root=default} to crush map
Oct 27 11:21:28 ceph_1 systemd[1]: Started Ceph object storage daemon.
Oct 27 11:21:28 ceph_1 ceph-osd[1495]: starting osd.0 at :/0 osd_data /var/lib/ceph/osd/ceph-0 /var/lib/ceph/osd/ceph-0/journal
Oct 27 11:21:29 ceph_1 ceph-osd[1495]: 2017-10-27 11:21:29.719086 7f0bc5064800 -1 osd.0 32 log_to_monitors {default=true}
Oct 27 15:14:57 ceph_1 systemd[1]: Stopping Ceph object storage daemon...
Oct 27 15:14:57 ceph_1 ceph-osd[1495]: 2017-10-27 15:14:57.666313 7f0b9d2f1700 -1 osd.0 38 *** Got signal Terminated ***
Oct 27 15:14:57 ceph_1 ceph-osd[1495]: 2017-10-27 15:14:57.727750 7f0b9d2f1700 -1 osd.0 38 shutdown
Oct 27 15:14:59 ceph_1 systemd[1]: Stopped Ceph object storage daemon.

第三步:删除之前的软连接,或者移除掉之前的软连接

[root@ceph_1 ~]# rm -rf /var/lib/ceph/osd/ceph-0/journal

第四步:创建软连接并赋予权限:

[root@ceph_1 ~]# ln -fs /dev/disk/by-partuuid/2e7e105b-2c0e-4809-9b5b-b030d6b52f8e /var/lib/ceph/osd/ceph-0/journal     ///////2e7e105b-2c0e-4809-9b5b-b030d6b52f8e为sdc2的partuuid

[root@ceph_1 ~]# chown -R ceph:ceph /var/lib/ceph/osd/ceph-0/journal

第五步:初始化journal

[root@ceph_1 ~]# ceph-osd --mkjournal -i 0
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017-10-27 15:24:56.752101 7feb86a36800 -1 journal check: ondisk fsid 00000000-0000-0000-0000-000000000000 doesn't match expected b78b5df4-ff30-4f43-89a9-cf6fd951f9fe,
 invalid (someone else's?) journalSG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
2017-10-27 15:24:56.758849 7feb86a36800 -1 created new journal /var/lib/ceph/osd/ceph-0/journal for object store /var/lib/ceph/osd/ceph-0

第六步:启动osd服务并查看状态

[root@ceph_1 ~]# systemctl start ceph-osd@0
[root@ceph_1 ~]# ceph osd tree
ID WEIGHT  TYPE NAME       UP/DOWN REWEIGHT PRIMARY-AFFINITY
-1 0.27809 root default                                     
-2 0.09270     host ceph_1                                  
 0 0.09270         osd.0        up  1.00000          1.00000
-3 0.09270     host ceph_2                                  
 1 0.09270         osd.1        up  1.00000          1.00000
-4 0.09270     host ceph_3                                  
 2 0.09270         osd.2        up  1.00000          1.00000
[root@ceph_1 ~]#

 第七步:取消策略

[root@ceph_1 ~]# ceph osd unset noout
unset noout

[root@ceph_1 ~]# ceph -w
    cluster bc9c1346-a31c-436d-ac52-f5c21cddeb91
     health HEALTH_OK
     monmap e2: 3 mons at {ceph_1=10.10.10.25:6789/0,ceph_2=10.10.10.26:6789/0,ceph_3=10.10.10.27:6789/0}
            election epoch 20, quorum 0,1,2 ceph_1,ceph_2,ceph_3
     osdmap e44: 3 osds: 3 up, 3 in
            flags sortbitwise,require_jewel_osds
      pgmap v118: 64 pgs, 1 pools, 0 bytes data, 0 objects
            105 MB used, 284 GB / 284 GB avail
                  64 active+clean

2017-10-27 15:27:29.084832 mon.0 [INF] HEALTH_OK

ceph journal更换位置的更多相关文章

  1. ceph journal操作

    查询ceph journal的地方 ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config show | grep osd_journal & ...

  2. 使用CEfSharp之旅(8)CEFSharp 使用代理 更换位置IP

    直接上代码: var settings = new CefSettings(); settings.CachePath = "cache"; settings.CefCommand ...

  3. Ceph根据Crush位置读取数据

    前言 在ceph研发群里面看到一个cepher在问关于怎么读取ceph的副本的问题,这个功能应该在2012年的时候,我们公司的研发就修改了代码去实现这个功能,只是当时的硬件条件所限,以及本身的稳定性问 ...

  4. shell 批量修改较长字符串 字符串内容之间更换位置

    cat 1.txt src='http://img2.tgbusdata.cn/v2/thumb/jpg/MkY5Myw2NTUsMzAzLDksMywxLC0xLDAscms1MCwxOTIuMTY ...

  5. ceph mon更换ip地址

    一.概述: 数据中心的集群从A地迁移到B地, 更改的信息包括: 集群内所有节点的ip 集群内所有节点的主机名 由ceph文档可知:http://docs.ceph.com/docs/hammer/ra ...

  6. rabbitmq更换数据文件和日志文件的存放位置

    原来的默认位置是/var下 需要将这些文件更换位置 1.先创建数据文件和日志文件存放位置的目录并给权限 mkdir -p /usr/local/rabbitmq/mnesia mkdir -p /us ...

  7. 处理Ceph osd的journal的uuid问题

    前言 之前有一篇文章介绍的是,在centos7的jewel下面如果自己做的分区如何处理自动挂载的问题,当时的环境对journal的地方采取的是文件的形式处理的,这样就没有了重启后journal的磁盘偏 ...

  8. 如何替换Ceph的Journal

    很多人会提出这样的问题: 能不能够将 Ceph journal 分区从一个磁盘替换到另一个磁盘? 怎样替换 Ceph 的 journal 分区? 有两种方法来修改Ceph的journal: 创建一个j ...

  9. 架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

    (接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ce ...

随机推荐

  1. [置顶] 滴滴插件化VirtualAPK框架原理解析(二)之Service 管理

    在前一篇博客滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理 中VirtualAPK是如何对Activity进行管理的,本篇博客,我们继续来学习这个框架,这次我们学习的是如何 ...

  2. 重学CPP

    LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt After install ...

  3. Wireshark小技巧

    抓头部: 时间格式设置: 自定义颜色: 快速过滤TCP/UDP: 过滤一个TCP/UDP Stream: 根据感兴趣内容生成表达式:如果右击的是Apply as Filter则生成表达式并自动执行

  4. JavaScript库基本格式写法

    /********************************************************************* * JavaScript库基本格式写法 * 说明: * 由 ...

  5. vue项目更改端口号

    vue项目的默认端口为8080,有时候处于某些原因会造成端口号的冲突,因此需要我们适当的更改其端口号来解决问题,将上图中的port更改为合适的端口号就可以,但是需要注意的是浏览器的安全限制端口号详情见 ...

  6. 一步步搭建自己的web服务器

    IIS或者其他Web服务器究竟做了哪些工作,让浏览器请求一个URL地址后显示一个漂亮的网页?要想弄清这个疑问,我想我们可以自己写一个简单的web服务器. 思路: 创建socket监听浏览器请求. 连接 ...

  7. http_server实例代码

    from socket import * def handleClient(connfd): print("-----") request = connfd.recv(4096) ...

  8. PHP---文件上传与下载

    转自http://www.cnblogs.com/lazycat-cz/p/4113037.html 安全性能---水平不够 ╮(╯_╰)╭ 文件上传--->就是将本地的文件上传到服务器上.(H ...

  9. HihoCoder - 1496:寻找最大值(高维前缀和||手动求子集)

    描述 给定N个数A1, A2, A3, ... AN,小Ho想从中找到两个数Ai和Aj(i ≠ j)使得乘积Ai × Aj × (Ai AND Aj)最大.其中AND是按位与操作. 小Ho当然知道怎么 ...

  10. java面试题08

    1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? short s1 = 1; s1 = s1 + 1;编译时错误.对于shor ...