Since the last week, for the first time in many years, I have a proper 
workstation-class computer. It contains many mass storage bays and I am now 
facing a new question.

My initial idea is to deploy a Guix system to one SSD and then successively 
transfer parts of the file system tree to new drives as I decide to buy them. 
One of the reasons for this is that I am not experienced with storage objects 
like RAID, and would like to take my time playing with them before proper use. 
However, I am currently using the workstation off of a USB stick and need to 
decide on an interim solution based on a real SSD.

In the systems I had installed on my laptops so far, I use filesystem labels 
to identify how to mount each of system partitions. While it is trivial to set 
up on a single storage device, it is no longer obvious how to design a complex 
storage solution with redundancy and replacement of parts. The core of the 
problem is that `guix system reconfigure` immediately switches to the new 
system generation and it is not documented how it deals with changed 
filesystem and device paths.

NixOS has a CLI option which clearly handles this complexity by building a new 
generation, pointing a new boot entry to it, but *not* switching to it 
immediately. It would be a nice addition to the guix interface, too, but I do 
not expect it to be implemented soon enough for me.

Suppose that I have a Guix System deployed all in one SSD. Next suppose that I 
define a new filesystem for `/gnu/store` on another SSD. How would the guix 
daemon handle this change? Would it try to use the new path immediately? Or 
would it read the new filesystem layout only on the next boot? Is there are a 
possibility of changing drives without race conditions?

Guix Community Member,
Marek Pasnikowski



Reply via email to