Quick Start‎ > ‎

Orabuntu-LXC v7.0.0-beta AMIDE

Introduction

December 17, 2020
St. Louis, MO

The soon to be released Orabuntu-LXC version 7.0.0-beta AMIDE for the first time offers fully-automated support for both LXC "spans across multiple hosts" and LXD true clusters, while continuing the existing support for LXC container networks spanned over multiple hosts.  Previous to this release, Orabuntu-LXC only supported LXC containers, but now LXD and LXD clusters are also supported (on Ubuntu 20.04 and Oracle Linux 8 only at the moment, other distros to be added soon). The OpenvSwitch networking has been re-designed, preserving all of the good features used with LXC containers, but also opening up the OpenvSwitch network to be "LXD-friendly."  The VLAN structure of Orabuntu-LXC has been preserved.

This guide details how to deploy an N-node LXD Cluster of hosts almost entirely automated except for preparing the hosts and creating the ZFS storage pool.  The guide uses the "to-lxd" branch at the Orabuntu-LXC github for building this demonstration N-node LXD cluster.  This tutorial is a 2-node cluster using GRE over OpenvSwitch as the cluster connection, but the guide can be generalized to N-Node by adding additional GRE nodes.

Prepare Orabuntu-LXC HUB HOST

Prepare the Orabuntu-LXC HUB HOST similar to shown below.  Your IP address will be different.

Create an Ubuntu Linux 20.04 Server Edition install using the Server Live CD downloaded ISO.


Figure 1.0 Begin the installation of Ubuntu 20.04 in VirtualBox VM as shown in the screenshot.


Figure 1.1.A Configuration of the VM with LVM


Figure 1.1.B Configuration of the VM with LVM


Figure 1.2 Using "ubuntu" for all of the fields (Your Name, Pick a username, Choose a password, Confirm your password).  Remember this is just a test system guide to simply and easily see how the software works and get an Orabuntu-LXC GRE cluster and LXD cluster up and running quickly.  For production use, the passwords and usernames would of course be unique and secure.

Once the VM is up and running, login to the VM console, and use "ifconfig" to get the ipaddress and login from a terminal.  If ifconfig is not available, then run "sudo apt-get install net-tools" to install ifconfig.


Figure 1.2 Using ifconfig to check the ip address of the VM.

Once the Ubuntu 20.04 HUB HOST server has been built, login to a terminal session, and begin the configuration of the server for Orabuntu-LXC install as shown below.


ubuntu@u20d3:~$ ssh 192.168.1.232
The authenticity of host '192.168.1.232 (192.168.1.232)' can't be established.
ECDSA key fingerprint is SHA256:n9SadrhEl4iTEmbNsMCRk5MCyUk3BBqlYC+AoznRAoA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.232' (ECDSA) to the list of known hosts.
ubuntu@192.168.1.232's password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-58-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Wed Dec 16 17:33:52 UTC 2020

  System load:              0.41
  Usage of /:               10.4% of 58.32GB
  Memory usage:             2%
  Swap usage:               0%
  Processes:                118
  Users logged in:          1
  IPv4 address for enp0s17: 192.168.1.232
  IPv6 address for enp0s17: 2600:1702:2c0:1590::14
  IPv6 address for enp0s17: 2600:1702:2c0:1590:a00:27ff:fe9f:4268


103 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable


Last login: Wed Dec 16 17:33:03 2020

ubuntu@olxd-1:~$ sudo apt-get -y update

[sudo] password for ubuntu:

Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [109 kB]
Fetched 324 kB in 1s (288 kB/s)    
Reading package lists... Done

ubuntu@olxd-1:~$ sudo apt-get -y upgrade

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  base-files sosreport ubuntu-server
The following packages will be upgraded:
  alsa-ucm-conf apparmor apport bash bcache-tools bind9-dnsutils bind9-host bind9-libs bolt bsdutils busybox-initramfs busybox-static cloud-init command-not-found cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run fdisk
  finalrd fwupd fwupd-signed gir1.2-glib-2.0 initramfs-tools initramfs-tools-bin initramfs-tools-core landscape-common language-selector-common less libapparmor1 libasound2 libasound2-data libblkid1 libc-bin libc6 libcryptsetup12
  libdns-export1109 libefiboot1 libefivar1 libfdisk1 libfwupd2 libfwupdplugin1 libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin libglib2.0-data libisc-export1105 liblzma5 libmount1 libnetplan0 libnss-systemd libpam-modules
  libpam-modules-bin libpam-runtime libpam-systemd libpam0g libparted2 libplymouth5 libsmartcols1 libsystemd0 libudev1 libuuid1 locales login mdadm mount netplan.io open-iscsi open-vm-tools parted passwd plymouth
  plymouth-theme-ubuntu-text python3-apport python3-commandnotfound python3-distupgrade python3-problem-report python3-software-properties python3-update-manager rsyslog snapd software-properties-common strace sudo systemd systemd-sysv
  systemd-timesyncd ubuntu-minimal ubuntu-release-upgrader-core ubuntu-standard udev unattended-upgrades update-manager-core util-linux uuid-runtime xz-utils zlib1g
