01 апреля 2015

Заметки по поиску неисправностей в сервисах Swift


Сервисы Swift пишут сообщения об ошибках в системный журнал /var/log/messages. Как правило там могут быть trace-сообщения Python. 


Проверьте что все сервисы запущенны при помощи команды lsof -i и что они работают на правильных портах. Если вы не нашли в списке одну из служб, вы можете попытаться запустить ее вручную, указав исполнимому файлу ваш конфигурационный файл. Например: 

[root@sw3 ~]# swift-object-server
/etc/swift/object-server.conf 
Traceback (most recent call last): 
  File "/usr/bin/swift-object-server",
line 27, in  
 ...
LookupError: No loader given in section
'filter:recon' 


Сервис не запускается и из вывода видно, что в данном случае имеется ошибка конфигурационного файла в секции recon.
В случае возникновения ошибок типа 503 Service Unavailable в первую очередь проверьте конфигурационные ошибки на опечатки, затем корректность имени и пароля в Keystone, а также корректность заведения URI точик входа в API сервиса.
В принципе, недоступность любого сервиса (Keystone, RabbitMQ или бэкенда Ceph или GlusterFS) может вызвать ошибку 503 Service Unavailable. Проверьте соответствующие сервисы.
Ошибки в создании кольца нельзя исправить выполнением еще одной команды swift-ring-builder add. Предварительно необходимо отдать команду swift-ring-builder remove.