首页 > 代码库 > 利用独立分区存储ceph的日志

利用独立分区存储ceph的日志

一开始我采用的方法如下:

### Stop osd
$ service ceph stop osd.0

### Flush Journal
$ ceph-osd --flush-journal -i 0

### Create symlink to partition
$ rm /var/lib/ceph/osd/ceph-0/journal
$ ln -s /dev/sda2 /var/lib/ceph/osd/ceph-0/journal

### Create new journal
$ ceph-osd --mkjournal -i 0
$ service ceph start osd.0
然后将/dev/sda2写到/etc/fstab中:

/dev/sda2  /journal   xfs rw,noexec,nodev,noatime,nodiratime,barrier=0   0 0
不重启机器是没事的,重启后报错,查看/var/log/ceph/ceph-osd.0.log:

ERROR: error creating fresh journal /var/lib/ceph/osd/ceph-0/journal for object store 
/var/lib/ceph/osd/ceph-0: (2) No such file or directory
意思是找不到journal了。df -h后发现/dev/sda2没有被挂载。

经过测试才发现/dev/sda2在被执行ceph-osd --mkjournal -i 0后已经变成一个非块设备了,此时执行blkid是看不到/dev/sda2的。所以这种方法不行。

所以只能利用第二种方法,在ceph.conf中加入:

[osd]
osd journal = /dev/sda2
osd journal size = 0
执行执行ceph-osd --mkjournal -i 0后一切正常。

两个多月断断续续的学习和实验了ceph,只能说刚刚入门。后面会投入更多经历研究ceph和openstack,长路漫漫。