Signed up with Hetzner's 'unlimited' shared plan. Disk shows 20GB used, account suspended. Ticket says 'inode limit reached.' What is this, 2005? I thought we moved past filesystem-level tricks. Is this OpenVZ-style virtualization tax applied to ext4 now? Looking at their specs page again and it says nothing about inodes, just 'unlimited storage.' Anyone have hard numbers on what 'unlimited' actually maps to in practice across providers?
Why does my 'unlimited' host suspend at 20GB?
- Hetzner: 100k inodes = ~20GB if you store small files
- Vultr: 250k but they count dirs too
- OVHcloud: actually 500k, best ratio I've found
- Contabo: 50k, worst deal, avoid
My spreadsheet:
$/GB/RAM/inode is the real metric
Re-selling 'unlimited' is pre-destined for re-putation damage... the domain-backordered crowd knows this well... dropcatch a re-seller who re-stocks inode-limited 'unlimited' plans and watch the WHOIS change hands overnight... I re-commend checking the TOS pre-cancellation for re-fund clauses... many pre-pay annually and get pre-emptively locked in...
We didn't. ext4 defaults to 1 inode per 16KB of space. Create a million 1KB files and you've "used" 1GB of actual data while exhausting the entire inode table of a 16GB volume. Every provider knows this. The ones selling "unlimited" without mentioning it are counting on you not knowing.
Hetzner's shared plans run on Falkenstein and Nuremberg last I checked. Their inode limit isn't a secret if you dig into the product docs, but it's buried deep enough that most people miss it.
This. Can we make this a sticky? "Unlimited" is just a marketing tier. The real question is whether the inode limit scales with your disk or is fixed. Hetzner's doesn't scale on shared. OVHcloud at least bumps it with the plan tier.
I ran
df -i on my Hetzner Storage Box for comparison: 5M inodes on a 1TB plan. That's actually reasonable. The shared "unlimited" plan is a completely different product with a completely different limit. They don't make this clear.
Same here with Hostinger a few years back. "Unlimited" until I hit some invisible wall. Moved to a Hetzner CX11 and never looked back. At least with cloud VPS you know what you're buying.
Former support here. The ticket template for this is literally three sentences because it's not negotiable. The agent can't raise it. The system is automated. Your options are: delete files, upgrade to a plan with a higher limit (not "unlimited" shared), or migrate.
What burns people is that cPanel's disk usage report doesn't show inode count prominently. You have to dig or run shell commands most shared users don't know.
This is why I keep everything monthly even if it costs 10% more. The flexibility is worth it. I've migrated off three providers in the last two years when they changed terms mid-contract. Annual pricing is a trap for anything except dedicated where you're actually reserving hardware.
Also: my Contabo numbers above are from their VPS S plan. Their storage VPS is slightly better on inodes but the I/O is so bad you won't want to use it for lots of small files anyway.
This is tunable at mkfs time though. Any provider running shared hosting on default ext4 settings is either lazy or deliberately choosing the conservative number. You can set bytes-per-inode to 1KB and get 16x the inodes on the same disk. There's a metadata overhead but it's tiny.
Not saying Hetzner should do this, but it's a choice they made.
Following this thread with interest. Currently on OVHcloud's Personal plan in Gravelines, was considering Hetzner for price but this puts me off. How's their actual uptime been for people? The inode thing is annoying but if the box is rock solid otherwise...