Ceph 페일오버

6139 단어 downosdceph서버
ceph 저장 집단은 두 서버 위에 세워진 것이다. 두 서버는 각각 4개의 OSD 노드가 있다. 출근할 때 두 서버의 한 서버에서 4개의 OSD 노드가 모두 끊어지고 OSD 노드를 다시 시작한 후에 정상적으로 회복된 것을 발견했다.OSD 노드 로그를 확인한 결과 전체 장애 프로세스는 다음과 같습니다.
1. 하나의 OSD 노드에서 다른 서버 노드에 있는 모든 OSD 하트비트 정보를 받을 수 없습니다. 로그 기록은 다음과 같습니다.
2016-03-21 17:43:42.426051 7f716e0a7700 -1 osd.0 70 heartbeat_check: no reply from osd.5 since back 2016-03-21 17:43:22.233321 front 2016-03-21 17:43:41.335367 (cutoff 2016-03-21 17:43:22.426050)
2016-03-21 17:43:42.426061 7f716e0a7700 -1 osd.0 70 heartbeat_check: no reply from osd.6 since back 2016-03-21 17:43:22.233321 front 2016-03-21 17:43:41.335367 (cutoff 2016-03-21 17:43:22.426050)
2016-03-21 17:43:42.426072 7f716e0a7700 -1 osd.0 70 heartbeat_check: no reply from osd.7 since back 2016-03-21 17:43:22.233321 front 2016-03-21 17:43:41.335367 (cutoff 2016-03-21 17:43:22.426050)
2016-03-21 17:43:42.426075 7f716e0a7700 -1 osd.0 70 heartbeat_check: no reply from osd.8 since back 2016-03-21 17:43:22.233321 front 2016-03-21 17:43:41.335367 (cutoff 2016-03-21 17:43:22.426050)

2. 하나의 OSD 노드는 같은 서버에 있는 다른 노드의 OSD 심장박동 정보를 받지 못한다.
2016-03-21 17:43:53.427874 7f716e0a7700 -1 osd.0 74 heartbeat_check: no reply from osd.1 since back 2016-03-21 17:43:26.134353 front 2016-03-21 17:43:51.036748 (cutoff 2016-03-21 17:43:33.427873)
2016-03-21 17:43:53.427911 7f716e0a7700 -1 osd.0 74 heartbeat_check: no reply from osd.3 since back 2016-03-21 17:43:26.134353 front 2016-03-21 17:43:51.036748 (cutoff 2016-03-21 17:43:33.427873)
2016-03-21 17:44:07.937952 7f71410e4700 -1 osd.0 75 heartbeat_check: no reply from osd.2 ever on either front or back, first ping sent 2016-03-21 17:43:47.636418 (cutoff 2016-03-21 17:43:47.937950)

3. 이 OSD 노드는map에down상태로 표시되고 로그 알림은:map wronglymark me down입니다.
2016-03-21 18:52:58.365106 7f715610e700  0 log_channel(cluster) log [WRN] : map e83 wrongly marked me down

4. OSD 노드는 네트워크 카드 6800-7300의 임의의 포트에 바인딩할 수 없습니다.
2016-03-21 18:52:58.366288 7f715610e700 -1 accepter.accepter.bind unable to bind to 192.168.10.210:7300 on any port in range 6800-7300: (99) Cannot assign requested address
2016-03-21 18:52:58.366318 7f715610e700 -1 accepter.accepter.bind was unable to bind. Trying again in 5 seconds

5. OSD 노드는 down 상태로 들어가서 파일을 저장하기 시작하고 down 상태로 들어간다.
2016-03-21 18:53:18.383806 7f715610e700  0 osd.0 83 prepare_to_stop starting shutdown
2016-03-21 18:53:18.383817 7f715610e700 -1 osd.0 83 shutdown
2016-03-21 18:53:18.383996 7f715610e700 20 osd.0 83  kicking pg 4.76

