Hantering av bussfel i Mongo Service

Jag har en Mongo-tjänst som flera värdar interagerar med. Värden som Mongo-tjänsten körs på är ganska speciell – den har 3 TB RAM-minne. Men den värden kastar också intermittenta Bus Error-svar. Om ett bussfel inträffar inom Mongo-tjänsteprocessen stoppas tjänsten och alla selleriprocesser (Python) som interagerar med resursen serveras Anslutning nekas svar.

Finns det ett sätt att tillåta Mongo-tjänsten för att på något sätt återhämta sig från ett bussfel? Kan skärning hjälpa till med detta problem? Finns det någon annan potentiell lösning på bussfelet som kan göras på programkonfigurationsnivå? Jag skulle vara tacksam för alla förslag som andra kan erbjuda på den här frågan!

Jag byggde Mongo från källan på RedHat så att jag kan använda vilken ny version som helst om det hjälper. Den för närvarande installerade versionen är 3.6.4.

Kommentarer

  • Bussfel härstammar från någon process som försöker adressera RAM som inte finns (kan inte adresseras). Jag antar att du bör undersöka HW / SW-kompatibilitet.
  • @dezso är det inte möjligt att lösa problemet på applikationsnivå? Jag kan ' inte påverka hårdvaran i det här fallet, men kan konfigurera Mongo-applikationen …
  • Nåväl, eftersom det låter MongoDB inte kan hantera (adressera) minnet ordentligt. Detta är knappast något du kan fixa genom att justera inställningarna (men jag säger detta utan att faktiskt känna till MongoDB). Jag ' föreslår att du öppnar ett problem med utvecklarna, de kanske har en bättre idé än någon annan här.
  • @duhaime, kan du uppdatera " Buss fel ?. Kommer det från mjukvarunivå eller hårdvarumärkning. Gick du igenom " smartmontools " i Linux-miljö?
  • @MdHaidarAliKhan Jag tror att detta bussfel kommer från hårdvarunivå, men jag ' vill fånga undantaget i applikationslagret …

Svar

Hanteringsbussfel i Mongo Service

Enligt MongoDB-dokumentation här Det skulle också vara bra att köra smartctl (del av smartmontools ) för att söka efter SMART-maskinvarufel:

sudo smartctl -a /dev/sdb 

Även om du kan köra Linux fsck används för att kontrollera och reparera Linux-filsystem (ext2, ext3, ext4, etc.).

Beroende på när var senast en fil systemet kontrollerades kör systemet fsck under starttiden för att kontrollera om filsystemet är i konsekvent tillstånd. Systemadministratören kan också köra det manuellt när det finns ett problem med filsystemen.

Se till att köra fsck på ett omonterade filsystem för att undvika dataskada utgåvor.

För din ytterligare referens här och här

Svar

Bussfel är oftast en indikation på en programfel, i det här fallet MongoDB själv, eller, sällan, en hårdvaruproblem. Som sådan skulle det första att försöka vara att uppgradera till den senaste stabila versionen. Om problemet kvarstår finns det inte mycket du kan göra åt det förutom att skicka en felrapport till Mongo.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *