This technical documentation presents the installation protocol of a Linux Ubuntu distribution on a server supporting a CYDEL01 infrastructure.
Basic BIOS and OS layer’s elements are presented with detail of all technical operations to execute for prepare a server into a “ready for virtualization layer installation” state.
Based on default version defined by the Ubuntu LTS server version installed.
Installed by default by Ubuntu Linux server LTS version. See AppArmor configuration doc for help.
/srvAfter installation, storage layout and filesystem layout shall be shown (via lsblk -f command) as:
| NAME | FSTYPE | TYPE | RO | MOUNTPOINTS |
| sda | btrfs | disk | 0 | /srv |
| sr0 | rom | 0 | ||
| nvme0n1 | disk | 0 | ||
| nvme0n1p1 | vfat | part | 0 | /boot/efi |
| nvme0n1p2 | ext4 | part | 0 | /boot |
| nvme0n1p3 | LVM2_member | part | 0 | |
| - ubuntu–vg-ubuntu–lv | ext4 | lvm | / |
sudo swapoff -a
#sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo sed -i '/ swap / s/^/#/' /etc/fstab
sudo tee /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --systemchange default server’s hostname defined during the standard SUSE installation by another one according to the server role (e.g “cybsup01” about CYBNITY Support’s server 1) via command line sudo hostnamectl set-hostname cybsup01
to make change without closing the terminal via command exec bash
sudo vi /etc/hosts
# Add a line: server-desired-hostname
## Networking
- Check detected network card via commands:
sudo lspci | grep -E -i –color ‘network|ethernet|wireless|wi-fi’
- Check capacities of card via command `sudo lshw -class network`
- When need more hardware information, install hwinfo tool via command:
sudo apt-get install hwinfo
- show configuration of detected ethernet controllers via command `sudo hwinfo --netcard`
### Intel 10-Gigabit X540-AT2 card drivers
When NIC not detected or usable, install when network card were not detected/configured during the origin Linux installation.
- Download of drivers files via command lines:
curl -O https://downloadmirror.intel.com/832293/ixgbe-5.21.5.tar.gz curl -O https://downloadmirror.intel.com/832293/intel-public-key-ixgbe-ko.zip curl -O https://downloadmirror.intel.com/832296/ixgbevf-4.20.5.tar.gz curl -O https://downloadmirror.intel.com/832296/intel-public-key-ixgbevf-ko.zip
- Execute driver installation via command lines:
transactional-update -i pkg install ixgbe-5.21.5.tar.gz transactional-update -i pkg install intel-public-key-ixgbe-ko.zip
- Reboot system
- Check visibility of detected network cards via command `ip a`
- install ifconfig via command `sudo apt install net-tools` allowing usage of __ifconfig__ command
### NetworkManager configuration
By default, only motherboard default embedded network card is configured (statically or in DHCP mode according to the choice made during the Ubuntu installation procedure).
None configuration is existing about the additional network card (e.g Intel 10-Gigabit X540-AT2 card).
- Identify card identifiers which could be configured into the netplan network configuration management tool used by Ubuntu via command: `ifconfig -a`
- Create a new file `/etc/netplan/99-vlan-network-config.yaml` (complementary configuration to the default existing netplan files included the setting of default network card) including setting per ethernet card:
network: version: 2 renderer: networkd ethernets: # make optional waiting of internet connection during boot over NIC that are not connected # down - don’t wait for it to come up during boot # dedicated NIC to server management (e.g remote Wake On Lan) with specific ip address and hostname (not based on default server hostname configuration) enp0s25: dhcp4: true optional: true dhcp4-overrides: use-dns: true send-hostname: false hostname: cybsup01_mgt dhcp6: true dhcp6-overrides: use-dns: true send-hostname: false hostname: cybsup01_mgt
# set 100Gbps NIC cards in DHCP mode as operation server endpoints
enp11s0f0:
dhcp4: true
optional: true
dhcp4-overrides:
use-dns: true
send-hostname: true
dhcp6: true
dhcp6-overrides:
use-dns: true
send-hostname: true
enp11s0f1:
dhcp4: true
optional: true
dhcp4-overrides:
use-dns: true
send-hostname: true
dhcp6: true
dhcp6-overrides:
use-dns: true
send-hostname: true ``` See [Netplan documentation](https://netplan.readthedocs.io/en/latest/netplan-yaml/) for mode detail about usable attributes for configuration file. - Change the permission allowed to the network configuration files to minimise accessibility to other users via command: ``` sudo chmod 600 /etc/netplan/*.yaml ```
sudo netplan try
sudo netplan apply
ping google.com
ping
ping
### Wake On LAN enabling
- Check that WOL is supported by card and activated into the OS:
- install ethtool via command `sudo apt install ethtool -y`
- execute commands:
# identify the identifier of each available network card ip a # find out if the network card supports wake-on-LAN sudo ethtool enp0s25
- check values of properties shown (becarefull, PCI additional card can not support WOL when Supports Wake-on parameter value is equals to 'd'):
```
Supports Wake-on: pumbg
Wake-on: g
```
- Setting one of __u__, __m__ or __b__ along with __g__ might also be necessary to enable the feature. Some motherboard manufacturers require you to change the settings in the BIOS to enable this feature. If there is no change when you check after entering the command, it is recommended to look at the BIOS settings.
- Since Ubuntu has been transitioning to systemd since version 15.04 and part of that transition is the implementation of Predictable Network Interface Naming, replace INTERFACE for Wake On Lan with the interface name targeted, for ethtool to tell the network card to listen out for magic packets. The __g__ denotes that it should __listen for magic packets__ (and __d__ value makes feature disabled) via command:
# change Wake-on property on interface sudo ethtool -s enp0s25 wol g
# check changed status (changed value of Wake-on property) sudo ethtool enp0s25 ```
wol.service into the /etc/systemd/system folder, including (used value d for disable, or value g for enable Wake-on mode into the ExecStart command’s parameter):
```
[Unit]
Description=Configure Wake-up on LAN[Service] Type=oneshot ExecStart=/sbin/ethtool -s enp0s25 wol g
[Install] WantedBy=basic.target
- add wol service to the systemd services via command:
sudo systemctl daemon-reload
- enable the service to run on start up and to fire up the service via command:
sudo systemctl enable wol.service
- check status via command:
sudo systemctl status wol ```
poweroff to stop the machinewakeonlan <<MAC ADDRESS>>)