I'm curious if there's a practical use-case for using DRBD (Distributed Replicated Block Device) in Kubernetes environments. We're currently satisfied with cnPG and local storage for our Fast storage solutions, where replication is managed effectively by our controller tools. If I had to design an application from scratch, I'd lean towards using object storage, cnPG, or similar options along with a cache like Redis. Outside of legacy applications that require a block device, is there any situation today where DRBD makes sense?
5 Answers
In Kubernetes, local block storage definitely delivers the best performance and can provide high availability. However, if you already have high availability solutions like CloudNativePG in place, layering DRBD might not be necessary unless you're considering specific use cases where it could add value.
DRBD is primarily designed for block devices. Many applications still aren't optimized for object storage like S3, so DRBD plays a crucial role in replicating local storage across nodes, especially when using tools like Piraeus Operator that utilize DRBD with LINSTOR for management. Using DRBD directly might not be ideal anymore, but it can still be effectively managed by infrastructure teams.
If your applications rely heavily on block storage, you might find a good use for DRBD within Kubernetes. Many legacy applications exist that aren't designed for modern cloud-native setups but can still experience improved availability using DRBD. It's more about the kind of application you're running and how it handles its state.
While application-level replication tends to be better overall, block-level solutions like DRBD can be handy in certain scenarios, especially when traditional applications fail to work well with multiple replicas. They can benefit from having a more reliable and available block storage if nodes go down, allowing for easier rescheduling.
For prototyping, DRBD might have some use cases, but I personally wouldn't recommend it for production. In years of using LINSTOR with DRBD, we've seen great IOPS, so it can work if properly managed, though challenges in getting local storage from the infra team can complicate things in Kubernetes environments.

Related Questions
How to Build a Custom GPT Journalist That Posts Directly to WordPress
Fix Not Being Able To Add New Categories With Intuitive Category Checklist For Wordpress
Get Real User IP Without Installing Cloudflare Apache Module
How to Get Total Line Count In Visual Studio 2013 Without Addons
Install and Configure PhpMyAdmin on Centos 7
How To Setup PostfixAdmin With Dovecot and Postfix Virtual Mailbox