It looks like !buildapc community isn't super active so I apologize for posting here. Mods, let me know if I should post there instead.
I built my first PC when I was I think 10-11 years old. Built my next PC after that and then sort of moved toward pre-made HP/Dell/etc. My last PC's mobo just gave out and I'm looking to replace the whole thing. I've read over the last few years that prefabs from HP/Dell/etc. have gone to shit and don't really work like they used to. Since I'm looking to expand comfortably, I've been thinking of giving building my own again.
I remember when I was a young lad, that there were two big pain points when putting the rig together: motherboard alignment with the case (I shorted two mobos by having it touch the bare metal of the grounded case; not sure how that happened but it did) and CPU pin alignment so you don't bend any pins when inserting into the socket.
Since it's been several decades since my last build, what are some things I should be aware of? Things I should avoid?
For example, I only recently learned what M.2 SSD are. My desktop has (had) SATA 3.5" drives, only one of which is an SSD.
I'll admit I am a bit overwhelmed by some of my choices. I've spent some time on pcpartpicker and feel very overwhelmed by some of the options. Most of my time is spent in code development (primarily containers and node). I am planning on installing Linux (Ubuntu, most likely) and I am hoping to tinker with some AI models, something I haven't been able to do with my now broken desktop due to it's age. For ML/AI, I know I'll need some sort of GPU, knowing only that NVIDIA cards require closed-source drivers. While I fully support FOSS, I'm not a OSS purist and fully accept that using a closed source drivers for linux may not be avoidable. Happy to take recommendations on GPUs!
Since I also host a myriad of self hosted apps on my desktop, I know I'll need to beef up my RAM (I usually go the max or at least plan for the max).
My main requirements:
- Intel i7 processor (I've tried i5s and they can't keep up with what I code; I know i9s are the latest hotness but don't think the price is worth it; I've also tried AMD processors before and had terrible luck. I'm willing to try them again but I'd need a GOOD recommendation)
- At least 3 SATA ports so that I can carry my drives over
- At least one M.2 port (I cannibalized a laptop I recycled recently and grabbed the 1TB M.2 card)
- On-board Ethernet/NIC (on-board wifi/bluetooth not required, but won't complain if they have them)
- Support at least 32 GB of RAM
- GPU that can support some sort of ML/AI with DisplayPort (preferred)
Nice to haves:
- MoBo with front USB 3 ports but will accept USB 2 (C vs A doesn't matter)
- On-board sound (I typically use headphones or bluetooth headset so I don't need anything fancy. I mostly listen to music when I code and occasionally do video calls.)
I threw together this list: https://pcpartpicker.com/list/n6wVRK
It didn't matter to me if it was in stock; just wanted a place to start. Advice is very much appreciated!
EDIT: WOW!! I am shocked and humbled by the great advice I've gotten here. And you've given me a boost in confidence in doing this myself. Thank you all and I'll keep replying as I can.
I went through the same process myself a couple years ago, first PC build in a while. The biggest shock for me was finding out hard drives (SSD, HHD, etc) were outdated: its all about NVMe cards which look like a stick of RAM and plug directly on the motherboard.
Unless you want a bunch of storage and modularity. The benefit to Sata is that it is much more flexible and Sata SSD's are cheaper and can be put in a ZFS raid to increase maximum speeds.
I've gone back and forth on whether I need RAID locally. Giving up at least a third of your storage capacity (assuming RAID 5) for the off-chance that your hard drive dies in 3-4 years seems like a high price to pay. I had two drives fail in the lifespan of my current desktop. And I had enough warning from SMART that I could peel off the data before the drives bricked. I know I got lucky, but still...
If you're practicing 3-2-1 backups then you probably don't need to bother with RAID.
I can hear the mechanical keyboards clacking; Hear me out: If you're not committed to a regular backup strategy, RAID can be a good way to protect yourself against a sudden hard drive failure, at which point you can do an "oh shit" backup and reconsider your life choices. RAID does nothing else beyond that. If your data gets corrupted, the wrong bits will happily be synced to the mirror drives. If you get ransomwared, congratulations you now have two copies of your inaccessible encrypted data.
Skip the RAID and set up backups. It can be as simple as an external drive that you plug in once a week and run rsync, or you can pay for a service like backblaze that has a client to handle things, or you can set up a NAS that receives a nightly backup from your PC and then pushes a copy up to something like B2 or S3 glacier.
The only thing I'll add is that RAID is redundancy. Its purpose is to prevent downtime, not data loss.
If you aren't concerned with downtime, RAID is the wrong solution.
I know that this is the self-hosted community but I very much agree. The way I run my desktop is that I can, in most cases, lose my primary hard drive and I'll survive. It won't be pretty and I might have a few local repos that I haven't synced in a while but overall, it ain't bad.
Now, that doesn't mean I don't want my primary hard drive restored if I can do it. I've been lucky enough to be able to restore them from the drive. But if I can't, the most I lose is some config files, which I should start to version control but I get lazy.
I can't back up my media. It's just too big. But yar.
My greatest fear is losing my porn collection. 😅 But not enough to RAID.
I have nothing to add here. Your assessment is spot on.
Just go with Raid-1 then
I've been learning the same. Though, I don't get the sense that SATA is going out of style. I could be wrong though.
You're right, SATA isn't going anywhere for a very long time. If you have a need for 4+ TB of total storage there is nothing at all wrong using HDDs or 2.5" SSDs.
sata would be used more for secondary storage or for systems setup as network attached storage. the nvme m. 2 formfactor for ssds is more convenient for users as its both smaller and does not require the user to wire 2 cables to use it.
is that really a concern? 2 cables vs. pushing a card into the mobo?
The other poster said it's about convenience but that's not really true. The claim to fame for NVMe drives is speed: While SATA SSDs can theoretically run at up to 500 MB/s, the latest NVMe drives can hit 7000+ MB/s.
It's for this reason that you should pay attention to which NVMe drive you choose (if speed is what you're after). SATA-based M.2 drives exist -- and they run at SATA speeds -- so if you see a cheap M.2 drive for sale it's probably SATA and intended for bulk storage on laptops and SFF PCs without room for 2.5" drives. Double check the specs to be sure what you're getting.
I just checked the specs for the M.2 NVMe drive that I pulled from an old laptop. It's read speed is 3000mbs so it looks like I'm good there. Thanks for the heads up though.
Double-check the physical size of your NVME. Some laptops have a smaller M2 form factor than desktops.-
This is the reason why most of us have lived to NVMe. Speed, when compared to SATA, is ludicrous. But SATA is not going anywhere any time soon.
It frees up sata slots for your massive array of hard drives.
its more so the convenience factor. this also doesnt consider the hard drive mounting mechanism that youd spend time on as well, which limits case choice. with an m.2 drive, the drive can be installed outside of the case trivially