Slashdot's Setup, Part 1- Hardware 273
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...
Windows? (Score:4, Funny)
Re:Windows? (Score:5, Funny)
Re:Windows? (Score:5, Interesting)
Re: (Score:3, Informative)
http://news.netcraft.com/archives/2003/08/17/wwwmicrosoftcom_runs_linux_up_to_a_point_.html [netcraft.com]
Re:Windows? (Score:5, Funny)
Re: (Score:2)
Savvis (Score:5, Funny)
Re: (Score:3, Informative)
Re: (Score:3, Informative)
Depending on who you talk to, you'll get different responses about Savvis. This is mainly due to the heritage of various customers. i.e. Savvis/Bridge/Intel vs Exodus reputation.
Savvis is actually the conglomeration of _many_ companies.
Exodus == (Exodus, AIS, Arca, Cohesive, Network-1, Global Center)
C&W US == (MCI (IP backbone), Exodus, Digita
Redhat 9 (Score:5, Funny)
Re:Redhat 9 (Score:4, Insightful)
Re: (Score:2, Funny)
Re: (Score:2)
Comment removed (Score:5, Interesting)
Yep, you're dead on the money about Level4 support (Score:3, Informative)
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 f
Re: (Score:2)
That means if something significant is found the site owners must backport it or leave it as is.
Comment removed (Score:5, Funny)
Re: (Score:2)
Amen.
Although, in the words of a wise man, "The singular of data is not 'anecdote'", I'll cite my own little war story data point. It's trivial, of course, as every story told by a 6-digit /. ID is going to be, but still...
My little bitty household server had been running RH variants from 5.something onwards, surviving numerous hardware transplants and live upgrades all the way up through RH 9.
It was running pretty smooth but I felt like it was getting harder to find RPMs packaged for it, and security updat
Re: (Score:2)
Re: (Score:3, Informative)
You people keep using the word "brick" to refer to "broken software that can easily be reinstalled."
Can I...? (Score:2, Funny)
Re: (Score:2)
If it does the job well (and I have no problems with /.), then why keep running on the upgrade treadmill? Get the most life you can out of your equipment and software, only upgrade when needed. This is what most businesses do -- it saves money and (usually) allows a more stable environment.
the powers that be (Score:2, Interesting)
I wanna know about the power that powers slashdot... are you really as green as the default colour scheme?
Re:the powers that be (Score:5, Funny)
Re: (Score:2)
Actually, that's wrong. The original HP calc had a red LCD, and that damn bright alarm clock of mine that I put a shirt over every night has a green LCD.
Shit, I'm even wronger, I'm looking at my Dell 2850 server over there and it has a BLUE LCD scrolling the name of the machien back and forth. Nevermind.
Re: (Score:2)
You mean LED, not LCD.
Re: (Score:2)
Unfortunatly I was wrong, and they are still LED. I classified them as LCD due to the ability o create numbers like a digital watch. Apparently the fact that they EMIT LIGHT wasn't enough to convience me that they were made from LED. Add that to the fact I thought LED's were very rare back then.
Stupid me.
Load Balancing (Score:2)
Re: (Score:2)
Interesting (Score:2)
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
Re: (Score:3, Insightful)
Logged in users can have a bunch of customization options on the front-end, which would take more resources.
I find it just as interesting that the logged-in readers use up that much more CPU.
Re:Interesting (Score:4, Insightful)
Re:Interesting (Score:5, Informative)
Yeah, I wasn't sure what he meant either. We have 2 webheads serving static pages (like the non-logged-in homepage), and 4 serving specifically the dynamically-generated homepage for all logged-in users. Plus 1 that serves all SSL traffic, which subscribers can use.
People often say "subscriber" when they mean "logged-in Slashdot user," not specifically a paying subscriber [slashdot.org].
Re:Interesting (Score:5, Funny)
Redhat 9? (Score:4, Interesting)
Re: (Score:2)
I should know; my web server is on 7.3. 8^)
Re: (Score:2)
Write-only database? (Score:5, Funny)
Jolyon
Re: (Score:3, Informative)
If you have a farm of replicated mysql servers (which are read only - as replication is one way here) you need a db to write to.... not reading from it reduces the load on that server.
So, assuming that your read-mostly - it's actually a nice way to balance the load across multiple systems.
Re:Write-only database? (Score:4, Funny)
Re: (Score:2)
That does sound fast, certainly, but I prefer the idea of using
Possibly obtuse question (Score:5, Interesting)
Re:Possibly obtuse question (Score:5, Informative)
Re: (Score:2)
Re: (Score:2)
CentOS doesn't get the publicity that it should IMHO.
Re:Possibly obtuse question (Score:4, Interesting)
Re:Possibly obtuse question (Score:4, Insightful)
Stability and familiarity are more important than the latest cool distro. Is there a reason that they should have picked BSD over RedHat? Of course there are some. There are others to pick RedHat over a BSD. In the end, you have to go with what you're comfortable and familiar with in order to ensure that you can deal with sudden, unexpected problems.
Still can't believe.. (Score:2)
Reference Materials (Score:2, Interesting)
Re: (Score:2, Interesting)
Re: (Score:2)
Finally some adult stories (Score:5, Funny)
Thanks for the report, looking forward to the software part!
Re: (Score:2)
bandwidth usage and cost? (Score:5, Interesting)
Re:bandwidth usage and cost? (Score:5, Informative)
Re:bandwidth usage and cost? (Score:4, Interesting)
For a site like
After that, you have to count up all the amazing 7 figure salaries of Rob and the gang who keep things running
the AC
Re: (Score:3, Informative)
However, I had a strange split in quotes I received. Some were in the
Re:bandwidth usage and cost? (Score:4, Informative)
The savings pays for the gear in less than 2 years plus we have 10X the band width as well as full control over the connection.
Why CentOS? (Score:3, Interesting)
One way it's better (Score:4, Insightful)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
CentOS is redhattish because they use RedHat's freely-available source code.
Re: (Score:3)
Yes indeed; RedHat with the serial numbers filed off.
My GNU/Linux server experience is pretty much all in the RH family tree, except for a brief fling with SUSE for SPARC in the early '00s. For desktop, though, I have to admit that Kubuntu is pretty sweet. I just haven't had to (or had the chance to) learn the guts like I've had to (or had the opportunity to) learn the ugly white underbelly of server OSs.
But Hell, I come from a SunOS and AIX background, so almost nothing in the GNU/Linux universe can really
Re: (Score:2, Informative)
Re:Why CentOS? (Score:5, Informative)
Re: (Score:2)
CentOS based off Redhat Enterprise. It favors stability over "new hotness". But unlike Debian it keeps pretty up to date without going to "Testing" or "Unstable". Yes I have used Debian and I am not a big fan. It may have changed so try it for yourself.
I also use OpenSuse daily. Yast is a mixed blessing. I find it very slow and too gui like for a server. I use it on my desktop and several servers in my office. I have years of experi
Re: (Score:2)
PostgreSQL was there but it wasn't the latest stable release. Which is typical of all distros but they also didn't have a deb on the PostgreSQL. The other was Webmin which which shocked me. That took a lot of time to get all the dependencies in this case perl modules working.
Of course things change so both those problems my have changed. Ubuntu Server doesn't suck. I just think that anyone that is setting up a server from scratch should tak
Re: (Score:2)
Re: (Score:2)
Multiple master DBs (Score:3, Interesting)
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)
Re:Multiple master DBs (Score:5, Informative)
Re: (Score:2)
Considered a CDN? (Score:5, Interesting)
Re: (Score:2)
Personally, I think
Re:Considered a CDN? (Score:5, Informative)
I want my sense of childlike wonder back! (Score:5, Funny)
Thanks for destroying my sense of childlike wonder, you insensitive clods!
Re:I want my sense of childlike wonder back! (Score:4, Funny)
backup? (Score:5, Interesting)
Re: (Score:2, Informative)
Re: (Score:2)
Re: (Score:3, Insightful)
Re:backup? (Score:4, Informative)
Second rule of offsite backups: Never talk about where you keep your offsite backups.
You thought I was going somewhere else with that didn't you?
In all seriousness, that sounds like it would be in the software article instead.
Re:backup? (Score:5, Informative)
Re: (Score:2)
Thanks (Score:5, Interesting)
Thanks for this. It's really very interesting.
-B
read the entire series (Score:5, Funny)
root passwd != externally vulnerable (Score:3, Interesting)
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....
Re:read the entire series (Score:4, Funny)
The admins would wake up the next day to discover that the site was running perfectly normally, but was performing slightly faster than normal.
After closer inspection, they'd find that their datacenter had been emptied, and replaced by a single Apple ][ that had been hacked to run the latest version of Ubuntu, and that slashcode had been rewritten so that it would perform all of the same functions as the previous slashcode, but ran at twice the speed... on the Apple ][.
A post-it would be found stuck to the screen, stating that all of slashdot's old and now unnecessary hardware had been sold, with the proceeds being donated to the EFF. The message would likely include or be in the form of a Soviet Russia joke. Additionally, a miniaturized plastic Gnu would be left behind as a calling-card.
The news of this would be regarded as insignificant by the editors, until over a year later, it gets posted four times in the span of two days.
Comment woes (Score:3, Interesting)
Artistic solution... (Score:2, Funny)
Send in a courtroom artist
25gig HD too much? :) (Score:2)
Re: (Score:2)
You probably shouldn't tell us too much informatio (Score:2)
Gee, you really should update the firmware on your routers and switches more often than once every 5 years (or never). All I really need to do to hack Slashdot now is to look at all of the vulnerabilities on BigIron 8000s for the last 5 years and pick one to exploit. I wouldn't do that, but I'm sure a lot of miscreants could DOS you something fierce, or ju
Re:You probably shouldn't tell us too much informa (Score:5, Funny)
Re:You probably shouldn't tell us too much informa (Score:4, Informative)
No Photos? Have you asked? (Score:2)
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 grea
Re: (Score:3, Insightful)
Once you have multiple uplinks from different providers you would typically use the BGP protocol to announce your IP space on both providers, then when people try to ge
Yes, MySQL. (Score:3, Informative)
Re: (Score:3, Informative)