foundation

PURPOSE

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.

HARDWARE LAYER

BIOS

OPERATING SYSTEM LAYER

Linux Kernel

Based on default version defined by the Ubuntu LTS server version installed.

AppArmor

Installed by default by Ubuntu Linux server LTS version. See AppArmor configuration doc for help.

Ubuntu Linux Server

After 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

## 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 ```

check route to other server available in default lan

ping

check route to potential external LAN machine (e.g machine name known by DNS server that have been dynamically configured by DHCP client)

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 ```

# Back To Home