I would like to replace all 3 spinning drives of a raidz pool with (smaller) SSDs: the smaller SSDs will still be more than adequate for my storage needs, and should be significantly faster.
The system has a limited number of SATA ports (4): 1 is in use for the system drive (which is already an SSD, and is sliced and partitioned using UFS2+SU); the other 3 ports are used for the raidz pool:
The pool has been in use since July 2015 -- and its sole use is building packages via poudriere:
Each of the current 3 drives is a 2TB "pull" from a ReadyNAS -- I figured that in the worst case, all of the data in the pool can be re-generated. And yeah, I could try that approach, but I'd like to try being a little less destructive about this exercise.
The SSDs are also "pulls"; they're 500GB each; I rather strongly suspect that trying to persuade ZFS to accept a quarter-sized SSD as a replacement for a spinning drive with no known defects is unlikely to turn out well.
It turns out that one of the file systems on the "system" drive had >90GB free, so I created gzipped tarballs of what is in /tank, so I have a backup (of sorts).
I think that (ideally), I'd like to make the current pool go away, remove the spinning drives, swap in the SSDs, set up a shiny new pool (re-using names, as I have a fair number of config files that use those names), restore the data, then continue as if nothing happened (expect the the pool isn't quite as empty, the machine is quieter, and package-building is a lot faster).
So... how do I do that (or something reasonably equivalent)? Or is this something "not recommended?" (Errr... A pointer to existing documentation I've managed to overlook would also be quite welcome.)
The system has a limited number of SATA ports (4): 1 is in use for the system drive (which is already an SSD, and is sliced and partitioned using UFS2+SU); the other 3 ports are used for the raidz pool:
Code:
freebeast(11.0-S)[1] zpool status
pool: tank
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ada1 ONLINE 0 0 0
ada2 ONLINE 0 0 0
ada3 ONLINE 0 0 0
errors: No known data errors
freebeast(11.0-S)[2]
The pool has been in use since July 2015 -- and its sole use is building packages via poudriere:
Code:
freebeast(11.0-S)[2] df -ht zfs
Filesystem Size Used Avail Capacity Mounted on
tank 3.5T 3.7G 3.5T 0% /tank
tank/poudriere 3.5T 25G 3.5T 1% /tank/poudriere
tank/poudriere/jails 3.5T 128K 3.5T 0% /tank/poudriere/jails
tank/poudriere/jails/11amd64 3.5T 1.0G 3.5T 0% /tank/poudriere/poudriere/jails/11amd64
freebeast(11.0-S)[3]
Each of the current 3 drives is a 2TB "pull" from a ReadyNAS -- I figured that in the worst case, all of the data in the pool can be re-generated. And yeah, I could try that approach, but I'd like to try being a little less destructive about this exercise.
The SSDs are also "pulls"; they're 500GB each; I rather strongly suspect that trying to persuade ZFS to accept a quarter-sized SSD as a replacement for a spinning drive with no known defects is unlikely to turn out well.
It turns out that one of the file systems on the "system" drive had >90GB free, so I created gzipped tarballs of what is in /tank, so I have a backup (of sorts).
I think that (ideally), I'd like to make the current pool go away, remove the spinning drives, swap in the SSDs, set up a shiny new pool (re-using names, as I have a fair number of config files that use those names), restore the data, then continue as if nothing happened (expect the the pool isn't quite as empty, the machine is quieter, and package-building is a lot faster).
So... how do I do that (or something reasonably equivalent)? Or is this something "not recommended?" (Errr... A pointer to existing documentation I've managed to overlook would also be quite welcome.)
Last edited by a moderator: