Es muss nicht immer ein Raspberry Pi sein – Minisforum GK50 x86 Mini PC

Minisforum GK50

Wer einen stromsparenden Mini-Rechner sucht und nicht zum Raspberry Pi 4 greifen will, findet diverse andere Möglichkeiten. Inzwischen gibt es auch brauchbare x86 Geräte, wie den Minisforum GK50 mit einem sparsamen Mobile Pentium Silver Prozessor.

Hardware Zusammenfassung GK50

Alle wichtigen Schnittstellen sind vorhanden.

CPUIntel® Pentium® Silver N5030 Processor , 4 Cores/4 Threads
(4M Cache, up to 3.10 GHz)
TDP: 6 Watt, SDP: 4,8 Watt
Mehr Infos zur CPU
GPUIntel® UHD Graphics 605
Grafikanschlüsse1x HDMI Port
1x Display Port
SpeicherLPDDR4 8GB (On Board nicht erweiterbar)
LAN2x 1000 Mbit/s
WLANIEEE 802.11ac Dual-Band Wi-Fi
BluetoothBT 5.0
USB4* USB 3.0 Ports
StorageM.2 2280 128GB SATA SSD (wechselbar)
Storage Expansion1x 2.5 inch SATA HDD Slot (SATA 3.0 6.0Gb/s)
1x TF Card Slot (bis zu 128GB)
BetriebssystemWindows 10 Professional (vorinstalliert)
AbmessungenB 125mm x T 113mm × H 30mm
Gewichtca. 260g
Sonstigesexternes Netzteil
komplett passiv gekühlt – ohne Lüfter
Minisforum GK50 Ausstattung (Quelle: https://store.minisforum.com/products/minisforum-gk50-mini-pc)

Lieferumfang

  • GK50 Mini PC
  • HDMI-Kabel
  • DisplayPort-Kabel
  • externes Netzteil (36W)
  • VESA-Halteahmen mit Schrauben
  • 4 Ersatz Gummifüsschen
  • 4 Schrauben (zur Befestigung einer 2,5″ SATA Festplatte/SSD)
  • Quick Start Guide
GK50 Lieferumfang

Innenleben

Zwar ist das Gehäuse des GK50 schnell geöffnet, leider muss man dazu aber zuerst die vier Gummifüsschen entfernen, um an die Schrauben zu gelangen. Mit etwas Geschick lassen sich die Gummifüsschen allerdings wiederverwenden. Und im Lieferungumfang sind nochmal vier Ersatzfüsschen enthalten.

Die vorinstallierte M.2 2280 SSD mit 128 GByte (oder teilweise auch mit 256 GByte im Handel) kann problemlos ausgetauscht werden. Verbaut ist ab Werk ist eine Noname-Karte (aufgrund der Firmwareversion „SBFMBB.3“ vermutlich ein SSD Controller von Phison).

Neben der M.2 SSD kann zudem eine normale 2,5 Zoll SATA- oder SSD Festplatte verbaut werden.

Nicht erweiterbar ist der Arbeitsspeicher, dieser ist fest verbaut.

BIOS

Mittels F7 Taste erreicht man beim Booten das BIOS. Dort lassen sich die üblichen Einstellungen wie Bootreihenfolge, Wake On LAN oder Security setzen.

BIOS – Main Settings
BIOS – Boot Settings

Betriebssystem

Bereits vorinstalliert ist Windows 10 Professional gänzlich ohne nervige Bloatware. Das läuft sehr flüssig. Aber auch Linux lässt sich auf der Hardware bestens betreiben und läuft super flott.

Windows 10 – Systeminformationen
Windows 10 – Geräte Manager (CPU und Netzwerkgeräte)

Wäreentwicklung

Das Gehäuse wird handwarm. Bei normaler Last läuft die CPU um die 60°C.

Linux – sensors

Fazit

Der kleine Mini-PC kostet ca. dreimal so viel wie ein Raspberry Pi 4 mit 8 GB, ist aber sehr flexibel einzusetzen. Der GK50 hat Platz für eine M2 SSD und eine 2,5″ SSD, hat vier USB 3.0 Anschlüsse, 2x GBit-LAN, eine flotte Mobile-CPU und trotzdem einen recht geringen Stromverbrauch von ca. 7-10 Watt.

Weiterführende Links

Intel CPU N5030https://ark.intel.com/content/www/us/en/ark/products/197308/intel-pentium-silver-n5030-processor-4m-cache-up-to-3-10-ghz.html
Minisforum Store GK50https://store.minisforum.com/products/minisforum-gk50-mini-pc
GK50: Neuer Mini-PC mit Pentium Silver verfügbarhttps://www.notebookcheck.com/GK50-Neuer-Mini-PC-mit-Pentium-Silver-verfuegbar.532024.0.html
Link Tabelle

Install Citrix Receiver on Linux Mint 18.3

Fetch the installation package from the Citrix webpage (use „Debian Full Packages“ usually x86_64):
https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html

$ sudo dpkg -i icaclient_13.9.1.6_amd64.deb

The Citrix receiver does not search for CA root certificates. Without those certificates you probably get an error which prevents you from logging in. Just run:

$ sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts/

Compile MediaElch from source (on Linux)

MediaElch is a free, cross-platform tool for managing a media library (movies and TV shows). It is able to gather information from various movie databases on the internet.

If you want to install the latest MediaElch version, you need to compile it yourself.
The latest installable version is 2.4.2 but in the repository there is already some progress towards 2.4.3. Fortunately compiling is quite easy.

I’ve tested with a plain Ubuntu 16.04 LTS installation.

Fetch some libraries first:

$ apt-get update
$ apt -get install build-essential gcc libqt5scripttools5zlib1g-dev \
libzen-dev libcurlpp-dev libmediainfo0v5 libmediainfo-dev qt5-qmake \
libcurl-ocaml-dev libmysqlclient20 libzen-dev libphonon4qt5-dev \
libqt5sql5-mysql libqt5sql5 libqt5script5 libqt5xml5 libqt5gui5 \
libqt5network5 libquazip5-dev qt5-default qtscript5-dev \
qtmultimedia5-dev cdbs libqt5quickwidgets5 libqt5qml5 \
libqt5opengl5-dev qtdeclarative5-dev libqt5multimedia5 \
libqt5multimediawidgets5 libqt5qml5 libqt5quickwidgets5 \
libqt5quick5 libqt5script5

Get the latest code from Github:

$ mkdir /source && cd /source
$ git clone https://github.com/Komet/MediaElch.git
$ cd MediaElch && mkdir build && cd build
$ qmake .. && make

After a few minutes you should find a new binary file, just start it with „./MediaElch“.

Netzwerk-Bridge ohne IP-Adresse mit Debian einrichten

Es gibt Xen-Setups wo es notwendig ist eine Network-Bridge ohne IP-Adresse einzurichten. Statt mit den Xen-eigenen Scripten (network-script more-network-bridges) zu arbeiten, kann man die Bridge mit Debian Boardmitteln konfigurieren. Dafür müssen lediglich die bridge-utils installiert sein. Funktioniert mit Lenny und Squeeze.

Setup eth2 als Bridge: /etc/network/interfaces

auto br2
iface br2 inet manual
      bridge_maxwait 5
      bridge_ports eth2

Xen-Domain „myxen“, Konfiguration in /etc/xen/<myxenconfig>:

[...]
vif = [ 'bridge=br2' ]
[..]

Die IP-Adresse wird dann direkt in der Xen-Domain konfiguriert.

Debian Etch 4.0 mit NFSv3 ohne ACLs

Leider unterstützt Debian Etch 4.0 im Gegensatz zu Ubuntu, RedHat und SuSE die Mount-Option „noacl“ in Verbindung mit NFS-Mounts nicht. Der Verzicht auf ACLs ist aber gerade in Verbindung mit Solaris und ZFS im Backend hilfreich, denn dann muss auf den Linux-Clients zwangsläufig NFSv3 ohne ACLs oder gleich NFSv4 genutzt werden, um nicht in Probleme zu laufen (mehr Infos zum Thema: Solaris ZFS+NFSv3 Server und Debian Etch 4.0 als NFS-Client)

Pakete zum Compilieren

Um sich aus den Sourcen der nfs-utils einen geeigneten „Mount-Client“ zu bauen, sind einige Development-Libraries notwendig:

$ apt-get install libwrap0-dev libevent0-dev libevent-dev libnfsidmap libnfsidmap-dev pkg-config librpcsecgss-dev librpcsecgss-dev librpcsecgss3 libgssapi-dev libgssapi2

Compilieren

Es reicht aus nach dem Konfigurieren make im Unterverzeichnis ./utils auszuführen:

$ wget http://www.sfr-fresh.com/fresh/linux/misc/nfs-utils-1.1.3.tar.gz
$ tar -xzf nfs-utils-1.1.3.tar.gz
$ cd ./nfs-utils-1.1.3/
$ ./configure --enable-gss=no
$ cd utils
$ make
[...]

Das fertige „mount.nfs“ muss dann nur noch aus dem Ordner ./utils/mount/ nach /sbin kopiert werden.

Test

NFS-Mount in /etc/fstab eintragen:


myserver:/proj            /proj         nfs    rw,noacl,noatime 0 0

NFS-Share einbinden


$ mount /proj
$ mount
myserver:/proj on /proj type nfs (rw,noatime,noacl,addr=192.168.1.72)
[...]

Mit strace sieht man, dass „mount“ automatisch prüft, ob es das Binary „/sbin/mount.nfs“ gibt. Sofern es vorhanden ist, wird es auch benutzt.

Solaris ZFS+NFSv3 Server und Debian Etch 4.0 als NFS-Client

Wenn ein Solaris ZFS-Filesystem per NFSv3 auf einen Debian Etch Client exportiert wird, gibt es Probleme beim Kopieren von Dateien und Verzeichnissen mit „cp -p“. Eine Kopie wird zwar erzeugt, aber mit der Fehlermeldung „cp: preserving permissions … Operation not supported“ quittiert. Beispiel:


keller@nfs-client:/projekte/ake$ cp -p alex2 alex7
cp: preserving permissions for alex7: Die Operation wird nicht unterstutzt
cp: preserving ACL for alex7: Die Operation wird nicht unterstutzt

Ein ziemlicher Show-Stopper, wenn man zahlreiche Debian-Clients hat und darauf angewiesen ist, dass „cp -p“ in automatischen Workflows einwandfrei funktioniert und nicht mit Fehler 1 aussteigt 😉

Ursache

Die Diagnose ist nach etwas Suchen gefunden: NFSv3 unterstützt die ACLs von ZFS nicht. Das ist eigentlich alles…

Lösung

Es gibt mehrere Möglichkeiten mit dem Problem umzugehen:

  • von NFSv3 auf NFSv4 umsteigen, denn NFSv4 unterstuetzt die ZFS ACLs.
  • Debian 4.0 durch Ubuntu 8.04 ersetzen und die Mountoption „noacl“ mit NFSv3 benutzen. Keine Ahnung woher die Option bei Ubuntu genau kommt, aber bei Debian Etch gibts diese nicht (evtl. ältere mount utilities…)
  • theoretisch lassen sich ZFS-ACLs ausschalten (zfs set aclinherit=discard und
    zfs set aclmode=discard). Praktisch war das Ergebnis aber unverändert.
  • ZFS durch UFS ersetzen. Ja klar – sonst noch was 😉
  • cp, mv usw. patchen 😉

Links

Linux multipath-tools mit Sun StorageTek 6540

Linux-Systeme an einer Sun StorageTek 6540 zu betreiben ist gar nicht so einfach. Für Redhat und Suse gibt es von Sun zwar RDAC-Treiber, aber eine funktionierende Konfiguration für die multipath-tools habe ich nirgends gefunden.

Die 6540-Storage sieht stark nach dem Nachfolger der StorageTek FlexLine FLX380 aus. Unter der Haube steckt wohl das LSI/Engenio 6998 System (gibts z.B. auch von IBM als DS4800).

Hardware

  • Sun StorageTek 6540 (Engenio/LSI)
  • Sun Fire X4150 mit 32 GByte RAM und 2xQuadCore Xeon E5440
  • 2x Sun/Qlogic 2460 4 GBit HBAs

Software

  • Ubuntu LTS 8.04.1 AMD64
  • multipath-tools 0.4.8

Multipath-tools

Es werden unbedingt die multipath-tools in der Version 0.4.8 benötigt, da hier der Path-Checker rdac (mpath_prio_rdac) enthalten ist (früher mal mpath_prio_tur).
Die Storage selbst meldest sich als „STK FLEXLINE 380“.

Konfiguration /etc/multipath.conf (Beispiel)


defaults {
      multipath_tool                  "/sbin/multipath -v0"
      udev_dir                        /dev
      polling_interval                5
      default_selector                "round-robin 0"
      default_path_grouping_policy    failover
      default_features                "1 queue_if_no_path"
      default_getuid_callout     "/lib/udev/scsi_id -g -u -s /block/%n"
      rr_weight                       priorities
      failback                        immediate
}
blacklist {
   devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
   devnode "^hd[a-z][[0-9]*]"
   devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
   devnode "^sda"  # local disk
}
multipaths {
     multipath {
        alias           stk-test-lun
        wwid            3600a0b80004725e800000570xxxxxxxxx
        path_selector   "round-robin 0"
        failback        immediate
    }
}
devices {
    device {
      vendor                  "STK"
      product                 "FLEXLINE 380"
      product_blacklist       "Universal Xport"
      path_grouping_policy    group_by_prio
      prio_callout            "/sbin/mpath_prio_rdac /dev/%n"
      path_checker            rdac
      hardware_handler        "1 rdac"
    }
}

Test

Da der Server 2 Single-Port-HBAs hat und zudem an 2 FC-Switches an der Storage angebunden ist, gibt es vier Pfade, 2 über HBA-A (sdc/sdt) und 2 HBA-B (sdbs/sdcj).

# multipath -ll
stk-test-lun (3600a0b80004725e800000570xxxxxxxxx) dm-1 STK     ,FLEXLINE 380
[size=200G][features=1 queue_if_no_path][hwhandler=1 rdac]
\_ round-robin 0 [prio=6][active]
 \_ 1:0:0:1  sdc  8:32    [active][ready]
 \_ 1:0:1:1  sdt  65:48   [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 2:0:0:1  sdbs 68:96   [active][ghost]
 \_ 2:0:1:1  sdcj 69:112  [active][ghost]

Links

Sun Common Array Manager CLI unter Debian

Der Sun Comman Array Manager ist zwar eine JAVA-Anwendung – der Installer funktioniert aber nur unter Solaris 9/10, Windows, Redhat und Suse Linux.

Aber das Command Line Interfaces (sscs) lässt sich auch mit Debian oder Ubuntu Linux installieren und nutzen.

Download CAM als TAR-Archive

StorageTek Common Array Manager Software 6.1.1 Revenue Release:
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_SMI-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=SSTKCAM-6.1.1-OTH-G-F@CDS-CDS_SMI

Archive entpacken

$ tar -xzf host_sw_linux_6.1.1.10.tar.gz

RPM-Paket in ein TGZ-Archive umwandeln

Archive von RPM in TGZ umwandeln und den Inhalt nach /opt/sun/cam kopieren.

$ cd ./HostSoftwareCD_6.1.1.10/components/em_cli
$ alien -t sun-cam-cli-6.1.1-10.i386.rpm
$ tar -xzf sun-cam-cli-6.1.1.tgz
$ cp -rp opt /

Korn-Shell und Ausführungsrechte

Korn-Shell ksh installieren und Scripte sscs/pclient ausführbar machen

$ apt-get install ksh
$ cd /opt/sun/cam/se6x20/cli/bin
$ chmod +x sscs pclient

Testen

$ export PATH=$PATH:/usr/local/java/bin
$ cd /opt/sun/cam/se6x20/cli/bin
$ ./sscs
$ You are not currently logged in. To log in, type:
$ sscs login -h|--hostname  [-s|--system-type ] [-t|--http] [-f|--force] [-u|--username ]

Links

Xen Live Migration ohne Cluster-Filesystem oder NFS

Im Xen-Domains im laufenden Betrieb auf einen anderen Host umzuziehen, ist eigentlich ein geshartes Filesystem notwendig (z.B. NFS, OCFS2 oder GFS). Mit Hilfe von DRBD kann man zumindest in einem 2 Cluster-Knoten darauf verzichten. Schicke Lösung, die sehr gut funktioniert. Mehr Infos siehe Link unten…

Systemvoraussetzungen

  • DRBD ab Version 8.0.6
  • Heartbeat ab Version 2.1.3 (aktuellstes Xen-OCF Script)
  • Xen 3.2 (evtl. reicht auch Version 3.0.3)

Links

Ubuntu 8.04 LTS mit DRBD und Xen – Pleiten, Pech und Pannen

Mein Plan war es mit dem neuen Ubuntu 8.04 LTS einen HA-Cluster auf Basis von Xen 3.2, DRBD v8 und Heartbeat 2.1.3 aufzusetzen. Theoretisch ein toller Plan, denn Ubuntu bringt alle notwendigen Pakete mit. Praktisch ist dieses Release aber ein einziger Blindgänger.

Hier die Einzelkritik:

Netzwerk in Xen-Domains

Der Xen-Kernel 2.6.24-16-xen hat den unschönen Bug, dass innerhalb der Xen-Domains kein Netz funktioniert:

DRBD mit Kernel 2.6.24

Ausserdem ist im Kernel 2.6.24 ein Bug drin, der in Verbindung mit DRBD 0.8.11 dafür sorgt, dass das Log voll mit Fehlermeldungen „drbd0: local disk flush failed with status -5“ ist.

Entweder man compiliert sich die neuste DRBD-Version 0.8.12 und benutzt die Optionen „no-diskflushes“ und „no-md-flushes“ oder baut sich gleich einen eigenen Kernel (2.6.25)

Shell

Ubuntu hat die Default-Shell auf /bin/dash umgestellt. Dumm nur, dass viele Heartbeat OCF-Skripte damit nicht mehr korrekt funktionieren. Jetzt kann man entweder in die Skripte „#!/bin/bash“ schreiben oder gleich /bin/sh mit /bin/bash verlinken.

Kernel Ooops

Der Xen-Kernel von Debian und Ubuntu scheint schon länger ein Problem auf SMP-Systemen zu haben.

Fazit

Wenn man mal einen Blick in den Bugtracker von Ubuntu vagt und die unzähligen weiteren Probleme sieht, dann muss man zugeben, dass das Release 8.04 ein schlechter Witz ist. Am 3.7.2008 soll der erste „ServicePack“ erscheinen. Kann ja nur besser werden…