#生成UUID用于标记osd-journal分区
[root@demo cephuser]# uuidgen
0f34d4c5-68c4-41cf-a598-eb3e4c363041
#生成UUID用于标记osd-data分区
[root@demo cephuser]# uuidgen
e31d5c4c-a183-4819-8540-d00d14c42120
#生成UUID用于新建OSD
[root@demo cephuser]# uuidgen
a6ea71d6-ed18-4523-9f6d-cc6badcfddb6
#以UUID方式创建OSD ID,注意这里返回的OSD ID=1
[root@demo cephuser]# ceph osd create a6ea71d6-ed18-4523-9f6d-cc6badcfddb6
1
#创建OSD的journal分区,注意通过打上typecode标签实现udev自动发现Journal设备
[root@demo cephuser]# /sbin/sgdisk --new=2:0:+1024M --change-name="2:1-journal" --partition-guid=2:0f34d4c5-68c4-41cf-a598-eb3e4c363041 --typecode=2:45b0969e-9b03-4f30-b4c6-b4b80ceff106 --mbrtogpt -- /dev/sdd
The operation has completed successfully.
#创建OSD的data分区,注意通过打上typecode标签实现udev自动发现data设备
[root@demo cephuser]# /sbin/sgdisk --largest-new=1 --change-name="1:1-data" --partition-guid=1:e31d5c4c-a183-4819-8540-d00d14c42120 --typecode=1:4fbd7e29-9d25-41b8-afd0-062c0ceff05d --mbrtogpt -- /dev/sdd
The operation has completed successfully.
#对OSD-data分区进行格式化,注意journal分区不需要格式化
[root@demo cephuser]# /sbin/mkfs -t xfs -f /dev/sdd1
meta-data=/dev/sdd1 isize=512 agcount=4, agsize=589759 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2359035, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
#新建OSD数据目录
[root@demo cephuser]# mkdir /var/lib/ceph/osd/ceph-1
#挂载OSD数据目录,注意自己根据情况加上其他参数
[root@demo cephuser]# mount -t xfs /dev/sdd1 /var/lib/ceph/osd/ceph-1
#建立journal设备的软连接
[root@demo cephuser]# ln -s /dev/disk/by-partuuid/0316de91-72a9-4b77-b255-16f852c40f91 /var/lib/ceph/osd/ceph-1/journal
#导出最新的monmap
[root@demo cephuser]# /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/osd/ceph-1/activate.monmap
got monmap epoch 1
#调整目录权限
[root@demo osd]# chown -R ceph:ceph /var/lib/ceph/osd/ceph-1
#初始化OSD,生成keyring等基础数据
[root@demo osd]# /usr/bin/timeout 300 ceph-osd --cluster ceph --mkfs --mkkey -i 1 --monmap /var/lib/ceph/osd/ceph-1/activate.monmap --osd-data /var/lib/ceph/osd/ceph-1 --osd-journal /var/lib/ceph/osd/ceph-1/journal --osd-uuid a6ea71d6-ed18-4523-9f6d-cc6badcfddb6 --keyrin$
/var/lib/ceph/osd/ceph-1/keyring --setuser ceph --setgroup ceph
2018-03-29 02:18:10.802406 7ff1e0eea800 -1 journal check: ondisk fsid 862a9f2e-f49a-438f-a264-cece50d8c7e5 doesn't match expected a6ea71d6-ed18-4523-9f6d-cc6badcfddb6, invalid (someone else's?) journal
2018-03-29 02:18:10.827859 7ff1e0eea800 -1 filestore(/var/lib/ceph/osd/ceph-1) could not find #-1:7b3f43c4:::osd_superblock:0# in index: (2) No such file or directory
2018-03-29 02:18:10.888068 7ff1e0eea800 -1 created object store /var/lib/ceph/osd/ceph-1 for osd.1 fsid bfbf1b8f-5892-494e-883e-71922b3628aa
2018-03-29 02:18:10.888113 7ff1e0eea800 -1 auth: error reading file: /var/lib/ceph/osd/ceph-1/keyring: can't open /var/lib/ceph/osd/ceph-1/keyring: (2) No such file or directory
2018-03-29 02:18:10.888266 7ff1e0eea800 -1 created new key in keyring /var/lib/ceph/osd/ceph-1/keyring
#添加OSD用户权限,并导入到ceph auth系统中
[root@demo osd]# ceph auth add osd.1 osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-1/keyring
added key for osd.1
#创建systemd启动状态文件,确保通过systemd可以开机自动启动
[root@demo osd]# touch /var/lib/ceph/osd/ceph-1/systemd
#创建Journal_uuid文件,确保开机自动找到正确的Journal分区,这里填journal分区的UUID
[root@demo osd]# echo "0316de91-72a9-4b77-b255-16f852c40f91" > /var/lib/ceph/osd/ceph-1/journal_uuid
#再次更新数据目录权限
[root@demo ceph-1]# chown -R ceph:ceph /var/lib/ceph/osd/ceph-1
#启动OSD服务
[root@demo osd]# systemctl start ceph-osd@1
#注册开机启动OSD服务
[root@demo osd]# systemctl enable ceph-osd@1
http://www.zphj1987.com/2016/12/26/manage-ceph-osd-journal-uuid/