one
one copied to clipboard
MTU attribute does not change the host bridged interface MTU in OpenNebula
Description Hi In OpenNebula, I have a Virtual Network with "Bridge" mode which the address pool is with "Ethernet" type (Because there is a DHCP server to assign the IP to VM), The network driver is "virtio" . I want to use this network with CEPH to use Block and CephFS storage, So for better performance I need to have the MTU=9000 in my network. I have set both GUEST_MTU and MTU to 9000 in Virtual Network attributes, But when i create the VM, the created bridge interface in Host has MTU=1500 and i think the attribute does not work, or i miss something else in the configuration. However i can set the MTU in VM with DHCP server, But does not work for Host.
To Reproduce Create Network with "bridge mode" Set the Address type to "Ethernet" Set the GUEST_MTU & MTU to 9000 Create a VM with an interface in this Network
Expected behavior When i watch the MTU of created bridge network in host, it should be 9000 but it is not.
Details
- Hypervisor: KVM
- Version: 5.12.01
Progress Status
- [ ] Branch created
- [ ] Code committed to development branch
- [ ] Testing - QA
- [ ] Documentation
- [ ] Release notes - resolved issues, compatibility, known issues
- [ ] Code committed to upstream release/hotfix branches
- [ ] Documentation committed to upstream release/hotfix branches
You can set the bridge MTU in /var/lib/one/remote/etc/vnm/OpenNebulaNetwork.conf (or any other ip link attribute):
...
:ip_bridge_conf:
:mtu: 9000
...
More details: http://docs.opennebula.io/5.12/deployment/open_cloud_networking_setup/bridged.html#opennebula-configuration
Important do not forget to sync remotes in order to propagate the change to the hosts (onehost sync -f
)
Closing this, will reopen if needed
Thank you for your answer @rsmontero I did this and the mtu on host for bridge network is 1500
For the steps
- I have changed the file in all my master nodes
- Restarted opennebula.service on all master hosts
- Run command (onehost sync -f)
- Create a new VM
- run command (ip link show)
And the mtu for new bridge interfaces is 1500 and not changed
Hi again Is there any solution to afford this issue? I had a lot of search and test but there is nothing in internet and documents to describe this. It is really critical for me. Thanks
Could you check that the bridge is recreated? As long as there are VMs the bridge is reused and OpenNebula can be configured to keep it in any case.
Yes The bridge recreated, Even when i create a new VM with new bridge interface (which was not exists before), the MTU of created bridge in one host is 1500.
When i delete a VM the relaited bridge is deleted in one host (like one-105-1). And after creating a new VM, the new bridges created with new names (like one-106-1), and the MTU is again 1500.
Any update? Could you please HELP me to debug why the mtu is not changed?
It seems there are 2 missing parts
- Setting the MTU on the VM interface on the hypervisor by the libvirt (interface like one-105-1) -- currently not possible
- Setting the MTU on the bridge -- also not currently possible
Hi @xorel Thank you for your response. Sorry for my poor English, Exactly i mean part number 1 that you mentioned. Is it really impossible to do this? For setting the MTU of (one-105-1) i write an API with Golang and put the api-call in Context-Script
Actually it works fine and i automated this operation, But i think it could be better if i do this operation with some directives in OpenNebula.
Thank you again for your Patience