Over de downtime van 13/14 juni 2009

Vorig weekend was FOK! ruim een dag down. Helaas kwamen er wat klachten over de communicatie vóór en tijdens de downtime, dus daar gaan we in het vervolg opener mee om. Om gelijk goed te beginnen, staat hieronder een samenvatting van wat er allemaal is gebeurd bij dat onderhoud, waarom het zolang duurde, en wat we nog gaan doen om FOK! nog sneller te maken.

De schijven waarop de database bewaard wordt, moesten vervangen worden omdat ze voor 98% volzaten ergens anders stond 97%, maar dit was eigenlijk 98%. De drie oude schijven waren 73 GB per stuk, de nieuwe (weer drie) 146 GB. De database moest meeverhuizen, en dat kun je op twee manieren doen: de bestandjes kopiëren of de inhoud uit de bestandjes halen en de bestandjes later opnieuw opbouwen. Wij besloten dat tweede te doen, want ondanks dat het iets meer tijd kost, bood het een aantal voordelen zoals defragmentatie (binnen de bestanden zelf) en het snel aanpassen van veel indices, waarover later meer1.
Helaas ging het kopiëren van de inhoud van de bestanden al mis na 3GB: ’segmentation fault’ wat zoiets betekent als ‘als de software geen bug bevat dan is je hardware kapot’. Andere machine geprobeerd, zelfde verhaal. Toen de software maar eens geüpdatet, en toen ging het gelukkig wel goed. Zelfs sneller dan verwacht: binnen een uurtje klaar.

Dan de disks verwisselen. Daarvoor moest wat geschroefd worden. “Oh”, zei ik, “nu moet ik geen schroefje laten vallen want dan verdwijnt hij in dat rooster”. “Is niet erg”, zei Iteejer, “dat rooster kan open”. Nog geen minuut later mocht Iteejer het rooster openmaken Nieuwe schijven erin, netjes de RAID(5)-array aanmaken, partitioneren en formatteren, wat mapjes aanmaken, rechten op de mapjes goedzetten, en de backup kon worden teruggezet. Een mooi taakje om ’s nachts te laten lopen en zelf te gaan slapen. Iteejer zou vroeg opstaan om FOK! weer aan te zwengelen.

Helaas voor mij kwam Iteejer er ’s ochtends (vroeg!) achter dat er ’s nachts toch iets was misgegaan, en stelde mij daarvan op de hoogte zodat er van uitslapen niets terechtkwam. Sommige cruciale tabellen waren nog leeg. De backup zou toch wel volledig zijn aangemaakt? Totaal zonder enig idee van de oorzaak zijn we weer naar Amsterdam vertrokken.

De oorzaak werd al snel duidelijk: het backupprogramma maakt lekker grote pakketjes aan, wat gunstig is voor de snelheid bij het terugzetten. Helaas was één zo’n pakketje net te groot geworden, waardoor het terugzetten was gestopt. Kwestie van het configuratiebestand openen, max_allowed_packet vergroten, en nog een keer proberen met de gegevens die nog niet waren teruggezet. Dat ging prima, en ’s middags kon de site weer online komen.

Het viel direct op dat de site wel erg traag was. Dat heb je normaalgesproken de eerste minuut altijd omdat hij dan zijn geheugen (16GB) nog moet vullen en tot die tijd de harddisks veel te vaak moet raadplegen, maar dit keer bleef het traag. Uit de errorlog bleek al snel de oorzaak: er was iets misgegaan met InnoDB-logfiles. En daarvoor moest de site weer offline. Alle InnoDB-tabellen (waaronder de enorme tabel met alle forumposts) moesten door een programma worden nagelopen, wat tot in de avonduren duurde en waarvan geen duidelijke voortgangsmeter beschikbaar was. Pas nadat de forumposts-tabel was nagekeken had ik een idee van hoelang het nog ging duren; minutenwerk. En inderdaad: niet lang daarna kon FOK! weer online en werkte het weer prima

