Introducing PLANNet: A Smarter Way to Build Network Diagrams

Network diagrams are the backbone of IT documentation, but creating them can be a tedious chore. If you've ever wrestled with Visio stencils or nudged draw.io connectors into place, you know the struggle. Lines never quite stick where you want, and hunting down the right network stencils is an exercise in frustration and futility. In fact, one network engineer vented that Visio’s connector tool was “driving me insane, it never wants to link things properly”.

Enter PLANNet – a new network diagramming tool that promises to change all that. In this post, I want to introduce PLANNet and explore how it offers a smarter, faster way to build accurate network diagrams without generic templates or floating lines.

The Traditional Challenge: Diagrams with Floating Lines and Stencils

Before diving into PLANNet, let's acknowledge the pain points it aims to solve. Traditionally, diagramming a network means dragging generic symbols onto a canvas and drawing lines between them. Tools like Visio or Lucidchart provide libraries of shapes, but you often spend hours searching for the right stencil or manually labeling ports. Even then, the connections are merely lines attached to a shape, not to a specific port. Move a device icon and you risk leaving cables dangling or misaligned. It’s easy to end up with “floating” cable endpoints that don’t clearly indicate which ports are connected to what.

Consider a simple office network: a router connected to a switch, which connects to servers and access points. Using a generic diagram tool, you might use a router icon and a switch icon, then draw lines between them. But how do you show that the router’s Port 1 goes into the switch’s Port 24? You’d likely add text labels or hope the next person just knows which ports are used. As the network grows, keeping track of port-level details becomes nearly impossible with manual diagrams.

Meet plannet.work – A New Approach to Network Diagrams

PLANNet is a visual network diagramming tool built with these challenges in mind. Instead of generic shapes and ad-hoc lines, PLANNet uses schematic node representations for network devices – by allowing you to configure the nodes with their actual port layouts. This means when you add a switch, you can then connect a link (cable), by dragging and dropping from one port to another, exactly as you would plug in a physical cable. The result? No more ambiguous connections or floating line endpoints. Every link snaps to a specific port on each device, making your diagram a precise map of how you want the network to be.

Here's an example of how this might look:

simple_diagram

Unlike traditional diagram tools that rely on stencils or shape libraries, PLANNet works by allowing you to build your own device catalog. You can group network devices (routers, switches, firewalls, etc.) you created in your catalog, manage them by themselves, or add the nodes you configured in your diagram to the catalog. This eliminates the tedious search for the “right” stencil – you just quickly define your own device with the correct number of ports and layout. The focus is on having definite connections where necessary, rather than abstract "somehow this switch is connected to this firewall".

Finally, PLANNet isn’t just about drawing pretty pictures – it’s designed to be a practical network planning assistant. You can annotate each node, port, and link with rich information: IP addresses, MAC addresses, VLAN IDs, link speeds, cable types, and more. Your diagram becomes a living document of your network’s design. One of the features on the roadmap to 1.0 is the ability to generate a checklist of exactly what to connect where, turning your diagram into a deployment guide.

Real-World Example: Mapping a Home Lab Network

Imagine you're setting up a home lab with:

  • A router for internet access
  • A 24-port managed switch
  • A NAS and a couple of servers
  • A Wi-Fi access point

With PLANNet, your process might look like this:

  1. Scan or Add Devices – Discover active devices or add manually from catalog.
  2. Define Port Layouts – Assign ports to each node as per your setup.
  3. Drag-and-Drop Connections – Connect the correct ports visually.
  4. Annotate and Configure – Add IPs, VLANs, and other key metadata.
  5. Review the Plan – Visually confirm accuracy and layout.
  6. Export Connection List – Generate to-do list for physical deployment.

This way, you can plan what you need to do and create an installation plan you can reference when you actually implement your network.

node_tree

Input & Feedback greatly appreciated

We've chosen to release this tool as a paid software, because we want to continue to continue to iterate on its functionality, but at the same time, we deeply believe in free software - so we've chosen to publish it under GPL3.

When you paid for the download of the signed binaries, you can request the source code from us, and we'll provide it so you can excercise your freedoms. (See the faq.)

PLANNet is currently available as a free beta until July 1, 2025. Download it now at plannet.work and start building your first diagram.

During the beta, all features currently implemented are available without restrictions. If you like what you see, you can support the project early and secure a discounted license for when 1.0 arrives.

Oh and: It’s a one-time purchase, no subscription.

Final Thoughts

This tool started out as a "How hard can it be?"-Question. I've struggled with quickly diagramming networks so many times, and especially when it needs to be quick, I've always reverted to paper because I was not quick enough to do it with draw.io. There are many diagramming tools that advertise themselves as "Network diagramming Tools", but to be honest - most of them are primarily diagramming tools with some network shapes.

I know that there are more integrated solutions like netbox and the topology plugin, but what I want - what I need - is the ability to draw a network diagram on the fly, without resorting to paper - and that's what this tool is.

Try the beta today, and see for yourself if this tool can help you. If you got feedback - there's a form here.

