Hoofdcategorieën
Device Settings

Nieuwe fileserver in gebruik genomen

Door Arjen van der Meijden, maandag 22 februari 2010 14:00, views: 16.263

"Het zal de vaste Tweakers.net-bezoeker niet ontgaan zijn dat t.net als gevolg van een instabiele fileserver zo af en toe niet bereikbaar is."

Zo begon op 16 juni 2003 een .plan over de zoveelste nieuwe fileserver. En die inleiding konden we eigenlijk voor bijna elke mededeling over fileservers wel gebruiken. Sterker nog, we hebben tot nu toe nog maar één fileserver vervangen omdat de machine daadwerkelijk afgeschreven was.

We begonnen met de eerste Atlas, een machine van Gigabyte die niet stabiel bleek. Deze ging na een tijdje terug naar de fabrikant en uit Femme's reactie blijkt wel dat de toen tijdelijke vervanger ook niet zo denderend werkte. Van True mochten we toen gebruik maken van hun netapp. Maar ook dat ging niet helemaal van een leien dakje.

Om die tijdelijke oplossing te vervangen werd ons door een sponsor een Compaq ML530 geleverd. Maar ook deze machine bleek weer last te hebben van diverse problemen; bepaalde scsi-bays konden niet gebruikt worden en van de ide-disks kon de middelste niet gebruikt worden in verband met de warmte. Uiteindelijk is ook deze machine geregeld teruggekeerd in de statusmeldingen.

Gigabyte GS-SR202Compaq ML530
Gigabyte GS-SR202 en Compaq ML530

Nadat de Compaq door de nodige aanpassingen redelijk stabiel liep werd deze uiteindelijk te langzaam om zowel files als searches te verwerken en hebben we het model opgesplitst in twee machines. Achteraf gezien was dit onze enige stabiele Atlas tot nu toe. De Melrow-Atlas was op een gegeven moment afgeschreven en die hebben we toen vervangen door een systeem met wat meer schijfruimte.

We kregen een leuke deal voor een IBM x3650. En je raad het al, die was niet stabiel. De stabiele Melrow-Atlas hing gelukkig ook nog in het rack en die is toen maar weer ingezet. De IBM was op een gegeven moment dusdanig stuk dat we hem als een verloren zaak beschouwden, maar na enkele dagen werkzaamheden door de supportdienst slaagden we er in het geval te reanimeren. Inmiddels draait de IBM alweer een tijdje in ons rack als virtualisatieplatform.

Omdat nfs onaangenaam gedrag vertoonde op momenten dat de server eruit lag (en dat gebeurde vrij vaak) wilden we liever wat anders. Het probleem met nfs is namelijk dat het 'heel lang' duurt (standaard meer dan een seconde) voor een call een timeout krijgt. En dat is voor web-taken veel te lang, binnen no-time zitten alle beschikbare Apache-processen te wachten tot het bestandssysteem weer reageert, in plaats van echt werk te doen.

IBM x3650Dell MD3000i
IBM x3650 en Dell MD3000i

Een van de oplossingen leek een san met daarop een cluster filesystem. De betaalbare hardwarematige iscsi-oplossingen waren toen interessant geworden en we stapten over op een MD3000i met daarop ocfs2. Nouja, dit is allemaal recente geschiedenis... De MD3000i bleek - naar we nu weten - af en toe alle verbindingen dicht te gooien en daarna weer verder te gaan. Daar kon vervolgens ocfs2 heel slecht tegen en het systeem vond daarna dat de bijbehorende servers maar moesten rebooten. Uiteindelijk bleek dat er nog een goede reden was om de firmware up to date te houden; nadat een disk stuk ging weigerde de MD3000i zijn raid te rebuilden met de aanwezige hotspare.

Aangezien we toch de voorkeur gaven aan wat minder rigoreuze foutbestrijding - bij het minste of geringste al rebooten is wat ruig - zijn we voor dat laatste probleem al aan de slag gegaan met weer een nieuwe nfs-server. Dit keer viel de keus op een systeem dat leek op Suns open storage platform. De nieuwe server bestaat uit een Sun Fire x4270 met daarop OpenSolaris dat gebruik maakt van het zfs-filesystem. Het is tegelijk ons eerste systeem met 'software'-raid.

Sun Fire x4270 specs
Processor 2x Intel E5520
Geheugen 6x 1066Mhz 4GB, 24GB in totaal
Bootdisks 2x 2.5" 146GB 10k rpm SAS
Opslagdisks 10x 2.5" 500GB 7.2k rpm SATA RAIDZ2
ZFS L2ARC 2x Intel X25-M 80GB ssd striped
ZFS slog 2x Intel X25-E 32GB ssd mirrored

