agama-project / agama

A service-based Linux installer
https://agama-project.github.io/
GNU General Public License v2.0
144 stars 43 forks source link

Install on a small disk auto partition #1159

Open bittin opened 7 months ago

bittin commented 7 months ago

Hey!

The auto partitioner does not really work that well with just a 20GB disk in a gnome-boxes VM as i have to make the swap 8GB instead of 5GB and the main drive 10GB instead of 15GB

imagea

What is the recommended size on the disk to install openSUSE Tumbleweed with Agama now, or can the auto partitioner work better with smaller disks?

lslezak commented 7 months ago

The swap partition size was recently changed to reflect the RAM size. The more RAM the bigger swap. And the snapshots are enabled by default.

I do not know whether with all that features enabled 20GB disk is enough for a TW system.

Manual solutions:

I'm not sure if we can solve that somehow automatically. Each solution has some drawback and we do not know what the user would prefer. @ancorgs ?

bittin commented 6 months ago

The swap partition size was recently changed to reflect the RAM size. The more RAM the bigger swap. And the snapshots are enabled by default.

I do not know whether with all that features enabled 20GB disk is enough for a TW system.

Manual solutions:

* Decrease the swap size (or remove it completely)

* Disable snapshots

* Decrease the root size (Though I'm not sure how well will that work with snapshots. If you often update the TW packages then the system might run out of disk space pretty quickly...)

I'm not sure if we can solve that somehow automatically. Each solution has some drawback and we do not know what the user would prefer. @ancorgs ?

thats what i did tried to do another VM with 40GB disk size on a regular HDD (where i have more space them on my NVME disk today) and that seems to work out better

bittin commented 6 months ago

The swap partition size was recently changed to reflect the RAM size. The more RAM the bigger swap. And the snapshots are enabled by default. I do not know whether with all that features enabled 20GB disk is enough for a TW system. Manual solutions:

* Decrease the swap size (or remove it completely)

* Disable snapshots

* Decrease the root size (Though I'm not sure how well will that work with snapshots. If you often update the TW packages then the system might run out of disk space pretty quickly...)

I'm not sure if we can solve that somehow automatically. Each solution has some drawback and we do not know what the user would prefer. @ancorgs ?

thats what i did tried to do another VM with 40GB disk size on a regular HDD (where i have more space them on my NVME disk today) and that seems to work out better

yep worked better with more disk space

ancorgs commented 6 months ago

There are soooo many topics we could open based on this issue description. :wink:

I will try to not go too off-topic... but I can make no promises.

The initial proposal

It caught my eyes that you used the expression "auto partitioner", which already reveals some expectations.

YaST, as an installer, tries hard to always find a way to install into the system if the user just go "next, next, next" without even reading. That's what I call the "chicken installation" since even a chicken just pecking on the "enter" key would make it.

That implies YaST, in presence of a small disk, will automagically and transparently disable "enlarge swap to ram", "propose separate /home", "enable Btrfs snapshots" and whatever needs to be disabled in order to make sure the user just needs to click on "install".

For the storage proposal at Agama, we wanted to rethink that approach a bit. Nothing is written in stone yet, but you can check the About the Initial Proposal section of the document describing the new storage user interface. In short, if we deviate from the standard settings, we want that to be a conscious decision by the user. So Agama just tries to setup storage once - in the first disk and with the default settings. If that's not what the user wants, then the user has to visit the storage page and tell Agama what to do.

Standard settings and the size of swap

The other big topic here is why Agama tries to set a big swap by default when installing Tumbleweed. In that regard, a lot was written already at the "About the Approach" section of the original pull request that introduced the setting for Tumbleweed.

In short, Agama has a feature to specify automatic sizes for the file-systems and we want to rely on that feature in order to cover scenarios like the classical YaST "Enlarge to RAM Size for Suspend".

We may still need to refine the current solution in several ways. For example, making it possible for the product to specify that a given file-system should only observe the RAM size in certain situations (eg. ignore that in case of a virtual machine since suspending is usually not relevant there). But we didn't want to start with a completely Ad Hoc implementation for that "swap for suspend" thingie since the topic is WAY more controversial than it looks at first time.