1Zoals beloofd nog iets over indices. Daar valt veel snelheidswinst mee te halen als ze nog niet of niet goed ingesteld zijn. Indices zijn gesorteerde lijsten, en als je iets zoekt (zoals een naam in een telefoonboek) of iets nodig hebt dat gesorteerd is (zoals de forumposts in een topic die je op tijd wilt sorteren) dan ben je blij dat je zo’n al gesorteerde lijst kunt gebruiken. Overigens, voordat Replique (deels ten onrechte) de schuld krijgt van traagheid, de indices voor de forumposts waren prima, de winst is behaald op de andere subsites. Voor elke tabel moet je apart die indices instellen, en het is niet op voorhand duidelijk welke indices het beste zijn. Er zijn in totaal honderden tabellen, en bij elke tabel is het aantal mogelijke indices enorm. En ze allemaal instellen is geen optie: die lijsten moeten worden bijgehouden en nemen ruimte in, dus als je ze niet nodig hebt dan wil je ze ook absoluut niet hebben.
Een voorbeeld waar indices groot verschil hebben gemaakt, is de userhistory op de frontpage. Het bleek dat het opvragen hiervan bij sommige users wel een minuut duurde. Toen dit duidelijk werd, is die functie enige tijd uitgeschakeld geweest. Nu met de juiste index duurt het nog maar milliseconden. Zo groot kan het verschil dus zijn, maar vaak is het verschil kleiner. De afgelopen maand zijn er ruim 50 wijzigingen doorgevoerd, waarvan ongeveer de belangrijkste helft tijdens de downtime, een klein deel overdag en de rest ’s nachts (zie oa. hier en hier).

Maar vaak is het niet zo eenvoudig om een index toe te voegen en direct resultaat te zien. Soms moet ook de software aangepast worden of moeten de gegevens net iets anders worden opgeslagen. Dat is oa. gebeurd bij het fotoboek en de eerdergenoemde frontpageuserhistory. Het effect is gelukkig merkbaar: was FOK! tot een maand geleden nog wel eens langzaam, sindsdien ben ik dat niet meer tegengekomen. Ook wat getallen die de database zelf bijhoudt, geven aan dat hij het rustiger heeft.

Momenteel is Breuls bezig met nieuwe software voor de frontpage, FOK!sport en FOK!games. Dat is de volgende stap met verbeteringen op databasegebied. Het is te hopen dat we daarmee alle traagheid voorgoed achter ons laten.