97 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 59.2 MB of archives.
After this operation, 7197 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 bash amd64 5.0-6ubuntu1.1 [638 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 bsdutils amd64 1:2.34-0.1ubuntu9.1 [63.1 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 login amd64 1:4.8.1-1ubuntu5.20.04 [221 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6 amd64 2.31-0ubuntu9.1 [2712 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libblkid1 amd64 2.34-0.1ubuntu9.1 [137 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libuuid1 amd64 2.34-0.1ubuntu9.1 [20.0 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libfdisk1 amd64 2.34-0.1ubuntu9.1 [175 kB]
Get:8 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libmount1 amd64 2.34-0.1ubuntu9.1 [149 kB]
Get:9 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libsmartcols1 amd64 2.34-0.1ubuntu9.1 [100 kB]
Get:10 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 fdisk amd64 2.34-0.1ubuntu9.1 [119 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 util-linux amd64 2.34-0.1ubuntu9.1 [1021 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 locales all 2.31-0ubuntu9.1 [3868 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-bin amd64 2.31-0ubuntu9.1 [637 kB]
.
.
.                                                                                   
Fetched 59.2 MB in 28s (2105 kB/s)                                                                                                                                                                                                           

Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../bash_5.0-6ubuntu1.1_amd64.deb ...
Unpacking bash (5.0-6ubuntu1.1) over (5.0-6ubuntu1) ...
Setting up bash (5.0-6ubuntu1.1) ...
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../bsdutils_1%3a2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking bsdutils (1:2.34-0.1ubuntu9.1) over (1:2.34-0.1ubuntu9) ...
Setting up bsdutils (1:2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../login_1%3a4.8.1-1ubuntu5.20.04_amd64.deb ...
Unpacking login (1:4.8.1-1ubuntu5.20.04) over (1:4.8.1-1ubuntu5) ...
Setting up login (1:4.8.1-1ubuntu5.20.04) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libc6_2.31-0ubuntu9.1_amd64.deb ...
Unpacking libc6:amd64 (2.31-0ubuntu9.1) over (2.31-0ubuntu9) ...
Setting up libc6:amd64 (2.31-0ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libblkid1_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking libblkid1:amd64 (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Setting up libblkid1:amd64 (2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libuuid1_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking libuuid1:amd64 (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Setting up libuuid1:amd64 (2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libfdisk1_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking libfdisk1:amd64 (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Preparing to unpack .../libmount1_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking libmount1:amd64 (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Setting up libmount1:amd64 (2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libsmartcols1_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking libsmartcols1:amd64 (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Setting up libsmartcols1:amd64 (2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../fdisk_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking fdisk (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Preparing to unpack .../util-linux_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking util-linux (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Setting up util-linux (2.34-0.1ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../locales_2.31-0ubuntu9.1_all.deb ...
Unpacking locales (2.31-0ubuntu9.1) over (2.31-0ubuntu9) ...
Preparing to unpack .../libc-bin_2.31-0ubuntu9.1_amd64.deb ...
Unpacking libc-bin (2.31-0ubuntu9.1) over (2.31-0ubuntu9) ...
Setting up libc-bin (2.31-0ubuntu9.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libpam0g_1.3.1-5ubuntu4.1_amd64.deb ...
Unpacking libpam0g:amd64 (1.3.1-5ubuntu4.1) over (1.3.1-5ubuntu4) ...
Setting up libpam0g:amd64 (1.3.1-5ubuntu4.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libpam-modules-bin_1.3.1-5ubuntu4.1_amd64.deb ...
Unpacking libpam-modules-bin (1.3.1-5ubuntu4.1) over (1.3.1-5ubuntu4) ...
Setting up libpam-modules-bin (1.3.1-5ubuntu4.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../libpam-modules_1.3.1-5ubuntu4.1_amd64.deb ...
Unpacking libpam-modules:amd64 (1.3.1-5ubuntu4.1) over (1.3.1-5ubuntu4) ...
Setting up libpam-modules:amd64 (1.3.1-5ubuntu4.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../udev_245.4-4ubuntu3.3_amd64.deb ...
Unpacking udev (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../libudev1_245.4-4ubuntu3.3_amd64.deb ...
Unpacking libudev1:amd64 (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Setting up libudev1:amd64 (245.4-4ubuntu3.3) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../systemd-sysv_245.4-4ubuntu3.3_amd64.deb ...
Unpacking systemd-sysv (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../systemd-timesyncd_245.4-4ubuntu3.3_amd64.deb ...
Unpacking systemd-timesyncd (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../libnss-systemd_245.4-4ubuntu3.3_amd64.deb ...
Unpacking libnss-systemd:amd64 (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../libpam-runtime_1.3.1-5ubuntu4.1_all.deb ...
Unpacking libpam-runtime (1.3.1-5ubuntu4.1) over (1.3.1-5ubuntu4) ...
Setting up libpam-runtime (1.3.1-5ubuntu4.1) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../0-libpam-systemd_245.4-4ubuntu3.3_amd64.deb ...
Unpacking libpam-systemd:amd64 (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../1-libapparmor1_2.13.3-7ubuntu5.1_amd64.deb ...
Unpacking libapparmor1:amd64 (2.13.3-7ubuntu5.1) over (2.13.3-7ubuntu5) ...
Preparing to unpack .../2-libcryptsetup12_2%3a2.2.2-3ubuntu2.3_amd64.deb ...
Unpacking libcryptsetup12:amd64 (2:2.2.2-3ubuntu2.3) over (2:2.2.2-3ubuntu2.2) ...
Preparing to unpack .../3-mount_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking mount (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Preparing to unpack .../4-systemd_245.4-4ubuntu3.3_amd64.deb ...
Unpacking systemd (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Preparing to unpack .../5-libsystemd0_245.4-4ubuntu3.3_amd64.deb ...
Unpacking libsystemd0:amd64 (245.4-4ubuntu3.3) over (245.4-4ubuntu3) ...
Setting up libsystemd0:amd64 (245.4-4ubuntu3.3) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../zlib1g_1%3a1.2.11.dfsg-2ubuntu1.2_amd64.deb ...
Unpacking zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.2) over (1:1.2.11.dfsg-2ubuntu1) ...
Setting up zlib1g:amd64 (1:1.2.11.dfsg-2ubuntu1.2) ...
(Reading database ... 71071 files and directories currently installed.)
Preparing to unpack .../rsyslog_8.2001.0-1ubuntu1.1_amd64.deb ...
Unpacking rsyslog (8.2001.0-1ubuntu1.1) over (8.2001.0-1ubuntu1) ...
Preparing to unpack .../language-selector-common_0.204.2_all.deb ...
Unpacking language-selector-common (0.204.2) over (0.204) ...
Preparing to unpack .../uuid-runtime_2.34-0.1ubuntu9.1_amd64.deb ...
Unpacking uuid-runtime (2.34-0.1ubuntu9.1) over (2.34-0.1ubuntu9) ...
Preparing to unpack .../open-iscsi_2.0.874-7.1ubuntu6.1_amd64.deb ...
Unpacking open-iscsi (2.0.874-7.1ubuntu6.1) over (2.0.874-7.1ubuntu6) ...
Preparing to unpack .../liblzma5_5.2.4-1ubuntu1_amd64.deb ...
Unpacking liblzma5:amd64 (5.2.4-1ubuntu1) over (5.2.4-1) ...
Setting up liblzma5:amd64 (5.2.4-1ubuntu1) ...
(Reading database ... 71073 files and directories currently installed.)
Preparing to unpack .../passwd_1%3a4.8.1-1ubuntu5.20.04_amd64.deb ...
Unpacking passwd (1:4.8.1-1ubuntu5.20.04) over (1:4.8.1-1ubuntu5) ...
Setting up passwd (1:4.8.1-1ubuntu5.20.04) ...
(Reading database ... 71073 files and directories currently installed.)
Preparing to unpack .../00-libglib2.0-data_2.64.3-1~ubuntu20.04.1_all.deb ...
Unpacking libglib2.0-data (2.64.3-1~ubuntu20.04.1) over (2.64.2-1~fakesync1) ...
Preparing to unpack .../01-libglib2.0-bin_2.64.3-1~ubuntu20.04.1_amd64.deb ...
Unpacking libglib2.0-bin (2.64.3-1~ubuntu20.04.1) over (2.64.2-1~fakesync1) ...
Preparing to unpack .../02-libglib2.0-0_2.64.3-1~ubuntu20.04.1_amd64.deb ...
Unpacking libglib2.0-0:amd64 (2.64.3-1~ubuntu20.04.1) over (2.64.2-1~fakesync1) ...
Preparing to unpack .../03-libgirepository-1.0-1_1.64.1-1~ubuntu20.04.1_amd64.deb ...
Unpacking libgirepository-1.0-1:amd64 (1.64.1-1~ubuntu20.04.1) over (1.64.0-2) ...
Preparing to unpack .../04-gir1.2-glib-2.0_1.64.1-1~ubuntu20.04.1_amd64.deb ...
Unpacking gir1.2-glib-2.0:amd64 (1.64.1-1~ubuntu20.04.1) over (1.64.0-2) ...
Preparing to unpack .../05-less_551-1ubuntu0.1_amd64.deb ...
Unpacking less (551-1ubuntu0.1) over (551-1) ...
Preparing to unpack .../06-libisc-export1105_1%3a9.11.16+dfsg-3~ubuntu1_amd64.deb ...
Unpacking libisc-export1105:amd64 (1:9.11.16+dfsg-3~ubuntu1) over (1:9.11.16+dfsg-3~build1) ...
Preparing to unpack .../07-libdns-export1109_1%3a9.11.16+dfsg-3~ubuntu1_amd64.deb ...
Unpacking libdns-export1109 (1:9.11.16+dfsg-3~ubuntu1) over (1:9.11.16+dfsg-3~build1) ...
Preparing to unpack .../08-libnetplan0_0.100-0ubuntu4~20.04.3_amd64.deb ...
Unpacking libnetplan0:amd64 (0.100-0ubuntu4~20.04.3) over (0.99-0ubuntu1) ...
Preparing to unpack .../09-initramfs-tools_0.136ubuntu6.3_all.deb ...
Unpacking initramfs-tools (0.136ubuntu6.3) over (0.136ubuntu6) ...
Preparing to unpack .../10-initramfs-tools-core_0.136ubuntu6.3_all.deb ...
Unpacking initramfs-tools-core (0.136ubuntu6.3) over (0.136ubuntu6) ...
Preparing to unpack .../11-busybox-initramfs_1%3a1.30.1-4ubuntu6.3_amd64.deb ...
Unpacking busybox-initramfs (1:1.30.1-4ubuntu6.3) over (1:1.30.1-4ubuntu6.2) ...
Preparing to unpack .../12-initramfs-tools-bin_0.136ubuntu6.3_amd64.deb ...
Unpacking initramfs-tools-bin (0.136ubuntu6.3) over (0.136ubuntu6) ...
Preparing to unpack .../13-netplan.io_0.100-0ubuntu4~20.04.3_amd64.deb ...
Unpacking netplan.io (0.100-0ubuntu4~20.04.3) over (0.99-0ubuntu1) ...
Preparing to unpack .../14-sudo_1.8.31-1ubuntu1.1_amd64.deb ...
Unpacking sudo (1.8.31-1ubuntu1.1) over (1.8.31-1ubuntu1) ...
Preparing to unpack .../15-ubuntu-minimal_1.450.2_amd64.deb ...
Unpacking ubuntu-minimal (1.450.2) over (1.450) ...
Preparing to unpack .../16-xz-utils_5.2.4-1ubuntu1_amd64.deb ...
Unpacking xz-utils (5.2.4-1ubuntu1) over (5.2.4-1) ...
Preparing to unpack .../17-apparmor_2.13.3-7ubuntu5.1_amd64.deb ...
Unpacking apparmor (2.13.3-7ubuntu5.1) over (2.13.3-7ubuntu5) ...
Preparing to unpack .../18-bind9-dnsutils_1%3a9.16.1-0ubuntu2.4_amd64.deb ...
Unpacking bind9-dnsutils (1:9.16.1-0ubuntu2.4) over (1:9.16.1-0ubuntu2.3) ...
Preparing to unpack .../19-bind9-libs_1%3a9.16.1-0ubuntu2.4_amd64.deb ...
Unpacking bind9-libs:amd64 (1:9.16.1-0ubuntu2.4) over (1:9.16.1-0ubuntu2.3) ...
Preparing to unpack .../20-bind9-host_1%3a9.16.1-0ubuntu2.4_amd64.deb ...
Unpacking bind9-host (1:9.16.1-0ubuntu2.4) over (1:9.16.1-0ubuntu2.3) ...
Preparing to unpack .../21-busybox-static_1%3a1.30.1-4ubuntu6.3_amd64.deb ...
Unpacking busybox-static (1:1.30.1-4ubuntu6.3) over (1:1.30.1-4ubuntu6.2) ...
Preparing to unpack .../22-command-not-found_20.04.4_all.deb ...
Unpacking command-not-found (20.04.4) over (20.04.2) ...
Preparing to unpack .../23-python3-commandnotfound_20.04.4_all.deb ...
Unpacking python3-commandnotfound (20.04.4) over (20.04.2) ...
Preparing to unpack .../24-parted_3.3-4ubuntu0.20.04.1_amd64.deb ...
Unpacking parted (3.3-4ubuntu0.20.04.1) over (3.3-4) ...
Preparing to unpack .../25-libparted2_3.3-4ubuntu0.20.04.1_amd64.deb ...
Unpacking libparted2:amd64 (3.3-4ubuntu0.20.04.1) over (3.3-4) ...
Preparing to unpack .../26-libplymouth5_0.9.4git20200323-0ubuntu6.2_amd64.deb ...
Unpacking libplymouth5:amd64 (0.9.4git20200323-0ubuntu6.2) over (0.9.4git20200323-0ubuntu6) ...
Preparing to unpack .../27-plymouth-theme-ubuntu-text_0.9.4git20200323-0ubuntu6.2_amd64.deb ...
Unpacking plymouth-theme-ubuntu-text (0.9.4git20200323-0ubuntu6.2) over (0.9.4git20200323-0ubuntu6) ...
Preparing to unpack .../28-plymouth_0.9.4git20200323-0ubuntu6.2_amd64.deb ...
Unpacking plymouth (0.9.4git20200323-0ubuntu6.2) over (0.9.4git20200323-0ubuntu6) ...
Preparing to unpack .../29-ubuntu-release-upgrader-core_1%3a20.04.29_all.deb ...
Unpacking ubuntu-release-upgrader-core (1:20.04.29) over (1:20.04.18) ...
Preparing to unpack .../30-python3-distupgrade_1%3a20.04.29_all.deb ...
Unpacking python3-distupgrade (1:20.04.29) over (1:20.04.18) ...
Preparing to unpack .../31-python3-update-manager_1%3a20.04.10.1_all.deb ...
Unpacking python3-update-manager (1:20.04.10.1) over (1:20.04.9) ...
Preparing to unpack .../32-update-manager-core_1%3a20.04.10.1_all.deb ...
Unpacking update-manager-core (1:20.04.10.1) over (1:20.04.9) ...
Preparing to unpack .../33-strace_5.5-3ubuntu1_amd64.deb ...
Unpacking strace (5.5-3ubuntu1) over (4.26-0.2ubuntu3) ...
Preparing to unpack .../34-ubuntu-standard_1.450.2_amd64.deb ...
Unpacking ubuntu-standard (1.450.2) over (1.450) ...
Preparing to unpack .../35-alsa-ucm-conf_1.2.2-1ubuntu0.5_all.deb ...
Unpacking alsa-ucm-conf (1.2.2-1ubuntu0.5) over (1.2.2-1) ...
Preparing to unpack .../36-python3-problem-report_2.20.11-0ubuntu27.14_all.deb ...
Unpacking python3-problem-report (2.20.11-0ubuntu27.14) over (2.20.11-0ubuntu27.12) ...
Preparing to unpack .../37-python3-apport_2.20.11-0ubuntu27.14_all.deb ...
Unpacking python3-apport (2.20.11-0ubuntu27.14) over (2.20.11-0ubuntu27.12) ...
Preparing to unpack .../38-apport_2.20.11-0ubuntu27.14_all.deb ...
Unpacking apport (2.20.11-0ubuntu27.14) over (2.20.11-0ubuntu27.12) ...
Preparing to unpack .../39-bcache-tools_1.0.8-3ubuntu0.1_amd64.deb ...
Unpacking bcache-tools (1.0.8-3ubuntu0.1) over (1.0.8-3) ...
Preparing to unpack .../40-bolt_0.8-4ubuntu1_amd64.deb ...
Unpacking bolt (0.8-4ubuntu1) over (0.8-4) ...
Preparing to unpack .../41-cryptsetup-initramfs_2%3a2.2.2-3ubuntu2.3_all.deb ...
Unpacking cryptsetup-initramfs (2:2.2.2-3ubuntu2.3) over (2:2.2.2-3ubuntu2.2) ...
Preparing to unpack .../42-cryptsetup-bin_2%3a2.2.2-3ubuntu2.3_amd64.deb ...
Unpacking cryptsetup-bin (2:2.2.2-3ubuntu2.3) over (2:2.2.2-3ubuntu2.2) ...
Preparing to unpack .../43-cryptsetup_2%3a2.2.2-3ubuntu2.3_amd64.deb ...
Unpacking cryptsetup (2:2.2.2-3ubuntu2.3) over (2:2.2.2-3ubuntu2.2) ...
Preparing to unpack .../44-cryptsetup-run_2%3a2.2.2-3ubuntu2.3_all.deb ...
Unpacking cryptsetup-run (2:2.2.2-3ubuntu2.3) over (2:2.2.2-3ubuntu2.2) ...
Preparing to unpack .../45-mdadm_4.1-5ubuntu1.2_amd64.deb ...
Unpacking mdadm (4.1-5ubuntu1.2) over (4.1-5ubuntu1) ...
Preparing to unpack .../46-finalrd_6~ubuntu20.04.1_all.deb ...
Unpacking finalrd (6~ubuntu20.04.1) over (5) ...
Preparing to unpack .../47-fwupd-signed_1.27.1ubuntu2+1.3.11-1~focal1_amd64.deb ...
Unpacking fwupd-signed (1.27.1ubuntu2+1.3.11-1~focal1) over (1.27.1ubuntu1+1.3.9-4ubuntu0.1) ...
Preparing to unpack .../48-libefivar1_37-2ubuntu2.2_amd64.deb ...
Unpacking libefivar1:amd64 (37-2ubuntu2.2) over (37-2ubuntu2) ...
Preparing to unpack .../49-libefiboot1_37-2ubuntu2.2_amd64.deb ...
Unpacking libefiboot1:amd64 (37-2ubuntu2.2) over (37-2ubuntu2) ...
Preparing to unpack .../50-libfwupd2_1.3.11-1~focal1_amd64.deb ...
Unpacking libfwupd2:amd64 (1.3.11-1~focal1) over (1.3.9-4ubuntu0.1) ...
Preparing to unpack .../51-libfwupdplugin1_1.3.11-1~focal1_amd64.deb ...
Unpacking libfwupdplugin1:amd64 (1.3.11-1~focal1) over (1.3.9-4ubuntu0.1) ...
Preparing to unpack .../52-fwupd_1.3.11-1~focal1_amd64.deb ...
Unpacking fwupd (1.3.11-1~focal1) over (1.3.9-4ubuntu0.1) ...
Preparing to unpack .../53-landscape-common_19.12-0ubuntu4.1_amd64.deb ...
Unpacking landscape-common (19.12-0ubuntu4.1) over (19.12-0ubuntu4) ...
Preparing to unpack .../54-libasound2_1.2.2-2.1ubuntu2.2_amd64.deb ...
Unpacking libasound2:amd64 (1.2.2-2.1ubuntu2.2) over (1.2.2-2.1) ...
Preparing to unpack .../55-libasound2-data_1.2.2-2.1ubuntu2.2_all.deb ...
Unpacking libasound2-data (1.2.2-2.1ubuntu2.2) over (1.2.2-2.1) ...
Preparing to unpack .../56-software-properties-common_0.98.9.3_all.deb ...
Unpacking software-properties-common (0.98.9.3) over (0.98.9.2) ...
Preparing to unpack .../57-python3-software-properties_0.98.9.3_all.deb ...
Unpacking python3-software-properties (0.98.9.3) over (0.98.9.2) ...
Preparing to unpack .../58-snapd_2.48+20.04_amd64.deb ...
Unpacking snapd (2.48+20.04) over (2.45.1+20.04.2) ...
Preparing to unpack .../59-unattended-upgrades_2.3ubuntu0.1_all.deb ...
Unpacking unattended-upgrades (2.3ubuntu0.1) over (2.3) ...
Preparing to unpack .../60-cloud-init_20.3-2-g371b392c-0ubuntu1~20.04.1_all.deb ...
Unpacking cloud-init (20.3-2-g371b392c-0ubuntu1~20.04.1) over (20.1-10-g71af48df-0ubuntu5) ...
Preparing to unpack .../61-open-vm-tools_2%3a11.1.5-1~ubuntu20.04.2_amd64.deb ...
Unpacking open-vm-tools (2:11.1.5-1~ubuntu20.04.2) over (2:11.0.5-4) ...
Setting up bcache-tools (1.0.8-3ubuntu0.1) ...
Setting up libapparmor1:amd64 (2.13.3-7ubuntu5.1) ...
Setting up bind9-libs:amd64 (1:9.16.1-0ubuntu2.4) ...
Setting up alsa-ucm-conf (1.2.2-1ubuntu0.5) ...
Setting up python3-problem-report (2.20.11-0ubuntu27.14) ...
Setting up libglib2.0-0:amd64 (2.64.3-1~ubuntu20.04.1) ...
Setting up libfwupd2:amd64 (1.3.11-1~focal1) ...
Setting up rsyslog (8.2001.0-1ubuntu1.1) ...
The user `syslog' is already a member of `adm'.
Adding user `syslog' to group `tty' ...
Adding user syslog to group tty
Done.
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Setting up less (551-1ubuntu0.1) ...
Setting up libnetplan0:amd64 (0.100-0ubuntu4~20.04.3) ...
Setting up locales (2.31-0ubuntu9.1) ...
Generating locales (this might take a while)...
Generation complete.
Setting up landscape-common (19.12-0ubuntu4.1) ...
Setting up finalrd (6~ubuntu20.04.1) ...
Setting up python3-apport (2.20.11-0ubuntu27.14) ...
Setting up libasound2-data (1.2.2-2.1ubuntu2.2) ...
Setting up apparmor (2.13.3-7ubuntu5.1) ...
Installing new version of config file /etc/apparmor.d/abstractions/nameservice ...
Reloading AppArmor profiles
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
Setting up libisc-export1105:amd64 (1:9.11.16+dfsg-3~ubuntu1) ...
Setting up libglib2.0-data (2.64.3-1~ubuntu20.04.1) ...
Setting up busybox-static (1:1.30.1-4ubuntu6.3) ...
Setting up python3-software-properties (0.98.9.3) ...
Setting up strace (5.5-3ubuntu1) ...
Setting up xz-utils (5.2.4-1ubuntu1) ...
Setting up python3-commandnotfound (20.04.4) ...
Setting up udev (245.4-4ubuntu3.3) ...
update-initramfs: deferring update (trigger activated)
Setting up sudo (1.8.31-1ubuntu1.1) ...
Setting up libfwupdplugin1:amd64 (1.3.11-1~focal1) ...
Setting up busybox-initramfs (1:1.30.1-4ubuntu6.3) ...
Setting up libfdisk1:amd64 (2.34-0.1ubuntu9.1) ...
Setting up libparted2:amd64 (3.3-4ubuntu0.20.04.1) ...
Setting up mount (2.34-0.1ubuntu9.1) ...
Setting up open-vm-tools (2:11.1.5-1~ubuntu20.04.2) ...
Installing new version of config file /etc/vmware-tools/tools.conf.example ...
Setting up uuid-runtime (2.34-0.1ubuntu9.1) ...
Setting up libplymouth5:amd64 (0.9.4git20200323-0ubuntu6.2) ...
Setting up libasound2:amd64 (1.2.2-2.1ubuntu2.2) ...
Setting up language-selector-common (0.204.2) ...
Setting up libefivar1:amd64 (37-2ubuntu2.2) ...
Setting up libcryptsetup12:amd64 (2:2.2.2-3ubuntu2.3) ...
Setting up libgirepository-1.0-1:amd64 (1.64.1-1~ubuntu20.04.1) ...
Setting up bind9-host (1:9.16.1-0ubuntu2.4) ...
Setting up mdadm (4.1-5ubuntu1.2) ...
update-initramfs: deferring update (trigger activated)
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 6976: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 6976: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 6989: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 6989: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7002: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7002: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7015: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7015: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7080: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7080: /usr/sbin/grub-probe
Found linux image: /boot/vmlinuz-5.4.0-58-generic
Found initrd image: /boot/initrd.img-5.4.0-58-generic
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7337: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on vgs invocation. Parent PID 7337: /usr/sbin/grub-probe
File descriptor 3 (pipe:[44571]) leaked on lvs invocation. Parent PID 7450: /bin/sh
done
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdcheck_continue.timer → /lib/systemd/system/mdcheck_continue.timer.
Setting up bolt (0.8-4ubuntu1) ...
bolt.service is a disabled or a static unit not running, not starting it.
Setting up initramfs-tools-bin (0.136ubuntu6.3) ...
Setting up cryptsetup-bin (2:2.2.2-3ubuntu2.3) ...
Setting up cryptsetup (2:2.2.2-3ubuntu2.3) ...
Setting up libdns-export1109 (1:9.11.16+dfsg-3~ubuntu1) ...
Setting up libglib2.0-bin (2.64.3-1~ubuntu20.04.1) ...
Setting up parted (3.3-4ubuntu0.20.04.1) ...
Setting up libefiboot1:amd64 (37-2ubuntu2.2) ...
Setting up open-iscsi (2.0.874-7.1ubuntu6.1) ...
Installing new version of config file /etc/iscsi/iscsid.conf ...
grep: /lib/modules-load.d/open-iscsi.conf: No such file or directory
Setting up fdisk (2.34-0.1ubuntu9.1) ...
Setting up unattended-upgrades (2.3ubuntu0.1) ...
Setting up cryptsetup-run (2:2.2.2-3ubuntu2.3) ...
Setting up command-not-found (20.04.4) ...
Setting up gir1.2-glib-2.0:amd64 (1.64.1-1~ubuntu20.04.1) ...
Setting up bind9-dnsutils (1:9.16.1-0ubuntu2.4) ...
Setting up initramfs-tools-core (0.136ubuntu6.3) ...
Setting up fwupd (1.3.11-1~focal1) ...
fwupd-offline-update.service is a disabled or a static unit not running, not starting it.
fwupd-refresh.service is a disabled or a static unit not running, not starting it.
fwupd.service is a disabled or a static unit not running, not starting it.
/var/lib/dpkg/info/fwupd.postinst: 47: dpkg-vendor: not found
Setting up initramfs-tools (0.136ubuntu6.3) ...
update-initramfs: deferring update (trigger activated)
Setting up fwupd-signed (1.27.1ubuntu2+1.3.11-1~focal1) ...
Setting up software-properties-common (0.98.9.3) ...
Setting up apport (2.20.11-0ubuntu27.14) ...
apport-autoreport.service is a disabled or a static unit, not starting it.
Setting up cryptsetup-initramfs (2:2.2.2-3ubuntu2.3) ...
update-initramfs: deferring update (trigger activated)
update-initramfs: deferring update (trigger activated)
Setting up systemd (245.4-4ubuntu3.3) ...
Installing new version of config file /etc/systemd/resolved.conf ...
Setting up python3-distupgrade (1:20.04.29) ...
Setting up netplan.io (0.100-0ubuntu4~20.04.3) ...
Setting up systemd-timesyncd (245.4-4ubuntu3.3) ...
Setting up ubuntu-release-upgrader-core (1:20.04.29) ...
Installing new version of config file /etc/update-motd.d/91-release-upgrade ...
Setting up python3-update-manager (1:20.04.10.1) ...
Setting up snapd (2.48+20.04) ...
Installing new version of config file /etc/apparmor.d/usr.lib.snapd.snap-confine.real ...
Installing new version of config file /etc/profile.d/apps-bin-path.sh ...
snapd.failure.service is a disabled or a static unit, not starting it.
snapd.snap-repair.service is a disabled or a static unit, not starting it.
Setting up systemd-sysv (245.4-4ubuntu3.3) ...
Setting up cloud-init (20.3-2-g371b392c-0ubuntu1~20.04.1) ...
Installing new version of config file /etc/cloud/cloud.cfg.d/05_logging.cfg ...
Installing new version of config file /etc/cloud/templates/chef_client.rb.tmpl ...
Installing new version of config file /etc/cloud/templates/hosts.freebsd.tmpl ...
Installing new version of config file /etc/cloud/templates/hosts.suse.tmpl ...
Installing new version of config file /etc/cloud/templates/resolv.conf.tmpl ...
Setting up ubuntu-minimal (1.450.2) ...
Setting up plymouth (0.9.4git20200323-0ubuntu6.2) ...
update-initramfs: deferring update (trigger activated)
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
Setting up libnss-systemd:amd64 (245.4-4ubuntu3.3) ...
Setting up plymouth-theme-ubuntu-text (0.9.4git20200323-0ubuntu6.2) ...
update-initramfs: deferring update (trigger activated)
Setting up update-manager-core (1:20.04.10.1) ...
Setting up libpam-systemd:amd64 (245.4-4ubuntu3.3) ...
Setting up ubuntu-standard (1.450.2) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for dbus (1.12.16-2ubuntu2.1) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Processing triggers for initramfs-tools (0.136ubuntu6.3) ...
update-initramfs: Generating /boot/initrd.img-5.4.0-58-generic
 

ubuntu@olxd-1:~$ sudo apt-get -y install zfsutils-linux

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed
Suggested packages:
  nfs-kernel-server samba-common-bin zfs-initramfs | zfs-dracut
The following NEW packages will be installed:
  libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed zfsutils-linux
0 upgraded, 6 newly installed, 0 to remove and 3 not upgraded.
Need to get 1523 kB of archives.
After this operation, 5406 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libnvpair1linux amd64 0.8.3-1ubuntu12.5 [48.7 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libuutil1linux amd64 0.8.3-1ubuntu12.5 [42.2 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libzfs2linux amd64 0.8.3-1ubuntu12.5 [207 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 libzpool2linux amd64 0.8.3-1ubuntu12.5 [812 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 zfsutils-linux amd64 0.8.3-1ubuntu12.5 [354 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 zfs-zed amd64 0.8.3-1ubuntu12.5 [59.7 kB]
Fetched 1523 kB in 1s (1203 kB/s)
Selecting previously unselected package libnvpair1linux.
(Reading database ... 71155 files and directories currently installed.)
Preparing to unpack .../0-libnvpair1linux_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking libnvpair1linux (0.8.3-1ubuntu12.5) ...
Selecting previously unselected package libuutil1linux.
Preparing to unpack .../1-libuutil1linux_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking libuutil1linux (0.8.3-1ubuntu12.5) ...
Selecting previously unselected package libzfs2linux.
Preparing to unpack .../2-libzfs2linux_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking libzfs2linux (0.8.3-1ubuntu12.5) ...
Selecting previously unselected package libzpool2linux.
Preparing to unpack .../3-libzpool2linux_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking libzpool2linux (0.8.3-1ubuntu12.5) ...
Selecting previously unselected package zfsutils-linux.
Preparing to unpack .../4-zfsutils-linux_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking zfsutils-linux (0.8.3-1ubuntu12.5) ...
Selecting previously unselected package zfs-zed.
Preparing to unpack .../5-zfs-zed_0.8.3-1ubuntu12.5_amd64.deb ...
Unpacking zfs-zed (0.8.3-1ubuntu12.5) ...
Setting up libuutil1linux (0.8.3-1ubuntu12.5) ...
Setting up libnvpair1linux (0.8.3-1ubuntu12.5) ...
Setting up libzfs2linux (0.8.3-1ubuntu12.5) ...
Setting up libzpool2linux (0.8.3-1ubuntu12.5) ...
Setting up zfsutils-linux (0.8.3-1ubuntu12.5) ...
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/zlua.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/spl.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/znvpair.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/zcommon.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/icp.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/zavl.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/zunicode.ko
insmod /lib/modules/5.4.0-58-generic/kernel/zfs/zfs.ko
Created symlink /etc/systemd/system/zfs-import.target.wants/zfs-import-cache.service → /lib/systemd/system/zfs-import-cache.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-import.target → /lib/systemd/system/zfs-import.target.
Created symlink /etc/systemd/system/zfs-mount.service.wants/zfs-load-module.service → /lib/systemd/system/zfs-load-module.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-load-module.service → /lib/systemd/system/zfs-load-module.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-mount.service → /lib/systemd/system/zfs-mount.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-share.service → /lib/systemd/system/zfs-share.service.
Created symlink /etc/systemd/system/zfs-volumes.target.wants/zfs-volume-wait.service → /lib/systemd/system/zfs-volume-wait.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-volumes.target → /lib/systemd/system/zfs-volumes.target.
Created symlink /etc/systemd/system/multi-user.target.wants/zfs.target → /lib/systemd/system/zfs.target.
zfs-import-scan.service is a disabled or a static unit, not starting it.
zfs-import-scan.service is a disabled or a static unit, not starting it.
Setting up zfs-zed (0.8.3-1ubuntu12.5) ...
Created symlink /etc/systemd/system/zed.service → /lib/systemd/system/zfs-zed.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-zed.service → /lib/systemd/system/zfs-zed.service.
Processing triggers for systemd (245.4-4ubuntu3.3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...

ubuntu@olxd-1:~$

Shutdown the VM

Shutdown the VM in preparation for adding two 25Gb LUNs for the ZFS storage pool for the LXD cluster.

Add LUNs to the VM

Add the two 25Gb LUNs to the VM for the ZFS storage pool as shown below.  See screenshots below of network and storage settings for the Orabuntu-LXC v7 HUB HOST


Figure 2.1


Figure 2.2


Figure 2.3


Figure 2.4


Figure 2.5


Figure 2.6


Figure 2.7 Details of /dev/sdb sizing and dynamic allocation rather than fixed allocation.  Fixed allocation can be used if preferred.



Figure 2.8 Details of the /dev/sdc LUN.

Prepare and Check the VM Network Settings

Prepare the network settings as shown below. 
  • Be sure that "Bridged Adapter" mode is selected. 
  • Be sure that "Intel PRO/1000 MT Server (82545EM)" is selected.
  • Be sure that "Allow All" is selected.


Figure 3.1 Details of the networking for the HUB HOST.  Note in particular
  • Set "Bridged Adapter" (to you wireless or wired ethernet interface)
  • Set "Adapter Type" (Intel PRO/1000 MT Server (82545EM) should be used do not use other options)
  • Set "Promiscuous Mode" (Allow All). 
All of these settings are the recommended settings for Orabuntu-LXC.

Prepare the ZFS Storage Pool

Start the VM and create the ZFS mirrored storage pool using the two 25Gb LUNs that were added in the previous steps.


ubuntu@u20d3:~$ ssh 192.168.1.232

ubuntu@192.168.1.232's password:

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-58-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 System information disabled due to load higher than 1.0

 * Introducing self-healing high availability clusters in MicroK8s.
   Simple, hardened, Kubernetes for production, from RaspberryPi to DC.

     https://microk8s.io/high-availability

6 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable


Last login: Wed Dec 16 17:38:45 2020

ubuntu@olxd-1:~$ sudo fdisk /dev/sdb

[sudo] password for ubuntu:

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x054bf250.

Command (m for help): d
No partition is defined yet!

Command (m for help): q

ubuntu@olxd-1:~$ sudo fdisk /dev/sdc

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x039ff020.

Command (m for help): d
No partition is defined yet!

Command (m for help): q

ubuntu@olxd-1:~$ sudo zpool create olxc-001 mirror /dev/sdb /dev/sdc

ubuntu@olxd-1:~$ sudo zpool list

NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
olxc-001  24.5G   108K  24.5G        -         -     0%     0%  1.00x    ONLINE  -

ubuntu@olxd-1:~$ sudo zpool status

  pool: olxc-001
 state: ONLINE
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    olxc-001    ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        sdb     ONLINE       0     0     0
        sdc     ONLINE       0     0     0

errors: No known data errors

ubuntu@olxd-1:~$

Shutdown the VM and Take Snapshot

Shutdown the VM and take a pre-install snapshot of the fully ready machine prior to Orabuntu-LXC v7 LXD install.  Suggested naming for the snapshot(s) of the cluster VMs are shown in the screenshot below.  After getting a snapshot of each VM in its "vanilla" state fully-configured and ready for the Orabuntu-LXC install, start the HUB HOST VM which in this guide, is named OLXD-1.

Re-verify ZFS Pool Status

Once the HUB HOST is up, login from a terminal and verify the status of the ZFS storage pool as shown below.

ubuntu@u20d3:~/Desktop$ ssh 192.168.1.232
ubuntu@192.168.1.232's password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-58-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

 System information disabled due to load higher than 1.0

 * Introducing self-healing high availability clusters in MicroK8s.
   Simple, hardened, Kubernetes for production, from RaspberryPi to DC.

     https://microk8s.io/high-availability

6 updates can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable


Last login: Thu Dec 17 14:55:56 2020
ubuntu@olxd-1:~$ sudo zpool status
[sudo] password for ubuntu:
  pool: olxc-001
 state: ONLINE
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    olxc-001    ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        sdb     ONLINE       0     0     0
        sdc     ONLINE       0     0     0

errors: No known data errors
ubuntu@olxd-1:~$ sudo zpool list
NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
olxc-001  24.5G   134K  24.5G        -         -     0%     0%  1.00x    ONLINE  -
ubuntu@olxd-1:~$

Install Required Package

Install the unzip package as shown below.


ubuntu@olxd-1:~/Downloads$ sudo apt-get install unzip
[sudo] password for ubuntu:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 1s (299 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 71388 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...

ubuntu@olxd-1:~/Downloads$

Get the Orabuntu-LXC V7 to-lxd Branch

Get the "to-lxd" branch code and unpack zip file.  Install package "unzip" if necessary, as shown below.



ubuntu@olxd-1:~$ ls -lrt

total 0
ubuntu@olxd-1:~$ mkdir Downloads

ubuntu@olxd-1:~$ cd Downloads

ubuntu@olxd-1:~/Downloads$ wget https://github.com/gstanden/orabuntu-lxc/archive/to-lxd.zip

--2020-12-16 17:56:54--  https://github.com/gstanden/orabuntu-lxc/archive/to-lxd.zip
Resolving github.com (github.com)... 140.82.113.3
Connecting to github.com (github.com)|140.82.113.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/gstanden/orabuntu-lxc/zip/to-lxd [following]
--2020-12-16 17:56:54--  https://codeload.github.com/gstanden/orabuntu-lxc/zip/to-lxd
Resolving codeload.github.com (codeload.github.com)... 140.82.113.10
Connecting to codeload.github.com (codeload.github.com)|140.82.113.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘to-lxd.zip’

to-lxd.zip                                                      [   <=>                                                                                                                                    ] 817.03K  1.64MB/s    in 0.5s    

2020-12-16 17:56:55 (1.64 MB/s) - ‘to-lxd.zip’ saved [836642]


ubuntu@olxd-1:~/Downloads$ unzip to-lxd.zip

Archive:  to-lxd.zip
b9aed082ac4b8ea8d27a1ee59e865c2d9b5f8fe7
   creating: orabuntu-lxc-to-lxd/
  inflating: orabuntu-lxc-to-lxd/COPYING  
  inflating: orabuntu-lxc-to-lxd/GNU3  
  inflating: orabuntu-lxc-to-lxd/README.md  
  inflating: orabuntu-lxc-to-lxd/_config.yml  
   creating: orabuntu-lxc-to-lxd/anylinux/
  inflating: orabuntu-lxc-to-lxd/anylinux/COPYING  
  inflating: orabuntu-lxc-to-lxd/anylinux/GNU3  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.CLONES.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.RELEASE.ON.GRE.HOST.1420.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.RELEASE.ON.HUB.HOST.1500.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.GRE.HOST.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.HUB.HOST.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.VM.ON.GRE.HOST.1420.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.VM.ON.HUB.HOST.1500.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux.lst  
  inflating: orabuntu-lxc-to-lxd/anylinux/dnf2yum  
  inflating: orabuntu-lxc-to-lxd/anylinux/vercomp  
  inflating: orabuntu-lxc-to-lxd/description  
   creating: orabuntu-lxc-to-lxd/linuxsan/
   creating: orabuntu-lxc-to-lxd/linuxsan/scst/
  inflating: orabuntu-lxc-to-lxd/linuxsan/scst/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/linuxsan/scst/scst-files.tar  
   creating: orabuntu-lxc-to-lxd/linuxsan/tgt/
  inflating: orabuntu-lxc-to-lxd/linuxsan/tgt/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/linuxsan/tgt/tgt-files.tar  
   creating: orabuntu-lxc-to-lxd/orabuntu/
  inflating: orabuntu-lxc-to-lxd/orabuntu/COPYING  
  inflating: orabuntu-lxc-to-lxd/orabuntu/GNU3  
   creating: orabuntu-lxc-to-lxd/orabuntu/archives/
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/COPYING  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/GNU3  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/default  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-cont.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-cont.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-host.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-host.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/docker.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/docker_install_orabuntu.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/file-exceptions.txt  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxc-oracle-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxc-oracle-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxd_install_orabuntu.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/nameserver_copy.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/scst-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/tgt-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/ubuntu-host.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/ubuntu-host.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-2.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-3.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-4.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-5.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/test.sh  
   creating: orabuntu-lxc-to-lxd/products/
   creating: orabuntu-lxc-to-lxd/products/no-product/
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.cnf  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.lst  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.net  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-db/
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.tar  
   creating: orabuntu-lxc-to-lxd/products/workspaces/
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.cnf  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.lst  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.net  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.tar  
   creating: orabuntu-lxc-to-lxd/uekulele/
  inflating: orabuntu-lxc-to-lxd/uekulele/.test2.sh.swp  
  inflating: orabuntu-lxc-to-lxd/uekulele/COPYING  
  inflating: orabuntu-lxc-to-lxd/uekulele/GNU3  
   creating: orabuntu-lxc-to-lxd/uekulele/archives/
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/COPYING  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/GNU3  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-cont.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-cont.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-host.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-host.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/docker_install_uekulele.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/file-exceptions.txt  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-oracle-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-oracle-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-templates.spec  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/nameserver_copy.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/python-six-1.9.0-2.el7.noarch.rpm  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/scst-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/tgt-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/ubuntu-host.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/ubuntu-host.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/wireless-tools-29-13.el7.x86_64.rpm  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-2.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-3.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-4.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-5.sh 

ubuntu@olxd-1:~/Downloads$

Verify Variable Values

These variables are set already and should not need to be changed.  Inspect the anylinux-services.HUB.HOST.sh file and "cat" or "more" the file to inspect any other variables that are of interest to you. Do not change any settings unless you are using the software in an "expert" mode.


ubuntu@olxd-1:~$ cd Downloads/orabuntu-lxc-to-lxd/anylinux/

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep Storage anylinux-services.HUB.HOST.sh | head -2

StoragePoolName=olxc-001
StorageDriver=zfs

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep Product anylinux-services.HUB.HOST.sh | head -4

    Product=workspaces
    Product=oracle-db
    Product=oracle-gi-18c
    Product=no-product

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$

Run the Orabuntu-LXC v7 HUB HOST Install

ubuntu@u20sv6:~/Downloads $ cd orabuntu-lxc-to-lxd/anylinux

ubuntu@u20sv6:~/Downloads/orabuntu-lxc-to-lxd/anylinux $ ./anylinux-services.HUB.HOST.sh new

==============================================
Script: anylinux-services.HUB.HOST.sh         
==============================================

[sudo] password for ubuntu:

(enter the sudo password for ubuntu ... in this example it is "ubuntu")

When the install of Orabuntu-LXC v7 is complete on HUB HOST the outputs will be similar to those shown below.

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ sudo lxc-ls -f

NAME       STATE   AUTOSTART GROUPS IPV4                      IPV6 UNPRIVILEGED
afns1      RUNNING 0         -      10.209.53.2, 172.29.108.2 -    false        
afns1-base STOPPED 0         -      -                         -    false        
oel79c10   RUNNING 0         -      172.29.108.10             -    false        
ora79c10   RUNNING 0         -      10.209.53.10              -    false        
ora79c11   RUNNING 0         -      10.209.53.11              -    false        
ora79c12   RUNNING 0         -      10.209.53.12              -    false        
ora79c13   RUNNING 0         -      10.209.53.13              -    false
       
ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ lxc cluster list

+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
|  NAME  |            URL             | DATABASE | STATE  |      MESSAGE      | ARCHITECTURE | FAILURE DOMAIN |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
| olxd-1 | https://10.209.53.1:8443   | YES      | ONLINE | fully operational | x86_64       | default        |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
| olxd-2 | https://10.209.53.201:8443 | NO       | ONLINE | fully operational | x86_64       | default        |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ lxc storage list

+-------+-----------------+--------+---------+---------+
| NAME  |   DESCRIPTION   | DRIVER |  STATE  | USED BY |
+-------+-----------------+--------+---------+---------+
| local | olxd-1-olxc-001 | zfs    | CREATED | 6       |
+-------+-----------------+--------+---------+---------+

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ lxc list

+----------+---------+-----------------------+------+-----------+-----------+----------+
|   NAME   |  STATE  |         IPV4          | IPV6 |   TYPE    | SNAPSHOTS | LOCATION |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| oel79d10 | RUNNING | 10.181.162.3 (eth0)   |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| oel79d11 | RUNNING | 10.181.162.181 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d10 | RUNNING | 10.181.162.201 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d11 | RUNNING | 10.181.162.140 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d12 | RUNNING | 10.181.162.101 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d13 | RUNNING | 10.181.162.181 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d14 | RUNNING | 10.181.162.91 (eth0)  |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d15 | RUNNING | 10.181.162.146 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d16 | RUNNING | 10.181.162.215 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d17 | RUNNING | 10.181.162.85 (eth0)  |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+

ubuntu@olxd-1:~/Downloads/orabuntu-lxc-to-lxd/anylinux$

Orabuntu-LXC v7.0.0-beta AMIDE does everything that Orabuntu-LXC v6 does, but in addition it introduces the new feature of making LXD copies of all the LXC containers and it also (in the Multi-Host deployment) creates the LXD cluster automatically with cluster password "ubuntu" with the LXD cluster using the GRE tunnel system of Orabuntu-LXC v6.

When you deploy a second cluster node,  or a third, etc. follow the instructions above, but use the "anylinux-services.GRE.HOST.sh" script and BE SURE to edit the "anylinux-services.GRE.HOST.sh" script and set the "HUB" and "SPOKE" variables correctly (HUB will be the IP of the first host just installed, and SPOKE will be the IP of the GRE host to be added to the LXD OpenvSwitch cluster network).

When the install of the second GRE HOST completes, you should have status outputs similar to those shown below.

==============================================
Orabuntu-LXC Ubuntu Linux 20.04 complete.         
==============================================
ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ sudo lxc-ls -f

NAME       STATE   AUTOSTART GROUPS IPV4          IPV6 UNPRIVILEGED
afns1      STOPPED 0         -      -             -    false        
afns1-base STOPPED 0         -      -             -    false        
oel79c11   RUNNING 0         -      172.29.108.11 -    false        
ora79c14   RUNNING 0         -      10.209.53.14  -    false        
ora79c15   RUNNING 0         -      10.209.53.15  -    false        
ora79c16   RUNNING 0         -      10.209.53.16  -    false        
ora79c17   RUNNING 0         -      10.209.53.17  -    false        

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ lxc list

+----------+---------+-----------------------+------+-----------+-----------+----------+
|   NAME   |  STATE  |         IPV4          | IPV6 |   TYPE    | SNAPSHOTS | LOCATION |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| oel79d10 | RUNNING | 10.181.162.3 (eth0)   |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| oel79d11 | RUNNING | 10.181.162.181 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d10 | RUNNING | 10.181.162.201 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d11 | RUNNING | 10.181.162.140 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d12 | RUNNING | 10.181.162.101 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d13 | RUNNING | 10.181.162.181 (eth0) |      | CONTAINER | 0         | olxd-1   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d14 | RUNNING | 10.181.162.91 (eth0)  |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d15 | RUNNING | 10.181.162.146 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d16 | RUNNING | 10.181.162.215 (eth0) |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+
| ora79d17 | RUNNING | 10.181.162.85 (eth0)  |      | CONTAINER | 0         | olxd-2   |
+----------+---------+-----------------------+------+-----------+-----------+----------+

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ lxc cluster list

+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
|  NAME  |            URL             | DATABASE | STATE  |      MESSAGE      | ARCHITECTURE | FAILURE DOMAIN |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
| olxd-1 | https://10.209.53.1:8443   | YES      | ONLINE | fully operational | x86_64       | default        |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+
| olxd-2 | https://10.209.53.201:8443 | NO       | ONLINE | fully operational | x86_64       | default        |
+--------+----------------------------+----------+--------+-------------------+--------------+----------------+

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$

Additional GRE HOSTS can be added to the LXD multi-host network by following the same steps for adding GRE hosts as shown above, but be sure to edit the SPOKE IP address for each new GRE HOST, while continuing to use the same HUB IP address in the "anylinux-services.GRE.HOST.sh" file for each new GRE host to be added to the LXD cluster.

Screenshots of Proper VBox VM Setup for OLXD v7 HUB HOST Install

See screenshots below of network and storage settings for the Orabuntu-LXC v7 GRE HOST


Figures 2.1 Details of LUN for /dev/sdb for ZFS mirrored storage pool olxc-002




Figure 2.2 Details of storage LUN for /dev/sdc for ZFS mirrored storage pool olxc-002



Figure 2.3 Details of networking for Orabuntu-LXC v7 GRE HOST

Repeat Similar Steps to Prepare the OLXD-2 GRE HOST

The steps to prepare an Orabuntu-LXC GRE HOST to join into a cluster with the Orabuntu-LXC HUB HOST are a repeat of the above.  Update, upgrade, install required packages, add ZFS storage pool LUNs, and create the ZFS 25Gb mirrored storage pool EXCEPT that you MUST name the storage pool on the GRE HOST as follows:

olxc-002

and if you add a second GRE HOST to create a cluster of threeLXD hosts then the second GRE HOST ZFS POOL will be named:

olxc-003

and so on.  Otherwise, the configuration is the same.

Prepare the GRE HOST for Orabuntu-LXC Install

Prepare the GRE HOST for Orabuntu-LXC install as shown below.

ubuntu@olxd-2:~$ sudo zpool create olxc-002 mirror /dev/sdb /dev/sdc -f

ubuntu@olxd-2:~$ sudo zpool list

NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
olxc-002  24.5G   112K  24.5G        -         -     0%     0%  1.00x    ONLINE  -

ubuntu@olxd-2:~$ sudo zpool status

  pool: olxc-002
 state: ONLINE
  scan: none requested
config:

    NAME        STATE     READ WRITE CKSUM
    olxc-002    ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        sdb     ONLINE       0     0     0
        sdc     ONLINE       0     0     0

errors: No known data errors

ubuntu@olxd-2:~$ mkdir Downloads

ubuntu@olxd-2:~$ cd Downloads

ubuntu@olxd-2:~/Downloads$ wget https://github.com/gstanden/orabuntu-lxc/archive/to-lxd.zip

--2020-12-17 19:02:37--  https://github.com/gstanden/orabuntu-lxc/archive/to-lxd.zip
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/gstanden/orabuntu-lxc/zip/to-lxd [following]
--2020-12-17 19:02:38--  https://codeload.github.com/gstanden/orabuntu-lxc/zip/to-lxd
Resolving codeload.github.com (codeload.github.com)... 140.82.113.10
Connecting to codeload.github.com (codeload.github.com)|140.82.113.10|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘to-lxd.zip’

to-lxd.zip                                                      [   <=>                                                                                                                                    ] 816.45K  1.63MB/s    in 0.5s    

2020-12-17 19:02:39 (1.63 MB/s) - ‘to-lxd.zip’ saved [836045]

ubuntu@olxd-2:~/Downloads$ unzip to-lxd.zip

Command 'unzip' not found, but can be installed with:

sudo apt install unzip

ubuntu@olxd-2:~/Downloads$ sudo apt-get install unzip

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  zip
The following NEW packages will be installed:
  unzip
0 upgraded, 1 newly installed, 0 to remove and 6 not upgraded.
Need to get 169 kB of archives.
After this operation, 593 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu focal/main amd64 unzip amd64 6.0-25ubuntu1 [169 kB]
Fetched 169 kB in 0s (465 kB/s)
Selecting previously unselected package unzip.
(Reading database ... 71375 files and directories currently installed.)
Preparing to unpack .../unzip_6.0-25ubuntu1_amd64.deb ...
Unpacking unzip (6.0-25ubuntu1) ...
Setting up unzip (6.0-25ubuntu1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for man-db (2.9.1-1) ...

ubuntu@olxd-2:~/Downloads$ unzip to-lxd.zip

Archive:  to-lxd.zip
6dfeaf3f4a181ce05444ceed318f9d559b33189f
   creating: orabuntu-lxc-to-lxd/
  inflating: orabuntu-lxc-to-lxd/COPYING  
  inflating: orabuntu-lxc-to-lxd/GNU3  
  inflating: orabuntu-lxc-to-lxd/README.md  
  inflating: orabuntu-lxc-to-lxd/_config.yml  
   creating: orabuntu-lxc-to-lxd/anylinux/
  inflating: orabuntu-lxc-to-lxd/anylinux/COPYING  
  inflating: orabuntu-lxc-to-lxd/anylinux/GNU3  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.CLONES.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.RELEASE.ON.GRE.HOST.1420.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.ADD.RELEASE.ON.HUB.HOST.1500.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.GRE.HOST.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.HUB.HOST.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.VM.ON.GRE.HOST.1420.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.VM.ON.HUB.HOST.1500.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux-services.sh  
  inflating: orabuntu-lxc-to-lxd/anylinux/anylinux.lst  
  inflating: orabuntu-lxc-to-lxd/anylinux/dnf2yum  
  inflating: orabuntu-lxc-to-lxd/anylinux/vercomp  
  inflating: orabuntu-lxc-to-lxd/description  
   creating: orabuntu-lxc-to-lxd/linuxsan/
   creating: orabuntu-lxc-to-lxd/linuxsan/scst/
  inflating: orabuntu-lxc-to-lxd/linuxsan/scst/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/linuxsan/scst/scst-files.tar  
   creating: orabuntu-lxc-to-lxd/linuxsan/tgt/
  inflating: orabuntu-lxc-to-lxd/linuxsan/tgt/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/linuxsan/tgt/tgt-files.tar  
   creating: orabuntu-lxc-to-lxd/orabuntu/
  inflating: orabuntu-lxc-to-lxd/orabuntu/COPYING  
  inflating: orabuntu-lxc-to-lxd/orabuntu/GNU3  
   creating: orabuntu-lxc-to-lxd/orabuntu/archives/
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/COPYING  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/GNU3  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/default  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-cont.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-cont.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-host.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/dns-dhcp-host.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/docker.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/docker_install_orabuntu.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/file-exceptions.txt  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxc-oracle-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxc-oracle-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/lxd_install_orabuntu.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/nameserver_copy.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/scst-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/tgt-files.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/ubuntu-host.lst  
  inflating: orabuntu-lxc-to-lxd/orabuntu/archives/ubuntu-host.tar  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-2.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-3.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-4.sh  
  inflating: orabuntu-lxc-to-lxd/orabuntu/orabuntu-services-5.sh  
   creating: orabuntu-lxc-to-lxd/products/
   creating: orabuntu-lxc-to-lxd/products/no-product/
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.cnf  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.lst  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.net  
  inflating: orabuntu-lxc-to-lxd/products/no-product/no-product.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-db/
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-db/oracle-db.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-18c/oracle-gi-18c.tar  
   creating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.cnf  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.lst  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.net  
  inflating: orabuntu-lxc-to-lxd/products/oracle-gi-19c/oracle-gi-19c.tar  
   creating: orabuntu-lxc-to-lxd/products/workspaces/
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.cnf  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.lst  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.net  
  inflating: orabuntu-lxc-to-lxd/products/workspaces/workspaces.tar  
   creating: orabuntu-lxc-to-lxd/uekulele/
  inflating: orabuntu-lxc-to-lxd/uekulele/.test2.sh.swp  
  inflating: orabuntu-lxc-to-lxd/uekulele/COPYING  
  inflating: orabuntu-lxc-to-lxd/uekulele/GNU3  
   creating: orabuntu-lxc-to-lxd/uekulele/archives/
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/COPYING  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/GNU3  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-cont.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-cont.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-host.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/dns-dhcp-host.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/docker_install_uekulele.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/file-exceptions.txt  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-oracle-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-oracle-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/lxc-templates.spec  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/nameserver_copy.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/python-six-1.9.0-2.el7.noarch.rpm  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/scst-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/scst-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/tgt-files.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/tgt-files.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/ubuntu-host.lst  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/ubuntu-host.tar  
  inflating: orabuntu-lxc-to-lxd/uekulele/archives/wireless-tools-29-13.el7.x86_64.rpm  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-0.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-1.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-2.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-3.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-4.sh  
  inflating: orabuntu-lxc-to-lxd/uekulele/uekulele-services-5.sh  
ubuntu@olxd-2:~/Downloads$ cd orabuntu-lxc-to-lxd/anylinux/

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'product' anylinux-services.GRE.HOST.sh | head -5 | tail -1

    Product=no-product

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'hubsudo' anylinux-services.GRE.HOST.sh | head -2

    HubSudoPwd=password
    HubSudoPwd=ubuntu

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'hubuseract' anylinux-services.GRE.HOST.sh | head -2

    HubUserAct=username
    HubUserAct=ubuntu

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'hubuseract' anylinux-services.GRE.HOST.sh | head -2

    HubUserAct=username
    HubUserAct=ubuntu

Set SPOKEIP and HUBIP Addresses in anylinux-services.GRE.HOST.sh File

This should be the only edit required of this file unless running the install in expert mode.  This step is to set the IP address of the GRE host and the IP address of the HUB host which was the first host that was installed with Orabuntu-LXC and is also the first member in the LXD cluster.

When the installer runs on the GRE HOST, it does a few checks when it starts to make sure the destination HUB HOST address is correct, and exits if it is not, so watch the install for the first 30 seconds or so, and then after that the install can run unattended, as it is fully-automated.
ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'spoke' anylinux-services.GRE.HOST.sh | head -2

    SPOKEIP='lan.ip.this.host'
     SPOKEIP=192.168.1.227 <-- need to change this IP address to the correct IP of the GRE HOST

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'hub' anylinux-services.GRE.HOST.sh | head -2

    HUBIP='lan.ip.hub.host'
     HUBIP=192.168.1.224   <-- need to change this IP address to the correct IP of the HUB HOST

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ sudo vi anylinux-services.GRE.HOST.sh

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'spoke' anylinux-services.GRE.HOST.sh | head -2

    SPOKEIP='lan.ip.this.host'
     SPOKEIP=192.168.1.235

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ grep -i 'hub' anylinux-services.GRE.HOST.sh | head -2

    HUBIP='lan.ip.hub.host'
     HUBIP=192.168.1.232

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$

Run the Orabuntu-LXC v7 GRE HOST Installer

Run the installer as shown below.

ubuntu@olxd-2:~/Downloads/orabuntu-lxc-to-lxd/anylinux$ ./anylinux-services.GRE.HOST.sh new






Comments