• Building an LXC Server

    Building an LXC Server on Ubuntu with ZFS and a container with public IP address

    First update Ubuntu

    Setup ZFS

    Configure LXC

    Configure ZFS

    Create ZFS pool:

    Keep in mind that deduplication takes much more memory and sometimes CPU.

    The rule of Thumb says to have 1GB of Ram per TB of Data. For deduplicated ZPools you actually should have 5 GB of Ram for 1TB of Data. I don’t use it.

    Turn on compression and create fs:

    To configure LXC to use ZFS as the backing store and set the default LXC path, add the following to /etc/lxc/lxc.conf:

    Creating a Container

    Create the first container by doing:

    Setup Bridged Network

    Important Commands

    Show bridge interfaces:

    Simple Bridge

    This setup can be used to connect multiple network interfaces. The bridge acts as a switch: each additional network interface is directly connected to the physical network.

    Edit /etc/network/interfaces, remove eth0, add br0.

    For dynamic IP:

    For static IP:

    reboot server

    Is all OK?

    Edit /tank/lxc/containers/node.name/config

    start the node:

    connect to the node:

    On the lxc node /etc/network/interfaces:

    It’s possible to use static IP address in node config and use dhcp inside the node, that works too.

    But IPv6 didn’t work inside the node, I disabled it and then the node stopped receiving IP address at all.

    I had to use static IP.

    I’m going to solve this problem later.