LXD to LXC Migration¶
This guide defines the actions required to migrate your LXD infrastructure to LXC.
Host Migration¶
The first step needed to start deploying containers using LXC instead of LXD is to migrate (or add) at least one LXC Host.
Note
This guide covers how to migrate an existing LXD Host to LXC. If you want to add a new Node, follow the LXC Node Installation guide instead!
Step 1. Disable Host¶
In order to migrate an existing LXD node to LXC, first of all you need to make sure that no container is running there. Once the host is empty, switch it to offline
state to make sure OpenNebula does not try to perform any action on it:
onehost offline <host_id>
Step 2. Uninstall LXD¶
Once the Host is empty and has been switched to offline
state, proceed with uninstalling the opennebula-node-lxd
package from that node (NOTE: CentOS/RHEL platforms were not supported by OpenNebula LXD Node before and therefore are not covered here):
Debian/Ubuntu¶
apt-get --purge remove opennebula-node-lxd
Step 3. Install LXC Node Package¶
Once the LXD package has been uninstalled, configure the Host as an OpenNebula LXC Node by following the LXC Node Installation guide.
Step 4. Update Host Drivers¶
Now that your Host is already configured for running LXC containers, the next step is to reconfigure the Node in OpenNebula to use LXC drivers from now on. In order to do so, you need to update the specific Host and change the value of VM_MAD
and IM_MAD
from lxd
to lxc
.
onehost update <host_id>
Note
onehost update
command will open your preconfigured text editor at CLI. You just need to modify the mentioned values, save, and exit. You can update the corresponding values by using Sunstone web interface too.
Step 5. Enable Host¶
Once the Node is ready, you can enable your Host again and start deploying LXC containers on it:
onehost enable <host_id>
Next Steps¶
Now you have your Node ready to deploy containers by using the new LXC drivers, you might find it useful to read the the LXC driver documentation.