Het zfs-bestandssysteem slaat alle data permanent op de dubbel redundante array van 500GB sata-disks op. Maar omdat die niet super snel zijn, maakt het gebruik van de twee X25-E's om het schrijven van data te versnellen en de X25-M's om in totaal bovenop de 24GB ram nog eens 160GB extra cache-ruimte te bieden. Dit nieuwe systeem verdeelt zijn data weer ouderwets met nfs. In verband met de beheersbaarheidfeatures, zoals snapshots en losse datasets, van zfs te combineren met nog een beetje extra performance wilden we graag nfs4 gebruiken.

Sun X4270

En je raadt het al... Het is blijkbaar, ondanks jaren van ontwikkeling, niet stabiel. De downtimes van de afgelopen week waren aan deze instabiliteit te wijten De precieze oorzaak weten we niet, maar zowel de Linux-clients als de OpenSolaris-server lijken moeite te hebben om nfs4 op een fatsoenlijke manier aan te bieden en te gebruiken. Vandaag zullen we dan ook terug gaan naar nfs3 en verwachten we dan eindelijk een stabiel shared filesystem aan te kunnen bieden. De vervolgstap wordt dan om met zfs' replicatie-functionaliteit ook een tweede server in te richten met dezelfde data. Vanaf dat moment zouden we ook de uitval van de primaire fileserver snel op moeten kunnen vangen.

Volgende 12:13 Tweakers introduceert wenslijsten en inventarissen
Vorige 02-'10 Server- & netwerkstatusmeldingen IX

Reacties

«  1  2  3  »

Zoveel hardware platformen, zoveel wisselingen in achterliggende systemen.
Zijn al die technologieen nou brak of zijn de twiekers iets te veeleisend :P

De eerste paar systemen hadden inderdaad hardware-failures. Kapotte moederborden, diskbays die niet goed werkten, etc etc.

De laatste, de MD3000i was eigenlijk meer een software-probleem, in de zin dat we wat firmware-updates achter liepen. En het nieuwste systeem, de x4270, is voor zover we kunnen nagaan ook gewoon stabiel. Maar daar doet de software moeilijk.

Maar je gaat nu dus weer terug naar NFS met de 1 seconden timeouts?

Doet dat als de fileserver down gaat er dan niet voor zorgen dat Apache een DOS te verwerken krijgt en alle webservers dus ook down trekt.

Liever t.net zonder plaatjes dan helemaal geen t.net :)

Ondertussen hebben we sowieso meer maatregelen genomen tegen die situatie, o.a. door te werken met Varnish als reverse proxy zodat voor de meeste requests voor afbeeldingen uberhaupt geen contact meer wordt gezocht met NFS.

Bovendien had OCFS2 dus als fout-oplossing om servers te reboten... En dat levert nog meer down time op dan een apache die niet helemaal goed bereikbaar meer is. Overigens zijn de timeouts nog wel iets korter gezet, hoewel nog steeds 'lang' in web-termen :)

[Reactie gewijzigd door ACM op maandag 22 februari 2010 15:11]


Een tijdje terug kwam ik FSCache tegen als kernel optie, geen idee of jullie dit inderdaad al onderzocht hebben, maar afhankelijk van testresultaten kan het erg nuttig zijn:
http://www.linux-mag.com/id/7378/1/

Ik wil er binnenkort zelf eens mee gaan testen, als het goed werkt denk ik dat het efficienter is dan wat we nu gebruiken voor het cachen van files.

Dat gaan we inderdaad binnenkort ook nog beter bekijken :)

@ACM zoals we ook al gemaild hadden. Waarom draaien de bestanden niet via een webserver naar de edge webservers, maar via NFS?

We hebben niet alleen maar gedeelde files die naar gebruikers gaan. Ook diverse scripts die op een of meerdere servers uitgevoerd worden, home-directories etc.

Ongeacht wat we voor de web-files kiezen hebben we hoe-dan-ook een stabiel gedeeld filesystem nodig...

Overigens zijn voor sommige gedeelde files wat meer checks nodig dan domweg een 'bestaat ie?' Zodat verplicht een oplossing nemen met een reverse proxy ook niet altijd ideaal is.

[Reactie gewijzigd door ACM op maandag 22 februari 2010 15:14]


Oh laat het duidelijk zijn dat ik het zeker met je eens ben dat je iig iets nodig hebt dat netwerk storage biedt. Maar ik zou me zo goed kunnen voorstellen dat je heel wat gezeik minder hebt dat als 'statische' bestanden, die toch altijd statisch zijn, wel via een reverse proxy draait.

statische bestanden, zoals de php files, staan al jaren lokaal, maar aangezien er redelijk wat plaatjes verspreidt over de site staan, de fpa's, de usericons, die we toch van nfs af moeten halen, hebben we toch echt centrale storage nodig :)

