Dumbledore
Jump to navigation
Jump to search
Dumbledore is the Raspberry Pi 4 that we use as backup server. See also Voldemort.
Information
- CPU is a armv8, but as raspbian is 32-bit, it is reported as a 32-bit armv7l [1].
- We need usual Debian ARM to get 64-bit apps running. But this may also not be as optimized as Raspbian.
lscpu
# Architecture: armv7l
# Byte Order: Little Endian
# CPU(s): 4
- Ethernet: IP 192.168.1.94,
link/ether dc:a6:32:69:da:4e
- WiFi: IP DHCP,
link/ether dc:a6:32:69:da:4f
Configuration
- Install Raspbian Buster 32-bit (2020-08-20-raspios-buster-armhf-full.zip) using imager_1.4_amd64.deb.
- Install NoMachine server (armv7 because 32-bit OS, also 64-bit is reported as not being optimized).
- Enable hardware acceleration in server settings.
- Add to /etc/NX/server/localhost/server.cfg [2]:
AvailableSessionTypes unix-remote,unix-console,unix-default,unix-application,shadow,unix-xsession-default,unix-gnome,unix-xdm,windows,physical-desktop
- Restart the server
/etc/NX/nxserver --restart
.
- Restart the server
- Use static IP by editing /etc/dhcpcd.conf [3]:
+interface wlan0
+static ip_address=192.168.1.94/24
+#static ip6_address=fd51:42f8:caae:d92e::ff/64
+static routers=192.168.1.1
+static domain_name_servers=192.168.1.1 8.8.8.8 fd51:42f8:caae:d92e::1
- Enable ssh server. The simplest is to [4]:
# Either touch a file and reboot the device
sudo touch /boot/ssh
sudo reboot
# Or enable through systemd
sudo systemctl enable ssh
sudo systemctl start ssh
- Add to ~/.config/autostart/set_belgian_kbd.desktop:
[Desktop Entry]
Type=Application
Name=Set Belgian autostart
Comment=Set keyboard to Belgian layout
NoDisplay=true
Exec=sh -c '/usr/bin/setxkbmap be'
- This should fix the wrong keyboard layout issue.
Borg server
We will use this pi4 as our main borg server.
- Add a user
borg
. - Remove
pi
fromsudo
group. - Disable no password sudo rule (/etc/sudoers.d/010_pi-nopasswd).
- Use strong password for user pi, borg and root.
- Install borg:
sudo apt install cython cython3
sudo apt-get install python3 python3-dev python3-pip python-virtualenv \
libssl-dev openssl \
libacl1-dev libacl1 \
build-essential
sudo pip3 install borgbackup
- Add to /etc/ssh/sshd_config [5]:
ClientAliveInterval 10 ClientAliveCountMax 30
- When using Wolverine NAS as storage
- Mount borg share as separate autofs host (/smb/borg/borg), restricted to borg user:
borg -fstype=cifs,vers=1.0,_netdev,perm,iocharset=utf8,sec=ntlm,uid=borg,forceuid,gid=borg, \
forcegid,file_mode=660,dir_mode=770,credentials=/etc/auto.master.d/smb.borg.borg.cred ://wolverine/homes/borg
- Now, using USB as storage
- Mount SSD in /etc/fstab:
UUID=0a6dab24-a62c-42d3-b032-315c33f1a2ca /mnt/tera ext4 defaults,noatime 0 1
- Link it to /home/borg/repo
sudo ln -sd /mnt/tera/borg /home/borg/repo
- Enable TRIM:
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
- Example of authorized_keys:
command="/usr/local/bin/borg serve --restrict-to-path /home/borg/repo/",restrict ssh-ed25519 AAA... xyz@abc
Issues
- When booting headless, the session is not the same as the one we get when we boot with hdmi connected.
Samsung SSD 860 EVO through USB 3
- Can't get it to work with Advance USB 3 case (chipset ASMedia AS2105).
- Work currently on USB 2 enclosure.
- Refer: https://wiki.debian.org/SSDOptimization
- Refer: http://blog.neutrino.es/2013/howto-properly-activate-trim-for-your-ssd-on-linux-fstrim-lvm-and-dmcrypt/
- Must we enable TRIM?
- There are problem around NCQ (queued TRIM)...
- Samsung SSD 840 and
Samsung SSD 850
are blacklisted in libata-core.c. - However, there are patches telling that Queued TRIM is fully supported on Linux... or not [6], [7], [8], [9]
- Enabled TRIM with
sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer