Thinking about how to add some SSDs on my home machine
It all started when I upgraded from Fedora 24 to Fedora 25 on my office workstation and then my home machine in close succession, and the work upgrade went much faster because my root filesystem was on SSDs. This finally pushed me over the edge to get a pair of SSDs for my home machine, as I've known I should do for a while. I now actually have the SSDs, but, well, I haven't put them into my home machine yet. You might wonder why, so let me put it this way: the next case I get will have at least six drive bays.
My current case has four drive bays (well, four conveniently usable 3.5" drive bays), and all four drive bays are used; two for the mirrored pair of system HDs, and two for the mirrored pair of data HDs. The SSDs will be replacing the system HDs (and pulling in things like my home directory filesystem from the data HDs), but I can't exactly unplug the HDs and put in the SSDs; I need to shift over, and to do that I need to temporarily have the SSDs in the system too. So I've been mulling over how best to do that, and in the mean time my SSDs have just been sitting there.
(If I had six drive bays it would be easy and I would have shoved in the SSDs almost immediately. And the delay is not just because I've been thinking; it's also because shuffling everything around is going to be kind of a hassle however I do it, and so I keep putting it off in favor of more interesting and pleasant things.)
I have a 3.5" to 2.5" dual SSD adaptor for the SSDs (I'm also using one at work), so a single open 3.5" drive bay will allow me to put both into the machine. A number of potential approaches have occurred to me:
- My case has some 5.25" drive bays, which I'm not using. Maybe I could
just temporarily rest the dual adaptor on the bottom of that area, run
cables to it, and have that work. (The deluxe version would be to put
the 3.5" to 2.5" adaptor in a 5.25" to 3.5" adaptor, but I don't have
one of the latter sitting around and that feels like a lot of work.)
- I could just temporarily run with the side of the case open and cables
running to the SSDs. Don't laugh, one co-worker has been running with
his machine opened up like this for years. It'd be awkward for me,
though, because of where everything is physically (my co-worker has his
open machine on his desk).
- I could deliberately break the mirror of my system disks, remove one, and put the two SSDs in the drive slot freed up by that. It's not very likely that the remaining system disk will fail while I'm shifting over, and if it does I have the other system disk to swap back in.
Breaking the system disk mirror and removing one of the disks strikes me as the least crazy plan. However, it means I get to find out if my Fedora system is set up so that it will actually boot when one of the system disks goes away, or if it will throw up its hands because the shape of the RAID array is not exactly what it wants (this has been known to happen under some circumstances, although that wasn't a disk going missing). Certainly I'd hope that my Fedora 25 system will boot without problems there, but between general issues and systemd I don't have complete confidence here, and I can imagine scenarios that end up with me having to boot a rescue environment and try to glue my system back together again by hand.
(My system disk mirror doesn't just have the root filesystem; it
/boot and swap, each as mirrored things. So systemd
needs to be willing to bring up several RAID arrays in degraded
mode in order to be able to get everything in
I expect that the easiest way to test this is to open the case up,
shut the system down, pull the power connector for one of my system
disks, and then try to boot the system. If it fails, I can shut
everything down, plug the power connector back in, and hopefully
everything will be back to being happy with the world. It would
probably be more proper to take the disk offline in
that may be less easily reversed if things then explode.
(My plan for the SSDs are about a 100 GB ext4 root filesystem (which
will also get
/boot), a bit of swap space, and then the rest of
the space in a ZFS pool. The pool will get my home directory and
various other things that fit where I care either about speed or
about having ZFS's checksums for the data.)