Met de toevoeging dat de plaatjes waar geen ingewikkelde checks voor nodig allemaal in principe al via reverse proxies worden geservereerd.

Er zijn maar heel weinig zaken die echt nog van de nfs-share geladen worden. De diverse video-files zijn eigenlijk de enige die een beetje data trekken. Vandaar ook dat de instabiliteit ons zo verbaasde en we er extra van balen :/

Ik denk dat je het punt mist moto-moi, mijn suggestie aan ACM was om op de fileserver zelf een webserver te draaien, die juist die usericons etc. serveert. Daar hang je dan een reverseproxy voor wat connectie management.

Dus in plaats dat je edge op je NFS zit te zuigen, haal je dat via HTTP op. Overhead daarvan is miniem, en vooral: degelijk.

Is een alternatief voor NFS geen optie, zoals AFS? Hebben jullie al getest met dergelijke alternatieven?

edit: Waarom niet? Wat me zo voor de hand lijkt te liggen is dat AFS zich nog niet bewezen heeft?

[Reactie gewijzigd door geez op donderdag 25 februari 2010 10:29]


AFS is echt geen optie :'(

Jeuj, hopelijk minder problemen \o/
Het begon de spuigaten ook wel uit te lopen btw.

Woei, hopelijk het einde van de problemen. Het werd ondertussen wel een beetje irritant, maar ik kan me zo bedenken dat jullie dat minstens net zo vervelend vonden als ik :)

Al MogileFS overwogen? Er is ook een nginx module om het direct vanuit de webserver aan te bieden.

MogileFS is niet echt een file-system. Het is meer een http-laag rond een verspreide opslag van files, dus het zou maar voor een deel van de toepassingen die we ervoor hebben bruikbaar zijn. Maar hoe ik het niet zelf getest hebt lijkt bijvoorbeeld video-streaming me geen toepassing die met MogileFS gefaciliteerd kan worden.

Daarnaast gelden ook daarvoor de eerder door mij aangehaalde requirements dat we hoe-dan-ook toch wel een gedeeld file-system nodig hebben met onze huidige opstelling.

Ik moet toegeven dat ik het nog niet geprobeerd heb buiten een paar kleine testjes, zou het voor user icons en fotos (waar het bij livejournal ook voor ontwikkeld is) je wel kunnen helpen.

De reden dat ik geinteresseerd ben, is dat wij ook af en toe problemen hebben met onze iSCSI en ook alternatieven overwegen.

Er zijn redelijk wat sites die MogileFS gebruiken voor videostreaming. Grootste nadeel van MobileFS is dat het nogal flinke aanpassingen van je applicatie vereist of je moet de Fuse client flink verbeteren. Deze laatste bestaat wel maar is op dit moment niet heel erg stabiel.

Idee achter MogileFS is op zich erg leuk, performance schijnt alleen niet heel erg super te zijn en het feit dat het geen 'normaal' filesystem is, is best een nadeel.

Overigens een interessante ontwikkeling:

http://www.facebook.com/note.php?note_id=76191543919

Hoorde op Fosdem dat ze dit ook gaan opensourcen binnenkort. Als je voor performance gaat dan is dit zo ongeveer de heilige graal op dit moment :)

Oehh, mooie systemen weer, igg succes! :9

Een hele hoop blabla voor mij maar het zal vast wel goed komen!

Als ik het artikel zo lees, vraag ik me af wat er zal gekozen als tweede server: gaan jullie voor 2 * hetzelfde systeem, of wordt er gekozen voor een andere (zo verschillend mogelijke) backup-fileserver in de hoop dat als het volgende gekke probleem opduikt dit niet op beide systemen zit?

Waarschijnlijk gaan we in ieder geval voorlopig de nog in het rack hangende MD3000i gebruiken voor de opslag van die 2e server en daar dan een dedicated 'head unit' aan hangen. Maar het is iets dat nog niet enorm goed is uitgedacht omdat we al onze aandacht op de primaire shared storage hebben gericht :)

Mooi spul! Als rechtgeaarde tweaker verwacht ik uiteraard een grondige review van de nieuwe setup met zfs :). Niet in de laatste plaats omdat ik zelf binnenkort ook een storage server ga uitzoeken.

Haha lachen, toevallig heb ik vanmiddag een Sun7410 (grotere broertje) moeten rebooten omdat de cifs/activedirectory koppeling helemaal niet meer werkte. Het is wel de eerste keer dat die onderuit ging. Leuk ook die supportbundels, hij maakte er nu 1 aan van 2.2GB !
Helemaal af is het opensolaris nog niet....

[Reactie gewijzigd door gjs op maandag 22 februari 2010 21:05]

«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 12:13 Tweakers introduceert wenslijsten en inventarissen
Vorige 02-'10 Server- & netwerkstatusmeldingen IX
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011