I have Fedora 34 installed on a Dell system with a 256 Mb SSD and a 2 Tb hard disk.
As far as I can tell, Fedora and most other things are installed on the SSD.
Given that SSDs can crash without warning after several years’ use, how
can I make the hard disk bootable in case/when the SSD fails (without zapping
the rest of the hard disk’s contents)? And how can I know where my data are
stored - on the SSD or the hard disk?
The typical strategy is to have a backup of your /home directory. In the case of a disk failure, it’s easy enough to replace the drive and reinstall the OS from an ISO. But it’s really your personal data in the /home directory that needs to be kept somewhere as a duplicate. There are a number of Linux applications that can manage backing up your data:
Do you need the content of the HDD as a “active mirror” of your SSD?
Do you need to boot from HDD transparently in case of your SSD failure?
etc, etc
If start from fresh, below is what I will do:
In “BIOS”, set SSD as 1st boot device. Install Fedora normally (to SSD)
Then in “BIOS” set HDD as 1st boot device. Install Fedora normally (to HDD) again.
For normal use, set SSD as 1st boot device and HDD as 2nd boot device.
For this setup, Fedora in HDD is not in sync with Fedora in SSD. But it it easy to setup.
Then, you can use Backup Applications to backup your SSD data to HDD.
As you have Fedora already running in SSD and having data in HDD, can skip SSD installation. But you need to use programs to resize / move your partitons in your HDD - such as Gparted.
Similar to what @sampsonf said, it would be very easy to create a raid 1 (mirrored) array with partitions on the HDD that match the partitions on the SSD. Then everything would stay in sync and a failure would not cause an interruption. When you got notice of a drive failure simply replace it.
This would guard against data loss with failure of the SSD, but not against loss of data in the larger HDD if the damage were outside the portion that was mirrored.