The Issue - SQL Server Backup Sets and VSS Full-Backups

If you're using PVE and you are backing up your VMs with Proxmox, either "manually" or with Proxmox Backup Server (PBS), there are some catches that could end in data loss you might not have anticipated.

This is because when Proxmox uses the QEMU guest agent to run fsfreeze, it requests a full backup from the SQL VSS writer. That break the backup set for all databases because it consolidates / deletes the logs that are needed to restore. Here are some examples:

BackupChains-Backup_Chain_1.drawio

In this first example, the Proxmox backup runs directly after the Backup softwares backup - leading to all scheduled differential backups to fail.

BackupChains-Backup_Chain_2.drawio

In this second example, there will be a differential backup that runs without an error, but then won't be able to restore because the rollback/ rollforward log files won't exist anymore due to proxmox backup.

BackupChains-Backup_Chain_3.drawio

In the last example, having weekly full backups and daily incremental backups that get interrupted by a proxmox backup will result in four backups not being restorable.

You might get errors like "Invalid backup chain detected for database 'TEST'" or "Error 3041: Failed to create backup for database 'TEST'" when trying to run an incremental or differential backup.

So, even if you do not usually use Proxmox backups, but you need a backup for a specific case, or to test something - you run the risk to damage the backups of the MSSQL Databases.

Workaround: Just don't freeze the Filesystem -> No consistent Backups.

On your search for a resolution, you might (or might not) have read this passage on the pve wiki.

On Windows guests, some applications might handle consistent backups themselves by hooking into the Windows VSS (Volume Shadow Copy Service) layer, a fs-freeze then might interfere with that. For example, it has been observed that calling fs-freeze with some SQL Servers triggers VSS to call the SQL Writer VSS module in a mode that breaks the SQL Server backup chain for differential backups.

For such setups you can configure Proxmox VE to not issue a freeze-and-thaw cycle on backup by setting the freeze-fs-on-backup QGA option to 0. This can also be done via the GUI with the Freeze/thaw guest filesystems on backup for consistency option.

It even has a red warning sign "Disabling this option can potentially lead to backups with inconsistent filesystems and should therefore only be disabled _if you know what you are doing_."

That is because if you know what you are doing, you should not want to disable this option if at all possible.

Since this isn't really a Proxmox issue, the option to not freeze and thaw is really a "workaround" option and as ozdjh explained here, it "results in the same outcome as if the VM lost power and restarted at that point in time." - which is fine I guess, just not if you want consistent Backups (which you want, if at all possible).

Yes, MSSQL Server is very sturdy and robust, but if guaranteed consistency is required, this just isn't an option.

The solution - Telling the Qemu-Guest Agent it should use VSS_BT_COPY to backup this host.

Since a (short) while, the QEMU guest agent has an option to change the backup type - yet the information is hidden extremely well... (It's not really documented, except in the mailing list and the code...).

So here's what you need to do to create consistent Proxmox backups that don't break your regular MSSQL backups.

You need at least the guest agent that comes with the Virtio-Win version 0.1.262-1 installed. You can get the latest iso here.

Also: We're assuming your System is running on Proxmox >8.2 - all other setups are untested.

Once you installed that and rebooted your server, open the registry editor.

Important: You might need to re-set the IP Adress of your network adapter due to virtio replacing your network drivers. We recommend using static leases with your DHCP Server to solve this specific weirdness.

Navigate to "[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QEMU Guest Agent VSS Provider]" regedit-qemu-guest-agent-VSS-provider

You'll either see a REG_DWORD with the integer value 1 already present, then you can set it to 5, or if not, you need to create it. regedit-qemu-guest-agent-VSS-provider-add-vssOption

Check your setup:

  • Make sure, you have enabled the Qemu Guest Agent in the VM configuration.
  • Make sure you have enabled "Freeze/thaw guest filesystems on backup for consistency"

2024-09-16_15h39_30

Then, you need to restart your server again.

That's it - You now have consistent Backups for your MS SQL Databases, no matter what.

To compress this a bit:

  1. Download latest VirtIO-Win driver disk and update qemu guest tools to at least 0.1.262-1
  2. Restart your server. (And maybe fix networking issues due to driver updates)
  3. Set REG_DWORD Registry Key "VssOptions" to the integer number 5 for VSS_BT_COPY here Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QEMU Guest Agent VSS Provider
  4. Make sure you have the Qemu guest Agent enabled, and you did not disable "Freeze/thaw guest filesystems on backup for consistency"
  5. Reboot your server

Test your Backups

And finally - Make sure to test your backups by trying to restore them...

Disclaimer: The information provided in this blog post is for educational purposes only. While every effort has been made to ensure accuracy, neither DatACT GmbH nor the posts writer can be held liable for any errors or omissions, as well as any and all issues that may arise from following the suggestions or instructions herein. It is your responsibility to back up your data and make informed decisions about changes to your systems. By proceeding with any actions based on the information in this post, you agree that you do so at your own risk and that any resulting changes, damages, or losses to your systems are solely your responsibility.