Server Installation

How to install UNIX/LINUX operating system on a server.

Install Operating System:
Format DOK to ex4 format, and extract the iso file into the DOK. *The BIOS can't open an iso file.

After installing the operating system through flash drive (will be elaborated in the future), do the following commands,

Install misc programs:
sudo apt update sudo apt upgrade sudo apt install vim sudo apt install hwinfo sudo hwinfo hwinfo --gfxcard --short

Mount directory for storage:
Use the following command to see existing devices,

sudo fdisk -l

For each drive do,

sudo mkdir /storage/ss1t sudo mount /dev/sdb1 /storage/ss1t    # might need to use it again when a server is rebooted... sudo mkdir /storage/ss2t sudo mount /dev/sdc1 /storage/ss2t ...

For Perm3: sudo mkdir /mnt/ss1t    (create target folder for mount if necessary) sudo mount /dev/sda1 /mnt/ss1t   (even though the devices name is sda, you must add sda1 because of device partition) sudo mkdir /mnt/ss2t             (same as before) sudo mount /dev/sdb1 /mnt/ss2t   (same)

...

For Perm2: sudo mount /dev/sdg /speaker_storage/storage_6 sudo mount /dev/sdf1 /speaker_storage/storage_2 sudo mount /dev/sde1 /speaker_storage/storage_4TSSD sudo mount /dev/sdh1 /speaker_storage/storage_3 sudo mount /dev/sdi1 /speaker_storage/storage_5 ...

After a server reboot, mounted directories are gone. Just do the mount command again, and restart the dockers. For permanent solution please click here.

Install Nvidia drivers:
Go into [nvidia.com]. In "Drivers" pick the relevant driver.

i.e.

We do not need the driver at the computer itself. Just copy the link by right-clicking the green download button, and click "copy link address".

Go to the terminal with sudo permissions.

Before installation, to delete nvidia drivers we already have:

sudo apt purge nvidia-*

Download the driver to the server:

sudo wget https://uk.download.nvidia.com/XFree86/Linux-x86_64/460.73.01/NVIDIA-Linux-x86_64-460.73.01.run

We want to change permissions:

sudo chmod +x ./NVIDIA-Linux-x86-64-460.73.01.run

And install:

sudo ./NVIDIA-Linux-x86-64-460.73.01.run


 * To fix problems with Nouveau...


 * If the installation failed because of missing packages do - sudo apt-get install gcc make

Now, reboot the system (sudo reboot) and try to see if it works by:

nvidia-smi

Install docker engine:
sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io

For Centos operating system (like on perm3) follow the instructions here: https://docs.docker.com/engine/install/centos/

Add Nvidia support:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker

Create a Tensorflow Docker:
Go to Docker page.

Permanent Solution for Mount After Reboot
We are going to edit /etc/fstab file, which should be done very carefully or else the server won't reboot correctly.


 * Search your targetted device/s with the following command:

fdisk -l

For example - in permuter1 we want to use /dev/sdb1 (1 is for the partition in sdb device).


 * First we need the UUID of the wanted storage device -

ls -tla /dev/disk/by-uuid/

You will get a list of devices when each one has a universally unique identifier (UUID). Copy it using your mouse for future use.

For example - the UUID of /dev/sdb1 is 7eaf47cd-.....-2feae273efdf


 * Now we need the type of the wanted device -

df -T

Find your targeted device record, and remember the type of the device (in the column Type)

For example - the record of /dev/sdb1 shows that the type is ext4

Now we will use vim to open /etc/fstab -

vim /etc/fstab

We will add the line of our wanted mounted device. The file is ordered in the following way -

Depend on your system, you can have various types of   representation. Just keep the convention of you system in the following line you will add.

Add the a new line at the end of the file, where UUID will be the one you've copied before, mount point will be the mount point of you storage data (done in the server installation procedure), type is the type you got from previous step, and the last 3 columns will be defaults 0 0.

For example - for perm1 with /dev/sdb1 we will add:

/dev/disk/by-uuid/7eaf47cd-.....-2feae273efdf /storage/ss1t  ext4  defaults  0  0

Before saving the file, check again everything is correct!!!

Now reboot the server (or use the command mount -a)and check if the directory is in the mounting point as you configured.

Remote Server Restart Using BMC ip address
Permuter-1 has an issue that once in a while you can't connect to it via ssh session. However, the server is online. In order to enable the ssh session connection, you need to restart it (as far as we know) through BMC connection.

Install ipmitool package by inserting the following command on the terminal (has to be done once):

sudo apt install ipmitool

Afterward, do the following command:

ipmitool lan print | grep "IP Address"

Copy the DHCP address that appears on the terminal and go to a regular browser and enter admin@

Then enter the login credentials.

Afterwards, click on "Remote Control" ---> "Server Power Control" ---> "Reset Server" ---> "Perform Action".

A restart usually takes about a minute, afterward, the server should be successfully restarted.