A new feature may bring automatic disk storage expansion to Linux on Chromebooks. Based on my interpretation of the current, in-progress code, the feature is called Storage Ballooning. And it already supports Borealis, which is the Steam gaming container coming to Chromebooks.
This makes sense because when you enable Linux on Chromebooks, you have to choose the amount of storage you want for the Linux container. In my usage, I’ve always seen a default recommendation of 10 GB for the Linux disk. And you can later resize that storage block as Chromebooks gained that ability around ChromeOS 75.
While that’s a good solution, a better one would be to have ChromeOS monitor the Linux on Chromebooks disk storage. And based on the available amount of storage, it should expand the capacity, if possible.
This way, you can be using Linux and not run into an out-of-storage message. In that case, you’d have to manually resize the disk. What a drag!
The Storage Ballooning code looks to watch for several disk usage levels and attempts to adjust storage size:
As I mentioned, this feature is already supported by the Borealis container that will run Steam games on a Chromebook.
From the code change description:
Storage ballooning is currently only being used by borealis. CL adds a handler to the StatefulDiskStateUpdate signals from spacedfor maitred. Maitred then inflates/fallocate its balloon to artificially limit disk resources.
And that makes total sense, given that some PC games can take up gobs of storage. I don’t have many top-tier games but even some of my older titles use up to 40 GB of storage. With Storage Ballooning support, large game downloads can be accommodated on the fly.
Regardless of needing this for games or other desktop apps on a Chromebook, this should be a useful feature for Linux users.
2 Comments
I hope that this would also allow the storage size to be distinct for each container. My Chromebook is low on space because I have four containers, and one of them has a lot of storage needs.
Yes, that is a great idea. Incidentally, how does crosvm handle external/expanded storage? When I get the Acer Chromebook Vero, I am totally going to follow your advice and use the M.2 slot for a 512 GB SSD and have it replace my (Intel Core i5) MacBook Pro as my daily driver. I am not going to do anything crazy like LVM – not a sysadmin after all – but if Google has fixed the issues with external SSDs and crosvm that existed in the past that would make things a lot easier.