一开始我采用的方法如下:
### 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,长路漫漫。
利用独立分区存储ceph的日志
时间: 2024-10-09 16:05:17