Slashdot's Setup, Part 1- Hardware
CT:Most of the following was written by Uriah Welcome, famed sysadmin extraordinaire, responsible for our corporate intertubes. He Writes...
Many of you have asked about the infrastructure that supports your favorite time sink... err news site. The question even reached the top ten questions to ask CmdrTaco. So I've been asked to share our secrets on how we keep the site up and running, as well as a look towards the future of Slashdot's infrastructure. Please keep in mind that this infrastructure not only runs Slashdot, but also all the other sites owned by SourceForge, Inc.: SourceForge.net, Thinkgeek.com, Freshmeat.net, Linux.com, Newsforge.com, et al.
Well, let's begin with the most boring and basic details. We're hosted at a Savvis data center in the Bay Area. Our data center is pretty much like every other one. Raised floors, UPSs, giant diesel generators, 24x7 security, man traps, the works. Really, once you've seen one class A data center, you've seen them all. (CT: I've still never seen one. And they won't let us take pictures. Boo savvis.)
Next, our bandwidth and network. We currently have two Active-Active Gigabit uplinks; again nothing unique here, no crazy routing, just symmetric, equal cost uplinks. The uplinks terminate in our cage at a pair of Cisco 7301s that we use as our gateway/border routers. We do some basic filtering here, but nothing too outrageous; we tier our filtering to try to spread the load. From the border routers, the bits hit our core switches/routers, a pair of Foundry BigIron 8000s. They have been our workhorses throughout the years. The BigIron 8000s have been in production since we built this data center in 2002 and actually, having just looked at it... haven't been rebooted since. These guys used to be our border routers, but alas... their CPUs just weren't up to the task after all these years and growth. Many machines plug directly into these core switches, however for certain self contained racks we branch off to Foundry FastIron 9604s. They are basically switches and do nothing but save us ports on the cores.
Now onto the meat: the actual systems. We've gone through many vendors over the years. Some good, some...not so much. We've had our share of problems with everyone. Currently in production we have the following: HP, Dell, IBM, Rackable, and I kid you not, VA Linux Systems. Since this article is about Slashdot, I'll stick to their hardware. The first hop on the way to Slashdot is the load balancing firewalls, which are a pair of Rackable Systems 1Us; P4 Xeon 2.66Gz, 2G RAM, 2x80GB IDE, running CentOS and LVS. These guys distribute the traffic to the next hop, which are the web servers.
Slashdot currently has 16 web servers all of which are running Red Hat 9. Two serve static content: javascript, images, and the front page for non logged-in users. Four serve the front page to logged in users. And the remaining ten handle comment pages. All web servers are Rackable 1U servers with 2 Xeon 2.66Ghz processors, 2GB of RAM, and 2x80GB IDE hard drives. The web servers all NFS mount the NFS server, which is a Rackable 2U with 2 Xeon 2.4Ghz processors, 2GB of RAM, and 4x36GB 15K RPM SCSI drives. (CT: Just as a note, we frequently shuffle these 16 servers from one task to another to handle changes in load or performance. Next week's software story will explain in much more detail exactly what we do with those machines. Also as a note- the NFS is read-only, which was really the only safe way to use NFS around 1999 when we started doing it this way.)
Besides the 16 web servers, we have 7 databases. They currently are all running CentOS 4. They breakdown as follows: 2 Dual Opteron 270's with 16GB RAM, 4x36GB 15K RPM SCSI Drives These are doing multiple-master replication, with one acting as Slashdot's single write-only DB, and the other acting as a reader. We have the ability to swap their functions dynamically at any time, providing an acceptable level of failover.
2 Dual Opteron 270's with 8GB RAM, 4x36GB 15K RPM SCSI Drives These are Slashdot's reader DBs. Each derives data from a specific master database (listed above). The idea is that we can add more reader databases as we need to scale. These boxes are barely a year old now — and still are plenty fast for our needs.
Lastly, we have 3 Quad P3 Xeon 700Mhz with 4GB RAM, 8x36GB 10K RPM SCSI Drives which are sort of our miscellaneous 'other' boxes. They are used to host our accesslog writer, an accesslog reader, and Slashdot's search database. We need this much for accesslogs because moderation and stats require a lot of CPU time for computation.
And that is basically it, in a nutshell. There isn't anything too terribly crazy about the infrastructure. We like to keep things as simple as possible. This design is also very similar to what all the other SourceForge, Inc. sites use, and has proved to scale quite well.
CT: Thanks to Uriah and Chris Brown for the report. Now if only we remember to update the FAQ entry...
I'm like sooooooooo surprised you guys aren't running nt4 boxes. IIS was this sh!t back in the day
Nice to see you're hosted by a Microsoft Gold Partner. That's a benchmark of quality.
Find funky gifts
Tell me that's a hilarious joke...
can I play on that awesome hardware? Or perhaps run SETI on it and make it a huge waste of processing power? oh oh, please please!!!
-- Josh
"Whoopie! Man, that may have been a small one for Neil, but that's a long one for me!" - Pete Conrad
The hardware that powers slashdot?
I wanna know about the power that powers slashdot... are you really as green as the default colour scheme?
The Bible: Historically verifiable fact from an observers point of view
We have a hard enough time using CARP never mind specifying servers that just read or just write. I need to take a class. ;-)
Interesting read about Slashdot server farm. I'm somewhat surprised to see that Slashdot subscribers have two dedicated servers to read the main page, that's as many servers dedicated to a minority of users as to the rest of the users. But well, that's good for them, they help our best thrustworthy news site so they diserve to be rewarded :-p
It'll be interesting to read the software section. It was surprising to see that they use an EOL'd version of Redhat (RH 9) that is no longer supported by Redhat. Granted, they're just webservers, but you'd think that would still require a lot of manually updating to keep things patched.
That sounds useful! I use /dev/null as a write-only database. Very efficient.
Jolyon
Please read my Canon EOS tech blog at http://www.everyothershot.com
What determines why you run Red Hat 9 on some systems, and CentOS on others? Was BSD even considered? (You wouldn't run on Macs, would you?)
technical writing / development
It's been 10 freakin years!!! I can remember going to Rob's page for his E apps. An amazing ride!
Awesome!
This may be slightly off but I was wondering if anyone could recommend some good reading materials for setting up clustered sites or how to spread out work loads like they're doing with their systems.
Oh yes, geek pornography finally appears on /. :)
Thanks for the report, looking forward to the software part!
Imagine a Beowulf cluster of those.
*cough*
The database hardware was discussed, but what database software does Slashdot use today? MySQL?
wonder how much bandwidth slashdot is using and how much it costs.
I'd say doing more pageviews with less (and older) hardware says more about a "better setup" than having shinier boxes.
I am not saying that CentOS is any inferior at all but wonder why they chose it over all the possible serious systems in the Linux world. Is there anything CentOS does better than say OpenSUSE or Ubuntu/Debian and the rest?
As someone with lovely personal experience wtih Saavis, im sorry.
"These are doing multiple-master replication, with one acting as Slashdot's single write-only DB, and the other acting as a reader."
Isn't that a contradiction? If you have only one write DB, why do you need multiple masters, aren't the other 6 just slaves at that point? Or are there separate master/slave pairs (I'm assuming these are MySQL databases)
It's familiar to people who are used to working with Red Hat.
CT: Thanks to Uriah and Chris Brown for the report. Now if only we remember to update the FAQ entry... Not a lot of dudes named Uriah out there. Could it possibly be Precision? The running Enlightenment and Gnome on a dual Celeron 300?
I'm a firm believer in the philosophy of a ruling class, especially since I rule.
I was wondering if you ever considered using a CDN service like Akamai to serve content? Most of the big sites (Apple/MS etc) use it.
--
I refuse to answer that question on the grounds that I don't know the answer.
I always imagined slashdot ran on hundreds (perhaps thousands) of modded Dreamcast consoles powered by lucky, randomly selected registered users running in hamster wheels who were lured by blocks of Wisconsin cheese dangling just out of reach.
Thanks for destroying my sense of childlike wonder, you insensitive clods!
obviously no deficiencies vs. no obvious deficiencies
Learn the rules so you know how to break them properly.
www.teslabox.com
To the editors:
Thanks for this. It's really very interesting.
-B
I can't wait for "Slashdot's Setup, Part 8 - Root Passwords".
Your courageous and selfless spelling corrections have made me a better person.
Any chance that with all that iron you can loosen up the crazy restrictions on comment posting? It can get rather ridiculous sometimes.
I'm actually surprised, I was expecting much bigger Iron, esp on the DB side. Ah well.
/. chose to use "free" distros. I would have thought SLES or RHEL would have been a consideration.
Very curious that
How many FPS in TuxRacer you can get on them. Sure, individually, probably not so good, but working together, you could probaly break the 1000 FPS mark if you're lucky.
Active-Active Gigabit uplinks;
Anybody know what this is and how to purchase it?
"Really, once you've seen one class A data center, you've seen them all. (CT: I've still never seen one. And they won't let us take pictures. Boo savvis.)"
:-)
Send in a courtroom artist
I went down memory lane so I fired up archive.org's wayback machine. This was a post on 1998 Booker writes "So IBM announces a 25 gig hard drive... does the world need this yet? Unless this is in a RAID, would you really want to trust 25 gigs on a single drive? What would you use this for? 400+ hours of MP3s comes to mind... "
"When the president does it, that means it's not illegal." - Richard M. Nixon
Anyway, it did get to a point where I instantly got escalated to their 2 or 3 tier because if I couldn't fix it, or I couldn't find the answer withing a Unix forum on-line, they would have a hard time offering a solution. This was supporting about 300 Sun Netra systems running Solaris 9.
Lemme know how that works out for you, considering they're doing layer 2 only and don't have an IP address.
- U
But seriously, I've really enjoyed these recent articles on Slashdot's setup and history, especially as I recently tried, and failed, to install Slash!
Weaseling out of things is important to learn. It's what separates us from the animals... except the weasel."
Really, once you've seen one class A data center, you've seen them all. (CT: I've still never seen one. And they won't let us take pictures. Boo savvis.)
Have you ever asked if you could take photos of your own installation? Find a manager or someone somewhat in charge of the data center, and let them know you need to get photos for insurance reasons or backup plans. Or the slashdot FAQ.
I've never had a problem taking photos in data centers in Europe and New York, by asking permission each time. It's a great way to document your work for future service calls when you are thousands of kilometers distant and trying to tell the remote hands guys what to do. It would also be a good way to educate slashdotters who don't know how dreadfully boring server installations are.
the AC
personally, I'm curious for how neatly the cabling is dressed
Hemos is like...sci-fi fans;he thinks technology is cool, but he hasn't bothered to understand the science it's based on
Bad area, twice as expensive as other areas, well overdue for a major quake and disruption.
So those databases store your entire archive of all posted stories and comments? I assumed you would need some sort of high performance shared storage...
Your routers are only doing layer 2?
A long time ago, Slashdot was load balanced by an Arrowpoint CS-800. According to this write up, Slashdot has moved to LVS. What instigated the move? Did you feel that a fancy appliance-type load balancer was no longer needed? I didn't really care for the Arrowpoint switches or the Cisco CSS switches that they became, but I do like F5s and to a lesser extent the Foundry ServerIrons. Was the move away from appliance-based load balancers a money-saving idea, or just a lack of need?
Still, with a plan, you only get the best you can imagine. I'd always hoped for something better than that. -CP
Reinstalling packages could help, if you had screwed up something and had no idea what had gone wrong. Wiping out and starting over is then a (crummy) solution.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
Well, assuming they have a minimal set of software installed (kernel, standard library, Apache, SQL client, SSH), there's not much to maintain. And it's entirely likely that many of those are custom builds, configured and compiled locally, to get exactly the options they need and none they don't. That's not unusual when you're talking about a high profile site with a heavy traffic load. In such cases, optimizations which are not worth it for most cases suddenly become very important.
/etc/ on each server. ;-)
Of course, I'm just guessing. For all I know, there is a full GNOME install and a world-writable
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
Your hardware still needs work - I just saw this when I went to look at a Slashdot article a minute ago:
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
NT
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
For your next hardware update, have you considered some of Sun's Niagra-based systems?
Has the Savvis CEO ever taken you guys out for a night on the town?
I can't wait for "Slashdot's Setup, Part 8 - Root Passwords"
And what would you do with them? Knowing the root password shouldn't get you into a properly configured and patched system.
I even remember one cracking contest where the owner of the machine gave out the root password to the target machine. (quick google: nope)
You could attack the bandwidth, or try to get physical access. But if Cmdr. Taco can't get in....
Can't an anniversary be a single day? This Slashdot anniversary is dragging out longer than a Twinkie can sit on a shelf. Reminds me of my buddy Rick who insisted his "birthday" be "birthmonth" instead. Blah blah blah. I'm important.
Actually BigIrons are intelligent layer 2 and 3 (and some can even do 4 and above) switches, so they damn well better have an IP address. The management IP might not be accessible from the internet, but that doesn't mean you can't take it over. Some switches can be crashed (buffer overrun) just by routing bad data through them.
I'm not saying I would do anything like that, I'm just cautioning system administrators (I am one) to think twice before bragging about the uptime and exact architecture of your boxen. It lets shady characters know exactly what to target.
"When the president does it, that means it's not illegal." - Richard M. Nixon
Actually BigIrons are intelligent layer 2 and 3 (and some can even do 4 and above) switches, so they damn well better have an IP address. The management IP might not be accessible from the internet, but that doesn't mean you can't take it over. Some switches can be crashed (buffer overrun) just by routing bad data through them.
... they're using them as L2 switches. They're 'switching'. Perhaps ask about the difference between the two at your next entry-level Cisco training course (which you appear to be long overdue for).
No, BigIrons 'can be used as' intelligent layer2 and 3 switches. 'Can be used as' is different than 'are'. And there is NO reason why they 'need' to have an IP address. Ever heard of terminal/console servers? How about out-of-band Ethernet management ? And for $DEITY's sake, stop saying 'rout[ing|er]'
I'm not saying I would do anything like that, I'm just cautioning system administrators (I am one) to think twice before bragging about the uptime and exact architecture of your boxen. It lets shady characters know exactly what to target.
Yes....caution 'system administrators' who are looking after the servers and workstations, and perhaps they can pass the word along to the 'network administrators' who actual take care of the 'network' devices like rout...I mean switches. And for the love of all things holy, please don't use the term 'boxen' again. It's the year 2007.
Yeah, but how many page views are we currently talking about? The FAQ says 80 million pages per month, but that info was last updated in '04.
Without knowing how heavy the load is, I don't know if I'm supposed to be impressed or not... (grin)
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
Jealous?
Is the reason for the dual hard drives that you're using a RAID 1 mirror?
Also, when I forget my password Slashdot emails it to me. Which server acts as that mail server?
I feel like there are other small details that got left out... Tell us MORE! Very interesting.
Like Digital Freedoms? Then donate to EFF before they're gone.
Yes, all our servers are at least RAID1, as for email, this article was Slashdot specific machines only. There are quite a few shared systems, including the outgoing mail relay.
- U
Ding, we /used/ to use them as layer 3 routers, but they couldn't keep up after the years and alas, they've been relegated to dumb layer 2 switches now. The poor cpu's can't keep up with anything else. We do have OOB serial management on them like you mentioned however.
- U
I am not familiar with this switch, as you appear to be, but do these switches us multiple (redundant) processor modules. I know on some Cisco and other vendor's higher end switches, you can do a flash to one module and force a fail over so you can flash the other... or remove the processor board altogether and update it in spare chassis and return it to service.
Sometimes the best solution is to stop wasting time looking for an easy solution.
How far does the access log go back?
I may have dreamed^H^H dreamt this but I thought there used to be a slashbox that said what OS or browser was being used by what % of users/page views. I think it disappeared when IE or windows started to become the majority?
Or maybe I just have reeeeaaalllly lame dreams.
You guys might want to check out Vista,.......
"When the president does it, that means it's not illegal." - Richard M. Nixon
And I hope you compile your own Apache because whatever shipped with Redhat 9 surely has vulnerabilities.
"When the president does it, that means it's not illegal." - Richard M. Nixon
Please switch all of those machines to Debian GNU/Linux or FreeBSD. RedHat's software is undesirable from both a technical perspective, and also morally, because RedHat is a business. Using CentOS is a little better, but it's still not very good software.
If the /. syadmins are smart, and you know they are, direct root login is disabled anyway. You'd have to get perimeter access, then get a shell with wheel access in order to even try. Hell, I could give you all of my root passwords and my IPs right now and you still couldn't login with it.
Working in a DevOps shop is like playing in a band made up entirely of keytarists.
I m curious what kind of load does this hardware handle? pages/sec? peek/average bandwith?