Nieuwe nas/server.

Mijn huidige NAS/server staat alweer enige tijd (sinds ~2018) te draaien, tijd voor een update/vernieuwing. Ik draai al een aantal jaren Ubuntu LTS server, dus 24.04 is een logische keuze (Noble Numbat). Ik gebruik al jaren een laptop met een externe USB3 harddisk, en dat bevalt mij uitstekend (Zijn relatief zuinig, en hebben wel goede performance). Dus de nieuwe server wordt ook weer een oude laptop. Hier de zaken die ik moest doen…

Installatie ubuntu 24.04

Ik heb hiervoor ubuntu 24.04 op een stick gezet, en deze geinstalleerd:

  • De bios boot mode van de dell laptop moest op AHCI gezet worden ipv Dell Raid.
  • Laptop een vast IP adres gegeven! DHCP is niet handig omdat deze server zelf ook dhcp server gaat worden.
  • Hardisk setup: full disk, no LVM.
  • Install OpenSSH, géén snaps
  • Set de timezone op Europe/Amsterdam:
sudo timedatectl set-timezone Europe/Amsterdam

Na 1e installatie en herstart eerst updates gedraait… Daarna cloud-init gedisabled:

$ touch /etc/cloud/cloud-init.disabled

Ik wil er toch wel een GUI op hebben, voornamelijk tbv management voor Virtualbox VM’s. Gekozen optie is LightDM

sudo apt install lightdm
sudo apt install ubuntu-desktop

Wel raar dat ik bij installatie van de ubuntu desktop de keuze kreeg tussen lightdm en gdm? Die was dus al geinstalleerd…?

Na installatie bleef hij bij opstarten nogal lang hangen op de “job systemd-networkd-wait-online.service“. Door de installatie van de GUI zijn er ineens 2 network-managers geinstalleerd, en die bijten elkaar… Om dit op te lossen de volgende gedaan:

systemctl is-enabled systemd-networkd-wait-online.service NetworkManager-wait-online.service -> Hieruit bleek dat ze beiden actief zijn..
systemctl disable systemd-networkd.service

Hierna alle users geinstalleerd, ik had hier al een soort script voor, waarbij de gebruiker dezelfde uid heeft/krijgt als de vorige server. (Dat is handig als ik de data ga overzetten, dan ik niet opnieuw alle rechten goed te zetten.)

Disable suspend en de laptop lid/ beeldscherm switch

Om te voorkomen dat de laptop uitgaat/suspend (en als je het beeld dichtklapt), moet je het volgende doen:

sudo nano /etc/systemd/sleep.conf ->
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

sudo nano /etc/systemd/logind.conf  -> HandleLidSwitch=ignore
sudo systemctl restart systemd-logind

Installatie van docker + compose plugin

Docker wordt geinstalleerd vanaf de originele docker repository’s, zodat we altijd de laatste versie(s) hebben:

sudo apt install apt-transport-https curl
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl is-active docker
sudo usermod -aG docker ${USER} 

Het laatste commando voegt de huidige gebruiker toe als docker user; zodat deze ook docker commando’s kan uitvoeren (en niet alleen root/sudo). Als je na dit command even afmeld en weer aanmeld is het ok.

12jan25: Voor nu is dit het even. Ga nu aan de gang met pihole als local dns/dhcp server. 🙂

Installatie van xrdp

Ook deze server wil ik remote kunnen beheren via de VPN, dus ook hier RDP op linux doos geinstalleerd. Het commando om de service te enablen gaf een error:

Invalid unit name "–now" escaped as "\xe2\x80\x93now" (maybe you should use systemd-escape?).
Synchronizing state of xrdp.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable xrdp
Failed to enable unit: Unit file \xe2\x80\x93now.service does not exist.

Maar uiteindelijk dus ook niet nodig, dit wordt direct bij de installatie gedaan.

Mounten externe harddisk

Ok, het is de bedoeling dat het een NAS wordt, dus schijfruimte is wel handig… Ik heb een externe 6tb schijf, welke ik hiervoor gebruik. Deze ingeplugt..

Aanmaken partitie en filesystem:

ls -l /dev/sd*
brw-rw---- 1 root disk 8, 16 Jan 18 16:06 /dev/sdb

sudo fdisk /dev/sdb
 Command (m for help): p  #-> Print current disk info + partitions
 Command (m for help): n  #-> nieuwe partitie aanmaken. (oude kun je eerst verwijderen met d)
Partition number (1-128, default 1): 1
First sector (34-11721045134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-11721045134, default 11721043967):
Created a new partition 1 of type 'Linux filesystem' and of size 5.5 TiB.
 Command (m for help): wr #-> wijzigingen worden pas NA dit commando opgeslagen!
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

sudo mkfs -t ext4 /dev/sdb1
 mke2fs 1.47.0 (5-Feb-2023)
 Creating filesystem with 1465130240 4k blocks and 183144448 inodes
 Filesystem UUID: cb6da921-4465-41f7-aa3f-0f8f53766872
 Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544
 Allocating group tables: done
 Writing inode tables: done
 Creating journal (262144 blocks): done
 Writing superblocks and filesystem accounting information: done

Mounten van de disk: Dit kun je het meest betrouwbaar doen mbv de uuid:

ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 18 16:24 cb6da921-4465-41f7-aa3f-0f8f53766872 -> ../../sdb1
sudo nano /etc/fstab  ->
#external disk:
/dev/disk/by-uuid/a988eb64-28de-41f0-86c2-0768fecbe9ed /media/6tbdisk/ ext4 defaults 0 0
sudo mkdir /media/6tbdisk
sudo systemctl daemon-reload
sudo mount -a
df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p2  233G   16G  206G   8% /
/dev/nvme0n1p1  1.1G  6.2M  1.1G   1% /boot/efi
/dev/sdb1       5.5T   28K  5.2T   1% /media/6tbdisk

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *