A virtual server running out of disk space is quite a common occurrence here. To protect applications and filesystems, we have decided to automate the response.
Even though vpsAdmin sends warnings from 90% usage, VPSes still run out of disk space. A full disk stops applications that use it from working and can also make it impossible to log in to the VPS and free up space manually.
We, as vpsFree.cz administrators, also deal with every individual case, because ZFS has historically had trouble working with full datasets (VPS disks). With dynamic block sizes and compression, ZFS does not know in advance how much space data will occupy on disk. To avoid exceeding the dataset's quota, it closes txgs early: these are transaction groups in which data is periodically written to disk. More frequent txgs then slow down every VPS.
Another factor is that we have encountered race conditions in these situations that can stop I/O on the node and require a reset. We have modified ZFS not to close txgs early, instead allowing the quota to be exceeded within a single txg. But we still do not want to risk an outage, and monitoring sends us an SMS when a VPS dataset fills up. When several VPSes do this and members do not respond, it is quite exhausting for us.
vpsAdmin will therefore now automatically enlarge datasets in VPSes running out of space. Expansion happens when less than 512 MiB remains, or less than 1% of total capacity. We increase the disk by 20 GiB or 10% of capacity, whichever is larger. Expansion can happen up to 3 times, and you have 30 days from the first expansion to address it. After that, the VPS will be shut down repeatedly until dataset usage is back within its original size or we agree on a permanent increase.
The original size is restored automatically when there is at least 1 GiB and 5% free space available. You can also change the size at any time in the VPS details in vpsAdmin.
Zdravím, z článku není jasné, ke čemu se jasně vztahuje automatické zvětšování datasetu ve VPS a následnému případnému vypínání VPS. Tedy konkrétně vztahy a chování k datasetu ve VPS jako takovému s chování k subdatasetu ve VPS.
Také jako člen mám přidělenou nějakou kapacitu k využití a následně se dozvídám, pokud to chápu správně, že nyní již jí nemohu využívat prakticky celou přidělenou kapacitu, tedy pouze jen na přechodnou dobu. Tedy vždy musím nechat volné místo 512 MiB (či méně než 1 % celkové kapacity), prakticky ale 1 GiB (či 5 % volného místa celkové kapacity), pokud nechci riskovat vypnutí VPS. Z mého pohledu to není správné a měly se dané restrikce nastavit tak, aby docházelo k omezení daného člena až nad přidělenou kapacitu, nikoliv již pod tuto úrovně. Předem děkuji k vyjádření.
Komentář někde zapadnul a objevil se až teď, takže reaguji nyní. Automatické zvětšování se týká všech datasetů VPS, tj. včetně subdatasetů. K vypnutí VPS dojde jen pokud překročíš původní velikost a je tam i 5 GB rezerva, tj. sepne to až když překročíš původní velikost o 5 GB a uplyne 30 dní od rozšíření. Když se pohybuješ takhle na hraně, dataset bude dlouhodobě rozšířen, s tím se počítá.