148 Reacties

  1. Blij dat je even uitlegt wat er aan de hand was.
    Ik heb deze site erg gemist tijdens de downtime.

  2. Psst! Fok! is down.

  3. Mooie informatieve post gloeimuis! ^O^

  4. Leuk informatief stuk.. Overigens ook duidelijk geschreven, zodat het voor de meeste mensen ook nog wel begrijpelijk blijft.. En dat is geloof ik al een kunst op zich. :P

    Het rebuilden van de indexen, ik neem aan dat dat ook gewoonweg online gekund had? Of is er voor gekozen om dit vanwege performance niet te doen?

    • Als MySQL een index voor een tabel aanmaakt, dan wordt er een nieuwe tabel aangemaakt met die extra index, en vervolgens wordt alle data van de oude tabel in de nieuwe gezet. Ondertussen is die tabel niet te raadplegen, en dat duurt al gauw 5 uur bij de forumposts-tabel. Overige subsites zouden wel kunnen draaien, maar het is sneller voorbij als ze ook uitstaan.

      De InnoDB storage engine, een soort plug-in voor MySQL die daadwerkelijk de opslag van de data en het bouwen van indices voor zijn rekening neemt (bij in ieder geval die grote forumpoststabel), kan wel live indices toevoegen maar MySQL ondersteunt die feature helaas niet.

  5. Ik begrijp niet waarom Fok niet gewoon hierop draait?
    http://www.4launch.nl/shop/#p-4-productid-075484

    Mijn server draait er ook op. Qua performance wordt je server echt veel sneller vanwege de zoektijd dat dit niet meer mechanisch hoeft.

  6. FOK IS NU STUK

    MAAK HET, DAAR GAAT MIJN LEVEN BITCHESSSS

  7. Down, ik ga weer dood :(

  8. Ben ik eindelijk weer in m’n ritme na mijn kapotte computer.
    Krijgen we dit weer.

    :P

  9. MIJN VERSLAVING WAT DOE JE
    DANNY DOE EENS EVEN FIXEN!

  10. Zou Breuls nu wel een melding geven hier?

    • Breuls zit op lowlands ;) het beheer is volgens mij al een tijdje (grotendeels) niet in zijn handen aangezien hij in het buitenland zit voor werk.

  11. Aaaaargh FOK! is weer down ;( ;( ;( .

  12. Zal wel weer de loadbalancer zijn. op Sloterdijk ….. 10 min. fietsen….:)

  13. Ik mag er helaas niet in Security policies …

  14. Fok doet het weer.

  15. Maar voor hoe lang ……….

  16. nu dus.

  17. and again :O

  18. GVD

  19. Welke kinderachtige josti zit FOK te DDoS’en dan. Doe je niet in je uppie en moet je wel redelijk pro voor zijn me dunkt :P

  20. Aah FOK, wat doe je? Ga onlineeee!

  21. Ik ga slapen, was ik toch al van plan , maar nu fok het niet doet ga ik zeker :P . Truste :W .

  22. Afzien, dit!….
    En weer net aan het begin van het weekend natuurlijk… :(

    (…lekker irritant ook voor degenen die het moeten fixen…)

  23. Fok! doet het weer!

  24. en weer down :(

  25. Het hapert de hele middag al en nu niets meer …

  26. Wie heeft de stekker eruit getrokken? :’(

  27. Remote management zou toch wel handig zijn in dit geval .. Eigenlijk in alle gevallen :)

  28. Die hapering van vanmiddag was al weggewerkt door de haperende webserver uit de pool te halen. Alleen nu is er een ddos, en daar kun je niks aandoen behalve afwachten.

  29. Misschien de acl’s aanpassen op de routers…?

  30. Boehoe :’(

  31. Gaat wel lekker de laatste paar dagen, 3 of 4 DDOS aanvallen. En vanmiddag ook al een succesvolle hack poging :p

    Hebben ze ruzie gemaakt met wat verkeerde mensen oid?

  32. Wat is dit voor shit!

  33. Zo, nu dat tuig van The Pirate Bay nog.

  34. waarom draagt die keeper van Chelsea eigenlijk een helmpje?

  35. Waarom is er weer geen bericht over wat er aan de hand is.

    Waar is deze site anders voor??

  36. Ja, en nou?

  37. WOAR IST FOK!

  38. ddos weer, als er niks anders gemeld wordt, is het nog steeds een ddos :)

  39. zou het Maddoxx zijn :O

  40. Jammer dat er hier niets meer verteld wordt tijdens downtimes ;( .

  41. lolz0r

    Eindelijk is Fok! down.. :)

  42. morgenochtend gaat Iteejer naar Redbus om de loadbalancer leven in te blazen.

  43. Wat hoor ik nu? Zijn de passwords gejat?

  44. En WEER down :’)

  45. nog een ddos :(

  46. Ja hoi, wat is er nu weer mis? :{
    Stomme pubers met computers. :(

  47. OOOOH NOES :(

  48. NOOOOO

    Trouwens GlowMouse, is ‘t niet handig dr gewoon een nieuwe berichtje op te pleuren? Hoeft niet in details te treden als dat nog ‘geheim’ is aangezien die aanvallen nog doorgaan, maar gewoon íets van dat FOK t ff niet doet…

  49. GVD DANNY KOOP EENS WAT NIEUWE SERVERS

  50. Noo niet weer…

  51. f*ckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

  52. Wat voor een zeiknerd doet dat nou de hele tijd. Bah. Zonnetje schijnt, ik wil fokken!

  53. Is het weer zo ver. :’)

  54. FFFFFFFUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!

  55. :’( Houdt het dan nooit op?!

  56. We worden hier gepwnt door Emimich denk ik.

  57. Is dit gezeik nu nog niet afgelopen?? Natuurlijk weer net op een dag dat je geen zak te doen hebt…

  58. Down, up, down, up, down.

    Heeft dit nog steeds te maken met die hack?

  59. Arme Iteejer, heul z’n weekend naar de klote door zo’n eikel.:( Sterkte.

  60. Heeft er iemand nog een F5 knop over?

  61. En dat op zondag.. :/

  62. Waar is mijn Fok!?

  63. Weer weg?

  64. Jep…

  65. Fok weer down hier en nu de irc ook?

  66. Alweer onbereikbaar

  67. De irc ook ja, merkte ik

  68. WTF hoe komt die IRC zijn? Word die nu ook ge’DDoSed? Die word toch door Tweakers gehost dacht ik?

  69. tweakers doet het iig gewoon..

    Dit is toch niet leuk meer…

  70. Moet ook wel insider / meelezer zijn, anders wistie niet van die IRC…

    Echt niet grappig meer. …

  71. Hij staat bij tweakers maar de link die ik gebruik is http://irc.fok.nk/fok dus fok domein?

  72. nu heb ik niets te doen…

  73. Dit gaat niet lekker zo. En ik had nog wel goede hoop dat FOK! nu wel in de lucht zou blijven :{

  74. Hier staan dan wellicht wat updates.
    http://twitter.com/iteejer

    Weet niet precies hoe het met die IRC zit, volgens mij linkt irc.fok.nl alleen maar door en hosten ze hem niet zelf?

  75. Blijkbaar staat ie ergens die ook de ddossen is?

  76. Hmm I guess, maar t leek mij dat je dan het hele domein (dus bv. heel Tweakers.net) verrot trekt, dat je niet alleen subdomeintje kan DDoSsen, maar dat kan óf wel (misschien word het geheel los van de rest van Tweakers gehost) of het staat idd gewoon niet bij Tweakers…

    • Loveless:
      Fok wordt ergens anders gehost dan Tweakers. Een subdomein ddossen kan wel, maar dan noem je het anders. Je ddos’t een IP adres, en als dat slechts 1 subdomein is dan kan het .

      irc.fok.nl wijst door naar irc.tweakers.net, het enige wat Fok en Tweakers nog delen. Aangezien er een router of iets aangevallen wordt van *.fok.nl en niet de DNS server is die gewoon bereikbaar.

  77. IRC doet het weer hier

  78. euh wat is een ddos dinges?

  79. Distributed Denial of Service (DDoS) attack is een Denial-of-Service aanval op een computer of netwerk waarbij met een aantal computers, vaak vanaf vele plaatsen op de wereld bestuurd vanaf een centraal punt, zoveel verbindingsverzoeken naar de server van een of meer sites verstuurd worden, dat de service ervan tijdelijk niet beschikbaar is, of de server zelfs crasht.

  80. Aha
    Het is me iets duidelijk (hoewel ik voor het volledige verhaal een boel meer uitleg nodig heb maar oke :P ;) )
    Maar waarom doet iemand dat? bij fok bedoel ik?
    Het irriteerd me erg

  81. irriteert met een t trouwens

  82. Gaat lekker zeg }:|

  83. ONGELOFELIJK DAT DIT KAN IN NEDERLAND!

  84. Tweakers en Fok Down?
    Dan is er iets goed is in dat server park.

    Wie maakt er een mooi fok! kloon forum? <3

  85. NU KAN IK NIET KLAGEN OVER RED MIJN VAKANTIE
    ONGELOFELIJK DAT DIT KAN IN NEDERLAND!!

  86. Tweakers en FOK! zitten in aparte serverparken.

  87. Toeval dat Tweakers er ook uit ligt?

  88. Tweakers ook down? Toeval?

  89. Tweakers zegt “DDoS voor zover we nu weten”

  90. Al die Tweakerts heel hoog van de toren blazen dat het de eigen schuld was van FOK! en nu zijn ze zelf ook plat. :’)

  91. Heeft iemand Geenstijl al op de hoogte gebracht!!!!!!

  92. ja ik ben vast heel suf maar wat is tweakers?
    zoiets als twitter?

  93. Tweakers is zoiets als FOK! maar dan voor nerds.

  94. Ik durf er wel een wedje op te leggen dat die GrayHat er meer van weet. Heel toevallig dat er gelijktijdig een hack en een DDOS-aanval plaatsvinden. Diezelfde gasten zullen Tweakers ook wel onder vuur hebben genomen. Hopelijk worden ze keihard gepakt.

  95. pff, studio ajax dan maar zo volgen.

  96. @Gers Nee ik ben eerst!

  97. http://twitter.com/tweakers

    Tweakers heeft ook last van een DDOS aanval :-)

  98. Echter, Tweakers is alweer up.

  99. Net 20 sec.. maar voor hoelang :-)

    • Volgens hun Twitter houdt het al een tijdje stand. Het feit dat zij wel überhaupt packets kunnen blokkeren terwijl Fok al een dag op de knieën ligt, doet mij vermoeden dat dit wel zal blijven werken of anders binnen afzienbare tijd ook gefixt is.

  100. Mehhhh…. ik verveel me… kan ik niet eens mijn tijd doden met fok!en…

  101. Zit je me nu te ‘fokken’?

  102. Nu begint zo langzamerhand toch de broek ietwat af te zakken. Ze geven geen reet aan updates hier. Ik betaal geen abonnement om steeds ‘Verbinding onderbroken’ te zien, daar moet héél rap aan gewerkt worden!

  103. Kunnen ze hier geen multiplayer spelletje op installeren? Bingo of zo :-P

  104. En mijn comment staat godverdomme nog op 21.48 ook, stelletje incompetente lutsers.

  105. Ik wil mijn geld terug kale!

  106. Nou nou… Incompetente? Verzorg jij de pampers, dat je het zo goed weet? ;-)

    • Nee sorry, ook hier moet ik weer eens wachten, maar nu op ’shots.snap.com’. Kom je al bijna 10 jaar bij FOK! en dan moet je dit nog meemaken op je oude dag. Wat moet tong80 daar wel niet van denken dan!

  107. Lol.. Fok ligt een keertje plat, en gelijk ligt het leven van vele nerds op z’n kop :-D

  108. Vaag… die glowmouse is wel actief op Tweakers, maar hier kan geen berichtje worden gepost over de hack + DDOS?

    • Psies! dat lijkt toch helemaal nergens op. Iteeier wist het ook allemaal uit te leggen en er zou de volgende dag een update komen die er nooit kwam. Vosss vroeg er nog om nadat de tijd ruimschoots overschreden was, maar nee hoor, geen update.

      Maar goed, het zou eerst aan een aanval liggen en geblaat over loadbalancer etc. Lees dit dan:

      Load Balancing

      Load balancers zijn apparaten die het verkeer naar en van uw webpagina’s over een aantal servers verdeelt. Het voordeel is dat wanneer een server uitvalt uw klanten daar niets van zullen merken omdat de andere servers de taken over nemen. Interoute biedt verschillende load balacing apparaten aan waaronder apparaten die het verkeer gelijkmatig over de servers verdeelt tot zelfs apparaten voor complexe configuraties waarbij rekening wordt gehouden met de prestaties van iedere server. Wanneer uw behoefte groter is dan de beschikbaarheid op uw huidige servers dan is het opvoeren van de prestaties even makkelijk als het extra toevoegen van apparatuur. Load balancing kan zelfs opgezet worden over verschillende data centra.
      Clustering

      “Voor toepassingen die niet gebruik kunnen maken van load balancing, bijvoorbeeld database toepassingen, hebben wij een andere oplossing om de beschikbaarheid te verhogen; clsutering. Een cluster van servers delen de opslagmodules waardoor zij toegang hebben tot de zelfde informatie. Net als bij load balancing neemt een andere server de taken over van een server die uitvalt.”

      Let met name op het gedeelte “Voor toepassingen die niet gebruik kunnen maken van load balancing, bijvoorbeeld database toepassingen”. Die drol3 die via MySql injections in de database kwam heeft daar dan toch ook mee te maken, of zijn we nou allemaal achterlijk?

  109. Wat nu speelt lijkt sterk op een gebeurtenis wat zich in 2002 afspeelde en wat toen ook redelijk breeduit werd belicht in de (internet-) media.

    http://www.zdnet.nl/news/23306/ddos-aanval-treft-tweakers-net-en-fokzine/

    Er kan dus een nieuw artikel worden geschreven, helaas. DDoS-attacks blijft iets waar ik geen goed woord voor over heb. Als het doel is om een website plat te krijgen dan kan het effectief zijn, dat blijkt. Helaas tref je ook gebruikers die ‘gewoon’ berichten willen plaatsen. Ik zie de “lol” van dergelijke attacks dan ook niet. Het is lame/triest en je hoeft er niet eens een computerwhizzkid voor te zijn.

  110. Geenstijl is er ook al niet meer. :(

  111. Nog even een kort berichtje, maar ook Geenstijl lijkt het slachtoffer te zijn van een DDoS-attack. Fok, GeenStijl en Tweakers.net. Al is Tweakers.net inmiddels weer up-and-running.

  112. Die hacker heeft vast vakantie :’)

  113. Dus Iteejer is al een weekend lang voor lul bezig. Of ie niets anders te doen heeft!

  114. Hebben we de Chinezen pissig gemaakt ofzo?

  115. geenstijl.nl ook down :O

  116. Zelfs hier staat nog “Wachten op i.fok.nl…” Nou, suck6 allemaal, ik gaat plat.

  117. ROFL! nu alles plat ligt kunnen we zo langzamerhand zelf wel iets opzetten: http://pauperporno.blogspot.com/

  118. O ja, ik ging slapen…

  119. Twitter Iteejer: [b]de ddos is afgelopen bij ons ook, we zijn nu nog bezig met andere loadbalancers er in te hangen, ik ga oa daarvoor naar a’dam nu[/b]

    Is alleen bijna 100 km rijden, kan nog wel ff duren dus :P .

  120. Hoezo andere loadbalancers? Zijn de huidige defect of worden ze vervangen vanwege de attacks? Laatste lijkt mij niet heel logisch. Of wel?

    Je dus kunnen spreken van 3 verstoringen dit weekend. 1) probleem met de loadbalancers 2) geslaagde hackpoging 3) DDoS-attack. Bijzonder vervelende samenloop van omstandigheden, imo.

  121. Die DDOS gastjes lopen nog wel tegen de lamp. Zou me niks verbazen als het dezelfde sukkels zijn als de vorige keer. Soort van wraak.

Geen reacties meer mogelijk.