[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-nXuwI5YjeSqJpP9jl0c22ejvRki5xOamkQgCc5iXamE":3,"sanity-zC-5hK4C2wVmINyL64nascsxWyU2MvDmmX85FskdWxY":479},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":454},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"7ebd76d2-cebc-4b88-82f9-3dfb2c8bc5ca","2026-07-08T04:40:00.000Z",{"_type":10,"current":11},"slug","what-s-left-for-infrastructure-as-code-after-ai-moves-in",true,"What's left for infrastructure-as-code after AI moves in?",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":59,"comments":12,"dateUrl":429,"excerpt":430,"image":431,"legacyBody":433,"product":82,"publishedAt":436,"slug":437,"sponsored":82,"tags":439,"title":453,"visible":12},"2023-05-25T09:36:57Z","wp-post-3328","07ZbrKPSUrjrV4wQ6fI9rD","blogPost","2023-07-13T14:54:20Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":54,"name":55,"role":56,"slug":57},"2023-05-23T16:27:18Z","wp-author-114","07ZbrKPSUrjrV4wQ6fam8u","blogAuthor","2023-08-29T11:49:01Z",{"_type":53},"image","former","Jeff Atwood","Co-founder",{"current":58},"jeffatwood",[60,84,90,127,132,170,175,187,197,205,289,298,306,311,330,334,390,403],{"_key":61,"_type":62,"children":63,"markDefs":78,"style":83},"d55c77e388e9","block",[64,69,74],{"_key":65,"_type":66,"marks":67,"text":68},"d55c77e388e90","span",[],"After many trials and tribulations, the ",{"_key":70,"_type":66,"marks":71,"text":73},"d55c77e388e91",[72],"3d811a28980d","new Stack Overflow servers",{"_key":75,"_type":66,"marks":76,"text":77},"d55c77e388e92",[]," are now ready to ship.",[79],{"_key":72,"_type":80,"href":81,"reference":82},"link","http:\u002F\u002Fblog.stackoverflow.com\u002F2009\u002F01\u002Fnew-stack-overflow-server-glamour-shots\u002F",null,"normal",{"_key":85,"_type":53,"alt":86,"asset":87,"markDefs":82},"fecfe4fbaa55","stackoverflow-servers-shipping-ready",{"_ref":88,"_type":89},"image-6d0317801ac039ffa1798772946b4bb179294af9-600x415-jpg","reference",{"_key":91,"_type":62,"children":92,"markDefs":124,"style":83},"afc596134be6",[93,97,102,106,111,116,120],{"_key":94,"_type":66,"marks":95,"text":96},"afc596134be60",[],"Ladies and gentlemen, meet the newest members of the stackoverflow.com hardware family: SOWEB1, SOWEB2, and SODB1. That's right, I even labelled them with my black and silver sharpies. It's been an awfully long month and a half since I originally asked ",{"_key":98,"_type":66,"marks":99,"text":101},"afc596134be61",[100],"2d5e8e218c2c","whether we should rent servers or buy them",{"_key":103,"_type":66,"marks":104,"text":105},"afc596134be62",[],". I've finished burn-in testing on all three servers and I am totally confident (barring any shipping disasters) they'll arrive at our hosting provider ready to slide into a rack and \"just work\". The benefit to you is that we ",{"_key":107,"_type":66,"marks":108,"text":110},"afc596134be63",[109],"strong","make stackoverflow.com even speedier than it already is, and ",{"_key":112,"_type":66,"marks":113,"text":115},"afc596134be64",[109,114],"em","far",{"_key":117,"_type":66,"marks":118,"text":119},"afc596134be65",[109]," more scalable",{"_key":121,"_type":66,"marks":122,"text":123},"afc596134be66",[],". I learned quite a bit in building up these servers, and I certainly paid my dues in the process. So you'll forgive me if I took the liberty of personalizing our servers a little bit.",[125],{"_key":100,"_type":80,"href":126,"reference":82},"http:\u002F\u002Fblog.stackoverflow.com\u002F2008\u002F12\u002Fserver-hosting-rent-vs-buy\u002F",{"_key":128,"_type":53,"alt":129,"asset":130,"markDefs":82},"91ae356fa119","stackoverflow-lenovo-rd120-shipping-ready",{"_ref":131,"_type":89},"image-1119be37602e7d211ae2b7667e160d6fc3d4c3fb-600x695-jpg",{"_key":133,"_type":62,"children":134,"markDefs":165,"style":83},"9202c1d8e668",[135,139,143,147,152,156,161],{"_key":136,"_type":66,"marks":137,"text":138},"9202c1d8e6680",[],"That's right, I build my servers with an extra-special ingredient: ",{"_key":140,"_type":66,"marks":141,"text":142},"9202c1d8e6681",[109],"love",{"_key":144,"_type":66,"marks":145,"text":146},"9202c1d8e6682",[],". And ",{"_key":148,"_type":66,"marks":149,"text":151},"9202c1d8e6683",[150],"956289b8df63","if loving these computers is wrong, I don't wanna be right",{"_key":153,"_type":66,"marks":154,"text":155},"9202c1d8e6684",[],". I guess I was inspired by ",{"_key":157,"_type":66,"marks":158,"text":160},"9202c1d8e6685",[159],"d3835b05d697","the old Amiga A1000 I used to own",{"_key":162,"_type":66,"marks":163,"text":164},"9202c1d8e6686",[],", which had the signatures of the designers molded into the underside of the case.",[166,168],{"_key":150,"_type":80,"href":167,"reference":82},"http:\u002F\u002Fwww.codinghorror.com\u002Fblog\u002Farchives\u002F000761.html",{"_key":159,"_type":80,"href":169,"reference":82},"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAmiga_1000",{"_key":171,"_type":53,"alt":172,"asset":173,"markDefs":82},"04b71407a3f6","amiga-a1000-signatures",{"_ref":174,"_type":89},"image-03d81059a4796cde0599f6cea8c93209534f0976-600x407-jpg",{"_key":176,"_type":62,"children":177,"markDefs":186,"style":83},"67e8823d4c75",[178,182],{"_key":179,"_type":66,"marks":180,"text":181},"67e8823d4c750",[],"Of course I'm just a schmuck who assembled some parts, and these guys were actual hardware design gurus far ahead of their time, but you know what I mean. In particular, I have to emphasize two things I learned. If you're building up servers, ",{"_key":183,"_type":66,"marks":184,"text":185},"67e8823d4c751",[109],"make sure you do these two things as soon as they arrive:",[],{"_key":188,"_type":62,"children":189,"level":194,"listItem":195,"markDefs":196,"style":83},"d414f7fd50c7",[190],{"_key":191,"_type":66,"marks":192,"text":193},"d414f7fd50c70",[],"Update the BIOS and RAID firmware to the latest possible versions.",1,"number",[],{"_key":198,"_type":62,"children":199,"level":194,"listItem":195,"markDefs":204,"style":83},"f77ffc41831e",[200],{"_key":201,"_type":66,"marks":202,"text":203},"f77ffc41831e0",[],"Make sure you have the latest operating system drivers.",[],{"_key":206,"_type":62,"children":207,"markDefs":280,"style":83},"813d2f7bac88",[208,212,216,220,224,228,233,237,242,246,250,254,259,263,267,271,276],{"_key":209,"_type":66,"marks":210,"text":211},"813d2f7bac880",[],"I'm no stranger to BIOS updates and firmware flashes for my desktops and consumer hardware, but I was hesitant to mess with the firmware on a server. I figured if it ain't broke, don't fix it, that sort of thing. Well, I was wrong. The RD120 server demanded a BIOS flash as soon as I installed the slightly newer CPUs I ordered for it. No problem; that's fairly typical for newer CPUs. Done and done. What was much more unusual, however, was the way ",{"_key":213,"_type":66,"marks":214,"text":215},"813d2f7bac881",[109],"RAID port #6 refused to operate on the server",{"_key":217,"_type":66,"marks":218,"text":219},"813d2f7bac882",[],". RAID ports #1 through #5 worked like a champ, but not #6. I ordered a grand total of 12 hard drives (6 + 2 + 2 + 2 spares), and I tried three of them in that port, to no avail. It would see the drive, then reject it within a few minutes. I figured this had to be a hardware problem so I called Lenovo. They dispatched a very friendly tech the next day who came out and replaced the RAID backplane. Unfortunately, this didn't fix the problem! After he troubleshot it for a bit, I got a lecture about using \"non-Lenovo\" industry standard SATA hard drives in a server. I actually have two official Lenovo 160 GB drives here, but he wouldn't use those either as they're not on the parts list for the RD120, somehow. I insisted, and we inserted the drive. To my amazement, this worked. I hadn't even considered putting in a different ",{"_key":221,"_type":66,"marks":222,"text":223},"813d2f7bac883",[114],"brand",{"_key":225,"_type":66,"marks":226,"text":227},"813d2f7bac884",[]," of drive. I thanked the tech, and after he left I tried another random SATA drive I have here. It too worked! (As an aside, I had a rip of a time finding the Windows app that shows you the status of \u002F lets you control the RAID arrays, but I eventually dug it up -- the ",{"_key":229,"_type":66,"marks":230,"text":232},"813d2f7bac885",[231],"3373ab63d634","IBM ServeRAID application",{"_key":234,"_type":66,"marks":235,"text":236},"813d2f7bac886",[],". Thanks for nothing, Lenovo!) At this point I belatedly realized what my problem was. As soon as I got the RAID controller updated with the latest firmware, all my problems magically went away -- RAID port #6 started working perfectly with the original drives. I would have done this earlier, but Lenovo's update download didn't work for me, so I had to call support to get a pointer to the ",{"_key":238,"_type":66,"marks":239,"text":241},"813d2f7bac887",[240],"eb219a8af8b1","IBM ServeRAID 8k series bootable ISO update",{"_key":243,"_type":66,"marks":244,"text":245},"813d2f7bac888",[],", which ",{"_key":247,"_type":66,"marks":248,"text":249},"813d2f7bac889",[114],"did",{"_key":251,"_type":66,"marks":252,"text":253},"813d2f7bac8810",[]," work. (By the way, have you ever read anything scarier than ",{"_key":255,"_type":66,"marks":256,"text":258},"813d2f7bac8811",[257],"19f0dbcb9c94","RAID controller bugfix change histories?",{"_key":260,"_type":66,"marks":261,"text":262},"813d2f7bac8812",[]," brrr. The latest patch was January 9th!) There were still some performance oddities until I updated the default (apparently very out of date) Windows Server 2008 driver to a newer version I downloaded from Lenovo's website. The moral of this story? See above. ",{"_key":264,"_type":66,"marks":265,"text":266},"813d2f7bac8813",[109],"Update the damn firmware and OS drivers to the very latest versions as soon as you get the servers, not weeks later!",{"_key":268,"_type":66,"marks":269,"text":270},"813d2f7bac8814",[]," You'll save yourself (and your vendor) a lot of hassle. I've done a fair bit of burn-in testing on all the servers, typical stuff like multiple instances of Prime95. but I paid special attention to the RD120 as it will be our database server. Brent Ozar, our ",{"_key":272,"_type":66,"marks":273,"text":275},"813d2f7bac8815",[274],"efa7b42f044d","friendly neighborhood DBA ninja",{"_key":277,"_type":66,"marks":278,"text":279},"813d2f7bac8816",[],", recommended I configure the six-drive array thusly:",[281,283,285,287],{"_key":231,"_type":80,"href":282,"reference":82},"http:\u002F\u002Fwww-947.ibm.com\u002Fsystems\u002Fsupport\u002Fsupportsite.wss\u002Fdocdisplay?lndocid=MIGR-61707&brandind=5000008",{"_key":240,"_type":80,"href":284,"reference":82},"http:\u002F\u002Fwww-947.ibm.com\u002Fsystems\u002Fsupport\u002Fsupportsite.wss\u002Fdocdisplay?brandind=5000008&lndocid=MIGR-5073646",{"_key":257,"_type":80,"href":286,"reference":82},"ftp:\u002F\u002Fftp.software.ibm.com\u002Fsystems\u002Fsupport\u002Fsystem_x\u002Fibm_fw_aacraid_5.2.0-15421_anyos_32-64.chg",{"_key":274,"_type":80,"href":288,"reference":82},"http:\u002F\u002Fwww.brentozar.com\u002F",{"_key":290,"_type":62,"children":291,"level":194,"listItem":296,"markDefs":297,"style":83},"ce3d9496d1e1",[292],{"_key":293,"_type":66,"marks":294,"text":295},"ce3d9496d1e10",[],"Two drive RAID 1 mirror -- Operating System, SQL Server 2008, and Logfiles","bullet",[],{"_key":299,"_type":62,"children":300,"level":194,"listItem":296,"markDefs":305,"style":83},"639fc1472e4b",[301],{"_key":302,"_type":66,"marks":303,"text":304},"639fc1472e4b0",[],"Four drive RAID 10 array -- Database files",[],{"_key":307,"_type":53,"alt":308,"asset":309,"markDefs":82},"3774da36bcaf","so-db-config-serveraid-manager",{"_ref":310,"_type":89},"image-869395ea4596880ce77ed8fb67a02d9a5438364d-564x239-png",{"_key":312,"_type":62,"children":313,"markDefs":327,"style":83},"9ab26d396949",[314,318,323],{"_key":315,"_type":66,"marks":316,"text":317},"9ab26d3969490",[],"I made it so, and I ran ",{"_key":319,"_type":66,"marks":320,"text":322},"9ab26d3969491",[321],"a79d7da25e17","some tests with SQLIO",{"_key":324,"_type":66,"marks":325,"text":326},"9ab26d3969492",[]," to verify that the data file array had good performance characteristics. I created a 24 GB test file on the array, and used this syntax:",[328],{"_key":321,"_type":80,"href":329,"reference":82},"http:\u002F\u002Fblogs.mssqltips.com\u002Fblogs\u002Fchadboyd\u002Farchive\u002F2008\u002F03\u002F16\u002Fssd-and-sql-sqlio-performance.aspx",{"_key":331,"_type":332,"code":333,"markDefs":82},"85d4e519d5e8","code","sqlio -k{R\u002FW} -t8 -s120 -d{drive} -o16 -f{random\u002Fsequential} \n      -b{kilobytes} -BH -LS Testfile.dat",{"_key":335,"_type":62,"children":336,"markDefs":384,"style":83},"0b72c26dbdfd",[337,341,345,349,354,358,362,366,371,375,380],{"_key":338,"_type":66,"marks":339,"text":340},"0b72c26dbdfd0",[],"That means 8 threads, for 120 seconds, hardware buffering only, 16 outstanding I\u002FO operations per thread. 1kb sequential writes 19.18 mb\u002Fsec 6ms 8kb random reads 26.90 mb\u002Fsec 36ms 8kb random writes 64.65 mb\u002Fsec 15ms 64kb sequential reads 344.77 mb\u002Fsec 22ms 64kb sequential writes 359.32 mb\u002Fsec 21ms 128kb sequential reads 395.40 mb\u002Fsec 39ms 128kb sequential writes 413.90 mb\u002Fsec 38ms 256kb sequential reads 464.85 mb\u002Fsec 68ms 1mb sequential reads 458.50 mb\u002Fsec 278ms This compares ",{"_key":342,"_type":66,"marks":343,"text":344},"0b72c26dbdfd1",[114],"very",{"_key":346,"_type":66,"marks":347,"text":348},"0b72c26dbdfd2",[]," favorably with the extremely expensive SAN configuration ",{"_key":350,"_type":66,"marks":351,"text":353},"0b72c26dbdfd3",[352],"0ecda6883590","Chad tested",{"_key":355,"_type":66,"marks":356,"text":357},"0b72c26dbdfd4",[]," (it's labelled Server #2 in his charts). ",{"_key":359,"_type":66,"marks":360,"text":361},"0b72c26dbdfd5",[109],"Behold the power of inexpensive SATA drives in a directly connected RAID 10 array!",{"_key":363,"_type":66,"marks":364,"text":365},"0b72c26dbdfd6",[]," It would have been even faster if had we gone with a six drive array, but we felt that the OS needed to be on a separate set of spindles. I also did a quick run of ",{"_key":367,"_type":66,"marks":368,"text":370},"0b72c26dbdfd7",[369],"33531fbd6bc2","SQLIOSim",{"_key":372,"_type":66,"marks":373,"text":374},"0b72c26dbdfd8",[],", which completed fine but produced a few warnings about long IO requests -- but ",{"_key":376,"_type":66,"marks":377,"text":379},"0b72c26dbdfd9",[378],"5fdbf9400942","apparently that's to be expected",{"_key":381,"_type":66,"marks":382,"text":383},"0b72c26dbdfd10",[],".",[385,386,388],{"_key":352,"_type":80,"href":329,"reference":82},{"_key":369,"_type":80,"href":387,"reference":82},"http:\u002F\u002Fsupport.microsoft.com\u002Fkb\u002F231619",{"_key":378,"_type":80,"href":389,"reference":82},"http:\u002F\u002Fwww.sqlteam.com\u002Fforums\u002Ftopic.asp?TOPIC_ID=83710",{"_key":391,"_type":62,"children":392,"markDefs":401,"style":402},"fac796008c6b",[393,397],{"_key":394,"_type":66,"marks":395,"text":396},"fac796008c6b0",[109],"SQLIOSim will generate sufficient IO requests to overwhelm almost any disk subsystem.",{"_key":398,"_type":66,"marks":399,"text":400},"fac796008c6b1",[]," The long IO message from the simulator are normal. Although this does tell you that at some point the disks won't keep up.",[],"blockquote",{"_key":404,"_type":62,"children":405,"markDefs":426,"style":83},"16c220d4ccaf",[406,410,415,419,423],{"_key":407,"_type":66,"marks":408,"text":409},"16c220d4ccaf0",[],"As Joel pointed out on the last podcast, me personally building up these servers makes zero business sense if you factor in the cost of my time. But I've also learned a ton about these servers and the ",{"_key":411,"_type":66,"marks":412,"text":414},"16c220d4ccaf1",[413],"22dabcf34972","server industry",{"_key":416,"_type":66,"marks":417,"text":418},"16c220d4ccaf2",[]," in general in the process. Stuff I feel like I need to know to operate these servers responsibly while they live at a remote data center. To me, that's worth it -- I feel like I've paid myself to learn. So here's to you, SOWEB1, SOWEB2, and SODB1. Long may you run, you ",{"_key":420,"_type":66,"marks":421,"text":422},"16c220d4ccaf3",[114],"magnificent bastards",{"_key":424,"_type":66,"marks":425,"text":383},"16c220d4ccaf4",[],[427],{"_key":413,"_type":80,"href":428,"reference":82},"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-networking?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link","2009\u002F01\u002F25","",{"_type":53,"asset":432},{"_ref":88,"_type":89},{"code":434,"language":435},"After many trials and tribulations, the \u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2009\u002F01\u002Fnew-stack-overflow-server-glamour-shots\u002F\">new Stack Overflow servers\u003C\u002Fa> are now ready to ship.\n\n\u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2009\u002F01\u002Fnew-stack-overflow-server-glamour-shots\u002F\">\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002FHPNwv.jpg\" alt=\"stackoverflow-servers-shipping-ready\" \u002F>\u003C\u002Fa>\n\nLadies and gentlemen, meet the newest members of the stackoverflow.com hardware family: SOWEB1, SOWEB2, and SODB1. That's right, I even labelled them with my black and silver sharpies.\n\nIt's been an awfully long month and a half since I originally asked \u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2008\u002F12\u002Fserver-hosting-rent-vs-buy\u002F\">whether we should rent servers or buy them\u003C\u002Fa>. I've finished burn-in testing on all three servers and I am totally confident (barring any shipping disasters) they'll arrive at our hosting provider ready to slide into a rack and \"just work\". The benefit to you is that we \u003Cstrong>make stackoverflow.com even speedier than it already is, and \u003Cem>far\u003C\u002Fem> more scalable\u003C\u002Fstrong>.\n\nI learned quite a bit in building up these servers, and I certainly paid my dues in the process. So you'll forgive me if I took the liberty of personalizing our servers a little bit.\n\n\u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2009\u002F01\u002Fnew-stack-overflow-server-glamour-shots\u002F\">\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002FXUDpc.jpg\" alt=\"stackoverflow-lenovo-rd120-shipping-ready\" \u002F>\u003C\u002Fa>\n\nThat's right, I build my servers with an extra-special ingredient: \u003Cstrong>love\u003C\u002Fstrong>. And \u003Ca href=\"http:\u002F\u002Fwww.codinghorror.com\u002Fblog\u002Farchives\u002F000761.html\">if loving these computers is wrong, I don't wanna be right\u003C\u002Fa>.\n\nI guess I was inspired by \u003Ca href=\"http:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAmiga_1000\">the old Amiga A1000 I used to own\u003C\u002Fa>, which had the signatures of the designers molded into the underside of the case.\n\n\u003Ca href=\"\u002Fimages\u002Fwordpress\u002Famiga-a1000-signatures-large.jpg\">\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002Famiga-a1000-signatures.jpg\" alt=\"amiga-a1000-signatures\" \u002F>\u003C\u002Fa>\n\nOf course I'm just a schmuck who assembled some parts, and these guys were actual hardware design gurus far ahead of their time, but you know what I mean.\n\nIn particular, I have to emphasize two things I learned. If you're building up servers, \u003Cstrong>make sure you do these two things as soon as they arrive:\u003C\u002Fstrong>\n\n\u003Col>\n    \u003Cli>Update the BIOS and RAID firmware to the latest possible versions.\u003C\u002Fli>\n    \u003Cli>Make sure you have the latest operating system drivers.\u003C\u002Fli>\n\u003C\u002Fol>\n\nI'm no stranger to BIOS updates and firmware flashes for my desktops and consumer hardware, but I was hesitant to mess with the firmware on a server. I figured if it ain't broke, don't fix it, that sort of thing. Well, I was wrong.\n\nThe RD120 server demanded a BIOS flash as soon as I installed the slightly newer CPUs I ordered for it. No problem; that's fairly typical for newer CPUs. Done and done.\n\nWhat was much more unusual, however, was the way \u003Cstrong>RAID port #6 refused to operate on the server\u003C\u002Fstrong>. RAID ports #1 through #5 worked like a champ, but not #6. I ordered a grand total of 12 hard drives (6 + 2 + 2 + 2 spares), and I tried three of them in that port, to no avail. It would see the drive, then reject it within a few minutes. I figured this had to be a hardware problem so I called Lenovo. They dispatched a very friendly tech the next day who came out and replaced the RAID backplane. Unfortunately, this didn't fix the problem! After he troubleshot it for a bit, I got a lecture about using \"non-Lenovo\" industry standard SATA hard drives in a server. I actually have two official Lenovo 160 GB drives here, but he wouldn't use those either as they're not on the parts list for the RD120, somehow. I insisted, and we inserted the drive. To my amazement, this worked. I hadn't even considered putting in a different \u003Cem>brand\u003C\u002Fem> of drive. I thanked the tech, and after he left I tried another random SATA drive I have here. It too worked!\n\n(As an aside, I had a rip of a time finding the Windows app that shows you the status of \u002F lets you control the RAID arrays, but I eventually dug it up -- the \u003Ca href=\"http:\u002F\u002Fwww-947.ibm.com\u002Fsystems\u002Fsupport\u002Fsupportsite.wss\u002Fdocdisplay?lndocid=MIGR-61707&amp;brandind=5000008\">IBM ServeRAID application\u003C\u002Fa>. Thanks for nothing, Lenovo!)\n\nAt this point I belatedly realized what my problem was. As soon as I got the RAID controller updated with the latest firmware, all my problems magically went away -- RAID port #6 started working perfectly with the original drives. I would have done this earlier, but Lenovo's update download didn't work for me, so I had to call support to get a pointer to the \u003Ca href=\"http:\u002F\u002Fwww-947.ibm.com\u002Fsystems\u002Fsupport\u002Fsupportsite.wss\u002Fdocdisplay?brandind=5000008&amp;lndocid=MIGR-5073646\">IBM ServeRAID 8k series bootable ISO update\u003C\u002Fa>, which \u003Cem>did\u003C\u002Fem> work. (By the way, have you ever read anything scarier than \u003Ca href=\"ftp:\u002F\u002Fftp.software.ibm.com\u002Fsystems\u002Fsupport\u002Fsystem_x\u002Fibm_fw_aacraid_5.2.0-15421_anyos_32-64.chg\">RAID controller bugfix change histories?\u003C\u002Fa> brrr. The latest patch was January 9th!) There were still some performance oddities until I updated the default (apparently very out of date) Windows Server 2008 driver to a newer version I downloaded from Lenovo's website.\n\nThe moral of this story? See above. \u003Cstrong>Update the damn firmware and OS drivers to the very latest versions as soon as you get the servers, not weeks later!\u003C\u002Fstrong> You'll save yourself (and your vendor) a lot of hassle.\n\nI've done a fair bit of burn-in testing on all the servers, typical stuff like multiple instances of Prime95. but I paid special attention to the RD120 as it will be our database server. Brent Ozar, our \u003Ca href=\"http:\u002F\u002Fwww.brentozar.com\u002F\">friendly neighborhood DBA ninja\u003C\u002Fa>, recommended I configure the six-drive array thusly:\n\n\u003Cul>\n    \u003Cli>Two drive RAID 1 mirror -- Operating System, SQL Server 2008, and Logfiles\u003C\u002Fli>\n    \u003Cli>Four drive RAID 10 array -- Database files\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002Fso-db-config-serveraid-manager.png\" alt=\"so-db-config-serveraid-manager\" \u002F>\n\nI made it so, and I ran \u003Ca href=\"http:\u002F\u002Fblogs.mssqltips.com\u002Fblogs\u002Fchadboyd\u002Farchive\u002F2008\u002F03\u002F16\u002Fssd-and-sql-sqlio-performance.aspx\">some tests with SQLIO\u003C\u002Fa> to verify that the data file array had good performance characteristics. I created a 24 GB test file on the array, and used this syntax:\n\n\u003Cpre>\u003Ccode>sqlio -k{R\u002FW} -t8 -s120 -d{drive} -o16 -f{random\u002Fsequential} \n      -b{kilobytes} -BH -LS Testfile.dat\u003C\u002Fcode>\u003C\u002Fpre>\n\nThat means 8 threads, for 120 seconds, hardware buffering only, 16 outstanding I\u002FO operations per thread.\n\n\u003Ctable width=\"450\" cellspacing=\"2\" cellpadding=\"2\">\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>1kb sequential writes\u003C\u002Ftd>\n\u003Ctd align=\"right\">19.18 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">6ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>8kb random reads\u003C\u002Ftd>\n\u003Ctd align=\"right\">26.90 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">36ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>8kb random writes\u003C\u002Ftd>\n\u003Ctd align=\"right\">64.65 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">15ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>64kb sequential reads\u003C\u002Ftd>\n\u003Ctd align=\"right\">344.77 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">22ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>64kb sequential writes\u003C\u002Ftd>\n\u003Ctd align=\"right\">359.32 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">21ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>128kb sequential reads\u003C\u002Ftd>\n\u003Ctd align=\"right\">395.40 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">39ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>128kb sequential writes\u003C\u002Ftd>\n\u003Ctd align=\"right\">413.90 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">38ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>256kb sequential reads\u003C\u002Ftd>\n\u003Ctd align=\"right\">464.85 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">68ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>1mb sequential reads\u003C\u002Ftd>\n\u003Ctd align=\"right\">458.50 mb\u002Fsec\u003C\u002Ftd>\n\u003Ctd align=\"right\">278ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\nThis compares \u003Cem>very\u003C\u002Fem> favorably with the extremely expensive SAN configuration \u003Ca href=\"http:\u002F\u002Fblogs.mssqltips.com\u002Fblogs\u002Fchadboyd\u002Farchive\u002F2008\u002F03\u002F16\u002Fssd-and-sql-sqlio-performance.aspx\">Chad tested\u003C\u002Fa> (it's labelled Server #2 in his charts). \u003Cstrong>Behold the power of inexpensive SATA drives in a directly connected RAID 10 array!\u003C\u002Fstrong> It would have been even faster if had we gone with a six drive array, but we felt that the OS needed to be on a separate set of spindles.\n\nI also did a quick run of \u003Ca href=\"http:\u002F\u002Fsupport.microsoft.com\u002Fkb\u002F231619\">SQLIOSim\u003C\u002Fa>, which completed fine but produced a few warnings about long IO requests -- but \u003Ca href=\"http:\u002F\u002Fwww.sqlteam.com\u002Fforums\u002Ftopic.asp?TOPIC_ID=83710\">apparently that's to be expected\u003C\u002Fa>.\n\n\u003Cblockquote>\u003Cstrong>SQLIOSim will generate sufficient IO requests to overwhelm almost any disk subsystem.\u003C\u002Fstrong> The long IO message from the simulator are normal. Although this does tell you that at some point the disks won't keep up.\u003C\u002Fblockquote>\n\nAs Joel pointed out on the last podcast, me personally building up these servers makes zero business sense if you factor in the cost of my time. But I've also learned a ton about these servers and the \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-networking?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">server industry\u003C\u002Fa> in general in the process. Stuff I feel like I need to know to operate these servers responsibly while they live at a remote data center. To me, that's worth it -- I feel like I've paid myself to learn.\n\nSo here's to you, SOWEB1, SOWEB2, and SODB1. Long may you run, you \u003Cem>magnificent bastards\u003C\u002Fem>.","html","2009-01-25T12:00:00.000Z",{"current":438},"new-stack-overflow-servers-ready",[440,448],{"_createdAt":441,"_id":442,"_rev":443,"_type":444,"_updatedAt":441,"slug":445,"title":447},"2023-05-23T16:43:21Z","wp-tagcat-company","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":446},"company","Company",{"_createdAt":441,"_id":449,"_rev":443,"_type":444,"_updatedAt":441,"slug":450,"title":452},"wp-tagcat-server",{"current":451},"server","Server","New Stack Overflow Servers Ready",[455,461,467,473],{"_id":456,"publishedAt":457,"slug":458,"sponsored":82,"title":460},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":459},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":462,"publishedAt":463,"slug":464,"sponsored":82,"title":466},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":465},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":468,"publishedAt":469,"slug":470,"sponsored":82,"title":472},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":471},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":474,"publishedAt":475,"slug":476,"sponsored":82,"title":478},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":477},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":480,"sourceMap":-1},{"count":481,"lastTimestamp":82},0]