[technique] Incidents : perte de config reseau openstack et os-prober casse ceph

Laurent GUERBY laurent at guerby.net
Mer 22 Oct 09:15:45 CEST 2014


Bonjour,

Deux soucis en 24 heures sur le cluster openstack : 

1/ Hiers nous nous sommes aperçu lors du hard reboot d'une
VM qu'elle n'avait plus son interface eth0.

Cela semble etre ce bug la qui est difficile a reproduire :
https://bugs.launchpad.net/nova/+bug/1323658

Le workaround est de detruire et recreer/rattacher eth0 manuellement :

# neutron port-delete c7a961c9-bd7e-4922-8f93-807c1b995607
# neutron port-create 07487477-8cbd-4d2a-b549-713a964ddb51 \
--tenant_id  ed980105f9d047e2bee738b3f261f126 \
--name $VMNAME-eth0 --fixed-ips type=dict list=true \
ip_address=$IPV4 ip_address=$IPV6 --allowed-address-pairs type=dict \ 
list=true ip_address=$IPV6SUBNET
# nova interface-attach \
 --port-id cdfb0e9f-d0cd-4ca7-9954-0fce25680905  
 7b5ce775-a24e-4931-a89e-2ca07534ea46

Ce bug n'affecte pas les machines en fonctionnement et
n'est visible que lors d'un hard reboot (down du process
KVM et relance d'un nouveau process par nova). 

27 VM sur 84 sont actuellement affectées par ce gremlins
qui efface la configuration reseau physique des bases
openstack.

2/ Ce matin le cluster ceph avait perdu 5 OSD tous
morts entre 7h41 et 7h42 :

root at g2:/var/log/ceph# grep -E ^2014-10-22 ceph-osd.7.log
2014-10-22 07:41:36.783358 7f4d33d55700 -1 journal FileJournal::write_bl : write_fd failed: (1) Operation not permitted
2014-10-22 07:41:36.783617 7f4d33d55700 -1 journal FileJournal::do_write: write_bl(pos=793935872) failed
2014-10-22 07:41:36.800201 7f4d33d55700 -1 os/FileJournal.cc: In function 'void FileJournal::do_write(ceph::bufferlist&)' thread 7f4d33d55700 time 2014-10-22 07:41:36.783629
2014-10-22 07:41:36.847389 7f4d33d55700 -1 *** Caught signal (Aborted) **

root at n7:/var/log/ceph# grep -E ^2014-10-22 ceph-osd.10.log|cut -c-120
2014-10-22 07:42:18.169142 7f9b977df700 -1 journal FileJournal::write_bl : write_fd failed: (1) Operation not permitted

root at n7:/var/log/ceph# grep -E ^2014-10-22 ceph-osd.9.log|cut -c-120
2014-10-22 07:42:17.509579 7f6efa27b700 -1 osd.9 15390 heartbeat_check: no reply from osd.13 since back 2014-10-22 07:41
2014-10-22 07:42:17.509593 7f6efa27b700 -1 osd.9 15390 heartbeat_check: no reply from osd.14 since back 2014-10-22 07:41
2014-10-22 07:42:17.945433 7f6ef6a74700 -1 journal FileJournal::do_write: pwrite(fd=23, hbp.length=4096) failed :(1) Ope
2014-10-22 07:42:17.960678 7f6ef6a74700 -1 os/FileJournal.cc: In function 'void FileJournal::do_write(ceph::bufferlist&)

root at stri:/var/log/ceph# grep -E ^2014-10-22 ceph-osd.13.log
2014-10-22 00:42:01.140574 7fa929b8a700 -1 journal FileJournal::write_bl : write_fd failed: (1) Operation not permitted
2014-10-22 00:42:01.141439 7fa929b8a700 -1 journal FileJournal::do_write: write_bl(pos=3496448000) failed

root at stri:/var/log/ceph# grep -E ^2014-10-22 ceph-osd.14.log
2014-10-22 00:41:54.828719 7f438eb45700 -1 osd.14 15388 heartbeat_check: no reply from osd.7 since back 2014-10-22 00:41:34.499777 front 2014-10-22 00:41:34.499777 (cutoff 2014-10-22 00:41:34.828717)
2014-10-22 00:41:55.241586 7f437217f700  0 -- 192.168.99.246:6811/17136 >> 192.168.99.253:6806/25800 pipe(0x7f439f5fd900 sd=182 :6811 s=0 pgs=0 cs=0 l=0 c=0x7f43a71f1180).accept connect_seq 34 vs existing 33 state standby
2014-10-22 00:42:01.235014 7f438b33e700 -1 journal FileJournal::write_bl : write_fd failed: (1) Operation not permitted
2014-10-22 00:42:01.235032 7f438b33e700 -1 journal FileJournal::do_write: write_bl(pos=4626878464) failed

La cause semble etre un upgrade automatique de ce matin
via puppet :
libsigc++-2.0-0c2a,libssl1.0.0,man-db,libgtk2.0-common,libgtk2.0-bin,
libgtk2.0-0,openssh-sftp-server,openssh-server,
openssh-client,grub-pc,grub-pc-bin,grub2-common,grub-common,openssl,python-cryptography,python-pygraphviz

os-prober qui fait partie de grub c'est lancé :

Oct 22 07:41:36 g2 os-prober: debug:
running /usr/lib/os-probes/mounted/05efi on mounted /dev/sda1

Il a du probablement faire une operation comme un lock sur la partition
journal et causer la mort de certains OSD suivant le timing.

Nous avons simplement relancé les 5 OSD :
/etc/init.d/ceph start osd.10
...

Et desactivé ce package et ses updates.

Pas mals de VM ont eu les I/O bloquées 1 heure environ ce qui a
du fortement perturber les services, un "reboot" (soft donc) a
l'interieur de votre VM devrait restaurer la situation.

Le bug report : http://tracker.ceph.com/issues/9860

Sincèrement,

Laurent




Plus d'informations sur la liste de diffusion technique