DEV Community

Daniel Ioni
Daniel Ioni

Posted on

Scaling MyZubster Infrastructure: Expanding LVM Storage and Getting Our Monero Node Syncing Again

Scaling MyZubster Infrastructure: Expanding LVM Storage and Getting Our Monero Node Syncing Again

Today we solved a very real infrastructure problem in the MyZubster development environment.

Our self-hosted Monero node was synchronizing the blockchain when the VPS root filesystem reached 100% disk usage.

The daemon was still running, but blockchain synchronization had effectively stopped progressing.

The problem

Our initial root filesystem was approximately:

Filesystem Type Size Used Avail Use%
/dev/mapper/lv-root ext4 79G 78G 0 100%

The Monero blockchain database alone had grown to around 50 GB.

The daemon reported:

{
"busy_syncing": true,
"synchronized": false
}

but the blockchain height was no longer moving normally.

Deleting the blockchain would have defeated the purpose.

We needed more infrastructure.

Upgrading the VPS

We expanded the underlying VPS disk to 320 GiB.

Linux could see the new disk capacity:

sda 320G

but the root logical volume remained:

lv-root 79.5G

This is an important distinction.

Increasing a virtual disk does not necessarily increase the filesystem living on it.

Our storage stack looked roughly like this:

VPS virtual disk

GPT partition table

LVM physical volumes

Volume Group

Logical Volume

ext4 filesystem

/
Expanding the partition

After updating the GPT to recognize the enlarged virtual disk, we verified the available space.

Approximately 258 GB existed after the existing fourth partition.

We expanded /dev/sda4 to use the remaining disk.

Afterwards:

sda 320G
├─sda1 1M
├─sda2 512M /boot
├─sda3 19.5G
└─sda4 300G

But LVM still needed to learn about that additional capacity.

Resizing the LVM physical volume

We resized the physical volume:

pvresize /dev/sda4

LVM then reported:

PV VG PSize PFree
/dev/sda3 lv <19.50g 0
/dev/sda4 lv <300.00g 240.00g

Our volume group now had approximately 240 GB of free capacity.

Expanding the root logical volume

The remaining free extents were assigned to the root logical volume while also resizing the filesystem:

lvextend -l +100%FREE -r /dev/mapper/lv-root

LVM successfully changed the logical volume from:

79.49 GiB

to:

319.49 GiB

and resize2fs expanded the mounted ext4 filesystem online.

No server reinstall was necessary.

Result

The final filesystem looked like this:

Filesystem Type Size Used Avail Use%
/dev/mapper/lv-root ext4 315G 78G 236G 25%

We went from:

100% disk usage → 25% disk usage

with roughly 236 GB available.

Did Monero start syncing again?

Yes.

Immediately after the storage issue was resolved, we monitored the local RPC:

curl -s http://127.0.0.1:18081/get_info

The blockchain height progressed:

2,840,296

2,840,836

2,840,936

while the target was:

3,749,362

The daemon still reports:

{
"busy_syncing": true,
"synchronized": false
}

which is exactly what we expect while it catches up with the network.

The important difference is that the height is moving again.

Why are we running this infrastructure?

MyZubster is still under active development, and part of that development involves understanding decentralized infrastructure beyond simply calling third-party APIs.

We're experimenting with a stack involving:

Monero

Node / RPC

Wallet & payment verification

MyZubster services

Evidence / application workflows

Operating the infrastructure exposes problems that aren't visible in a mock environment.

Disk capacity, blockchain growth, synchronization, RPC availability, wallet services, monitoring and recovery all become part of the engineering problem.

And that's valuable.

Next steps

The immediate priority is simple:

Complete Monero synchronization

Verify RPC stability

Test wallet/payment flows

Connect verification services

Integrate with MyZubster workflows

We're also continuing development around environmental data, mapping, evidence verification, community participation and the broader MyZubster ecosystem.

Sometimes progress isn't a new UI or feature.

Sometimes progress is discovering that your blockchain node consumed the server, expanding an LVM filesystem from ~80 GB to ~320 GB, and watching the block height finally start moving again.

That's building infrastructure in the real world.

Tags: #opensource #devops #linux #blockchain

Suggested DEV.to title:
Scaling MyZubster: How We Expanded LVM Storage and Restarted Monero Blockchain Sync

Top comments (0)