그리고 다른 mds 로그를 보십시오.mon 로그는 원인을 찾지 못했습니다. 그래서 시스템 로그/var/log/messages를 보십시오. 고장난 시간의 로그를 보십시오. 그 원인을 찾았습니다. 로그는 다음과 같습니다.
Mar 21 17:43:23 cephadmin1 kernel: e1000: enp5s0 NIC Link is Down
Mar 21 17:43:23 cephadmin1 NetworkManager[1021]:   (enp5s0): link disconnected (deferring action for 4 seconds)
Mar 21 17:43:28 cephadmin1 NetworkManager[1021]:   (enp5s0): link disconnected (calling deferred action)
Mar 21 17:43:28 cephadmin1 NetworkManager[1021]:   (enp5s0): device state change: activated -> unavailable (reason 'carrier-changed') [100 20 40]
Mar 21 17:43:28 cephadmin1 NetworkManager[1021]:   (enp5s0): canceled DHCP transaction, DHCP client pid 32494
Mar 21 17:43:28 cephadmin1 NetworkManager[1021]:   (enp5s0): DHCPv6 state changed bound -> done
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Withdrawing address record for 192.168.10.210 on enp5s0.
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Leaving mDNS multicast group on interface enp5s0.IPv4 with address 192.168.10.210.
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Interface enp5s0.IPv4 no longer relevant for mDNS.
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Withdrawing address record for 2001:470:4b:34f:207:e9ff:fe08:51 on enp5s0.
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Withdrawing address record for fd26:b3dd:d727:0:207:e9ff:fe08:51 on enp5s0.
Mar 21 17:43:28 cephadmin1 avahi-daemon[973]: Withdrawing address record for fd26:b3dd:d727::863 on enp5s0.
Mar 21 17:43:28 cephadmin1 NetworkManager[1021]:   Policy set 'enp3s0' (enp3s0) as default for IPv6 routing and DNS.
Mar 21 17:43:28 cephadmin1 dbus-daemon: dbus[987]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Mar 21 17:43:28 cephadmin1 dbus[987]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Mar 21 17:43:28 cephadmin1 systemd: Starting Network Manager Script Dispatcher Service...
Mar 21 17:43:28 cephadmin1 dbus[987]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Mar 21 17:43:28 cephadmin1 systemd: Started Network Manager Script Dispatcher Service.
Mar 21 17:43:28 cephadmin1 dbus-daemon: dbus[987]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Mar 21 17:43:28 cephadmin1 nm-dispatcher: Dispatching action 'down' for enp5s0
Mar 21 17:43:41 cephadmin1 ceph-osd: 2016-03-21 17:43:41.426082 7efd2c5b4700 -1 osd.3 70 heartbeat_check: no reply from osd.5 since back 2016-03-21 17:43:21.362339 front 2016-03-21 17:43:41.064144 (cutoff 2016-03-21 17:43:21.426080)
Mar 21 17:43:41 cephadmin1 ceph-osd: 2016-03-21 17:43:41.426157 7efd2c5b4700 -1 osd.3 70 heartbeat_check: no reply from osd.6 since back 2016-03-21 17:43:21.362339 front 2016-03-21 17:43:41.064144 (cutoff 2016-03-21 17:43:21.426080)

로그에서 알 수 있듯이 이 시간에ceph집단이 데이터를 전송하는 데 사용되는 네트워크 카드down이 떨어졌고 네트워크 관리자가 네트워크 카드의 일부 정보를 처리하고 네트워크 카드를 다시 시작하려고 시도했지만 다시 시작하지 못했습니다.갑자기 예전에 한 글에서 본 적이 있는데, CentOS 시스템에서 자체로 가지고 있는 네트워크 프로그램이 그놈 데스크톱 테이프의 NetworManger와 충돌하여 네트워크 카드에 문제가 생길 수 있다는 것이다.여기도 같은 이유일 거예요.그래서 Network Manger를 끄고 자체 시작 프로그램을 끄십시오.
systemctl stop NetworkManger
systemctl disable NetworkManager

이틀이 지나고 매일 관찰한 결과 단일 서버의 모든 OSD 노드가 다운되는 고장이 발생한 적이 없다는 것은 고장 원인이 확실히 여기에 있다는 것을 설명한다.

좋은 웹페이지 즐겨찾기