To run Awanio, several supporting infrastructure components are needed, such as good quality servers, network devices to connect between nodes in the cluster, and storage. For storage devices, Awanio can use local storage (DAS), network storage (SAN) and distributed storage (Ceph).
The operating system required to run Awanio is Ubuntu Server version 20.04.
- Intel EMT64 or AMD64 with Intel VT/AMD-V CPU flag. 8 cores minimum, 16 cores or above preferred.
- For PCI(e) passthrough CPU configuration with VT-d/AMD-d CPU flag must be enabled.
- Memory, minimum 16 GB for OS and services used by Awanio. The remaining memory will be allocated for guests. For Ceph or ZFS additional memory is required, at least 1 GB of memory for every 1 TB of used storage.
- Fast and redundant storage, it is recommended to use SSD disks.
- Disk Capacity: at least 2 disks are required in each node. The first is for the OS boot disk and the other is for data. For OS disk at least 50GB minimum, 100GB preferred. And for minimum 120GB data disk, recommended for more than 500GB. Make sure the disk has 5,000+ random IOPS performance.
- For OS storage: use Hardware RAID with batteries protected write cache (“BBU”) or if it is non-RAID use ZFS and SSD cache.
- For VM storage: If local storage, use hardware RAID with battery backed write cache (BBU) or for non-RAID use ZFS.
- Redundant Gbit NICs.
- Three NICs
- CPU: 64bit (Intel EMT64 or AMD64), 8 cores minimum.
- Intel VT/AMD-V capable CPU/Mainboard (for KVM Full Virtualization support)
- Minimum 16GB of RAM
- Two SSD Hard drives. One for the OS and one for workload data.
- Two NICs
Each node that is joined to the cluster must have at least 2 NICs. The first NIC will be used for internal cluster management. The second NIC is used for external networking between workloads inside the cluster and workloads outside the cluster. The NIC name used in each node must be the same.
In a public cluster environment, the external network is a public IP that will be used by each vm.
In a private cluster environment, the external network is the IP range that is shared with servers or VMs that are outside the cluster. In this topology model, if it is necessary to ingress from a public IP, then one or several nodes must have a third NIC connected directly to the WAN. This IP is then defined in the ingressExternalIPs directive in the cluster-config file.
In this model, external requests can only be made via Ingress Service and Load Balancer service.
Awanio uses Ceph as SDS in managing storage. There are two options for storage configurations that can be used, i.e. internal and external.
This configuration is where some or all of the nodes joined in the custer act as storage nodes. The storage used can be a local disk with the SSD or NVME type or an external distributed storage type.
In order to configure the storage node, at least one of these local storage types is required:
- Raw devices (no partitions or formatted filesystems)
- Raw partitions (no formatted filesystem)
- LVM Logical Volumes (no formatted filesystem)
To check, you can use the lsblk -f
command
Information in FSTYPE must be empty.
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
└─vda1 LVM2_member >eSO50t-GkUV-YKTH-WsGq-hNJY-eKNf-3i07IB
├─ubuntu--vg-root ext4 c2366f76-6e21-4f10-a8f3-6776212e2fe4 /
└─ubuntu--vg-swap_1 swap 9492a3dc-ad75-47cd-9596-678e8cf17ff9 [SWAP]
vdb
In the example above, vdb disk can be used.
To make a disk or partition raw disk or raw formatted, use the following command:
DISK="/dev/sdX"
# Zap the disk to a fresh, usable state (zap-all is important, b/c MBR has to be clean)
sgdisk --zap-all $DISK
# Wipe a large portion of the beginning of the disk to remove more LVM metadata that may be present
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
# SSDs may be better cleaned with blkdiscard instead of dd
blkdiscard $DISK
# Inform the OS of partition table changes
partprobe $DISK
External storage must use the LUN protocol. Disks that have been attached to the storage node must be ensured in raw device format. To be sure, run the following commands:
sudo multipath -ll
The following command is to make a raw disk:
sudo multipath -f mpathb
To activate the disk, run the command:
sudo multipath
- The user used must be sudo user
- The sudo user should be able to run commands without needing to enter a password again. Check out the guide here.
- Each node must have other’s SSH private keys.
Each Node must be in a swap-off state.
- Identify configured swap devices and files with
cat /proc/swaps
. - Turn off all swap devices and files with
swapoff -a
. - Remove any matching reference found in
/etc/fstab
.
License key is required for the installation process. To get a license please login to https://partner.awan.io/.