не удалось запустить демон ceph-mon

Я собрал исходный код ceph и установил его с помощью следующих команд:

apt-get install a series of dependency packages
./autogen.sh
./configure
make
make install

Все эти процессы прошли хорошо. Когда я печатаю:

which ceph

Консоль показывает:

/usr/local/bin/ceph

Итак, я думаю, что успешно установил ceph. Но когда я пытаюсь запустить демон ceph-mon, консоль сообщает мне:

start: unknown job: ceph-mon

И я проверил свой список услуг, набрав:

initctl list | grep ceph

И вывод пустой.

Кто-нибудь мог сказать мне, почему?


person Yoyoslx    schedule 23.10.2014    source источник
comment
Вы следовали приведенным здесь инструкциям по установке ceph.com/docs/master?   -  person Noah Watkins    schedule 23.10.2014


Ответы (3)


Можете ли вы запустить cepn-mon -i <your-mon-id>, я решаю это следующим образом:

(У меня такая же ситуация, как и у вас, я основываюсь на firefly, и я компилирую и устанавливаю из кода курса.)

#!/bin/bash                                                                     
fsid=`uuidgen`                                                                  
host="your-mon-host"                                                                  
ipaddr="your-mon-ip-addr"                                                              

echo "[global]" > ./ceph.sample.conf                                            
echo "fsid = ${fsid}" >> ./ceph.sample.conf                                     
echo "mon initial members=${host}" >> ./ceph.sample.conf                        
echo "mon host = ${ipaddr}" >> ./ceph.sample.conf                               
cat ./popular_settings.txt >> ./ceph.sample.conf                                
cp ./ceph.sample.conf /etc/ceph/ceph.conf                                       

rm -rf /var/lib/ceph/mon/ceph-${host}/done                                      

sudo ceph-authtool --create-keyring /var/lib/ceph/tmp/ceph-${host}.mon.keyring --gen-key -n mon. --cap mon 'allow *'
sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'a    llow *' --cap mds 'allow'

sudo chmod +r /var/lib/ceph/tmp/ceph-${host}.mon.keyring                        
sudo chmod +r /etc/ceph/ceph.client.admin.keyring                               

sudo ceph-authtool /var/lib/ceph/tmp/ceph-${host}.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring


monmaptool --create --add ${host} ${ipaddr} --fsid ${fsid} /tmp/monmap --clobber


#rm -rf /var/lib/ceph/mon/ceph-${host}                                          
sudo ceph-mon --mkfs -i ${host} --monmap /tmp/monmap --keyring /var/lib/ceph/tmp/ceph-${host}.mon.keyring 

touch /var/lib/ceph/mon/ceph-${host}/done                                       
touch /var/lib/ceph/mon/ceph-${host}/upstart  
ps aux | grep "ceph-mon"    #there should be no ceph-mon                                  
ceph-mon -i ${host} 
ps aux | grep "ceph-mon"    #there we've got a ceph-mon running                           

ceph osd tree
person David McRay    schedule 06.06.2016
comment
В моем случае ручное развертывание с помощью make создает и запускает mon, но все же дерево osd ceph не возвращает никаких выходных данных! В конце этого шага я ожидаю, что на жестких дисках будет идентификатор ceph (вывод lsblk покажет это), но у меня нет! Любые идеи? - person Fatemeh khodaparast; 06.10.2020

Можно попробовать пощупать файл sysvinit. Например, предположим, что имя хоста узла монитора - node1, а имя кластера - по умолчанию, используйте эту команду touch /var/lib/ceph/mon/ceph-node1/sysvinit перед запуском процесса монитора. Это решит мою проблему при получении неизвестной ошибки.

person user1802604    schedule 13.02.2015

Целевой объект Ceph make install не устанавливает сценарий выскочки. Лучше всего устанавливать пакеты с помощью apt-get install ceph. Если вам нужно запустить из измененных источников, вы можете использовать ceph-mon -i a, предполагая, что данные монитора уже существуют.

person Loic Dachary    schedule 16.02.2015