Questions reguarding microcloud and microovn

  1. Is local storage always set up just as zfs or can it be set up with btrfs?
  2. On the previous OVN video, instead of a separate network, a bridge was used. Is this also possible with microovn and microcloud?
  3. Since there are two networks those computers are on, does the ovn network need a gateway or can the one from the other network be used?
  1. ZFS only. You could skip local storage and add it manually with lxc storage create after the fact, but with MicroCloud, we’ve had to make some decisions about what we feel comfortable supporting for large scale deployments and btrfs isn’t one of those things.
  2. Yes, bridges should work fine, I’m not 100% sure that the microcloud init logic will get it right, if it doesn’t, it’s something we can easily fix as LXD itself is quite happy with that.
  3. Not sure I understand the question.

For the third question, from what I understood, MicroCloud is set up with two network interfaces. On the video, you had a main network and a secondary one created with a vlan.

If I have a simple managed switch and a single network card, the second vlan will not be routed to the first one, it’ll just be a simple switch not connected to any other network. For internet connection, I’ll need to create a router to route between them.

My third question is if ovn can itself create that router. Being distributed with high availability, it would be better than a simple router I could implement.

In your video you mentioned your vlan network already had a router, which is the gateway I mentioned in the question.

LXD’s OVN networks provide a virtual router per LXD network created.
This virtual router is then connected to the real upstream router by way of the uplink network gateway.

See Step 5 on

1 Like

There it states: “A high availability OVN cluster requires a shared layer 2 network, so that the active OVN chassis can move between cluster members (which effectively allows the OVN router’s external IP to be reachable from a different host).”

Well, I planned on building a cluster with an off site member. I was wondering if ovn was possible, but it seems unlikely. Is it crazy to build an ovn network on top of an ubuntu-fan network?

I plan on running docker inside containers, so it’s easier for me to run btrfs.

What would be the benefits of running lxd and microceph with and without microcloud? Is it just the automatic setup I gain?

For Docker, these days you can get a pretty good experience on zfs by doing:

  • lxc storage volume create local docker zfs.block_mode=true size=50GiB
  • lxc config device add NAME docker disk pool=local source=docker path=/var/lib/docker

That will create a zvol of 50GiB on your ZFS pool and format it as ext4. This then makes Docker run properly with overlay2. You can also pass block.filesystem=btrfs if you want the volume to be using btrfs.

I’m setting up a lab environment for students. They don’t know how to use LXD and I don’t know what each one will run on their instances. I’ll teach them just enough to launch containers and they’ll run their experiments there.

In general, they might want to run Docker or not. I have not tried the solution you mentioned, but it seems odd. If I add that to all containers so students can run Docker if they wish, it seems they’ll have a shared storage. Actually, now that I think about it, that block volume is not running a distributed file system, so it might not even work. To solve that, would I need to create a block volume for each container? It doesn’t seem like an automatic solution and looks complicated.

The alternative is just to run btrfs and they’ll have no issues running Docker if they wish (with nesting=true). Each one has their use cases and it just seems like btrfs is better in this use case. I also like the kernel integration of btrfs and it has been improving. Would only run zfs if I needed strong quota enforcement and I don’t think it’s the case for my lab.