====== Sesam Client auf einem Synology NAS ======
Hat man ein Synology-NAS-System mit einem Atom oder anderen Intel Prozessor so kann man dort des Sesam Client installieren. Perfekt als Backup-Target mit dem Remote-Device-Server RDS.
===== CPU prüfen =====
Auf den aktuellen Systemen (03/2015) geht es am besten so:
cat /proc/cpuinfo | grep "model name"
Ist es ein Intel, kann es weiter gehen.
===== Volumes vorbereiten =====
Es hat sich bewährt für den Sesam-Datastore ein Volume > 1 vorzusehen und dort NUR Sesam-Backups zu halten, da der Sesam sonst mit der Berechnung des verfügbaren Platzes durcheinander kommt. Grösser 1, da die Optware immer im Volume 1 installiert wird und somit auch wieder dessen Füllstand beeinträchtigt. Leider lässt Synology Volumes nur in 1 GB Schirtten anlegen. Ich lege immer volume 1 mit 1 GB für Optware, Volume 2 für den Sesam und andre Volumes für andere Zwecke an.
===== Optware installieren =====
Siehe: http://www.synology-wiki.de/index.php/IPKG
Das sorgt für eine vorgefertigte Verzeichnisstruktur unter /opt die nützlich ist.
===== Sesam-Client herunterladen =====
Hier: http://download.sep.de/linux/other/i386/glibc24/ (64bit und andere glibc-Versionen haben nicht funktioniert) den passenden aussuchen und je nach Anwendungszweck "sesam-cli" (Client) oder "sesam-rts" (Remote-Device-Server mit Client) herunterladen.
===== Installation =====
Um Fehlern vorzubeugen zunächst /etc/init.d anlegen, falls es nicht existiert, da es auf einer Synology manchmal nicht existiert aber das Sesam Setup es voraussetzt:
mkdir /etc/init.d
Sesam auspacken und Setup starten:
BACKUP02> tar xfz sesam-rts-4.2.1.23-linux_i586.tgz
BACKUP02> cd sesam_rts_4.2.1.23/
BACKUP02> ./sm_setup
Found 1 valid archive(s): 'linux_rts.4.2.1.23.tgz,'.
What do you want to install? (tapeserver,client)
tapeserver
Mode: 'tapeserver'
In which directory do you want to install (If not existing it will be created):
/opt/sesam
To which SEPsesam server should be connected?
sesam
Got no IP address from sesam
Warning: Got 'sesam' as name but didn't find an IP.
GUI is included for type 'make_rds'
Newest kit 'linux_rts.4.2.1.23.tgz' will be used.
Starting installation 'make_rds' 'sesam' in dir '/opt/sesam'
Got no IP address from sesam
set into: gv_rw_info=/opt/sesam/var/work/info/
set into: gv_rw_ini_stpd=/opt/sesam/var/ini/stpd_conf/
/opt/sesam/var/ini/stpd_conf/
...
...
...
Jetzt sollte sich schon das Profile sourcen lassen:
. /opt/sesam/var/ini/sesam2000.profile
Und der Sesam Status abfragbar sein:
BACKUP02> sm_main status
2015-03-05 20:08:44: sm_main[16875] started
2015-03-05 20:08:44: Arguments: sm_main status
2015-03-05 20:08:44: qm [ 2998]: online
2015-03-05 20:08:44: db : unused
2015-03-05 20:08:45: Found job: 2 passd 1 1911 19:14 2015-03-05
2015-03-05 20:08:45: passd [ 1911]: online
2015-03-05 20:08:45: Found job: 3 sms 1 1924 19:14 2015-03-05
2015-03-05 20:08:45: sms [ 1924]: online
2015-03-05 20:08:45: Found job: 4 stpd 1 1952 19:14 2015-03-05
2015-03-05 20:08:45: stpd [ 1952]: online
2015-03-05 20:08:45: Found job: 5 ctrl 1 1966 19:14 2015-03-05
2015-03-05 20:08:45: ctrl [ 1966]: online
2015-03-05 20:08:45: sepuler : unused
2015-03-05 20:08:45: rmi : unused
STATUS=SUCCESS MSG=All deamons online
Damit das so bleibt sind ein paar Anpassungen nötig. Zum Einen für den Start:
cd /opt/etc/init.d/
mv /etc/init.s/sesam .
ln -s sesam S10sesam
ln -s sesam K10sesam
und zum Anderen für das Inifile, da es alle möglichen Scripte unter /etc erwarten:
cd /opt/etc
mv /etc/sesam2000.ini .
Jetzt noch die Zeile
ln -s /opt/etc/sesam2000.ini /etc
an den Anfang (... nicht in die 1. Zeile ...) des Init-Scripts /opt/etc/init.d/sesam
Um auf per USB angeschlossene Platten zuzugreifen muss man ein paar Tricks anwenden, da der Sesam nicht ohne "udevadm" auskommt aber die Synology kein UDEV und somit auch kein "udevadm" hat. Glücklicher weise bleibt auch bei einem Plattenwechsel das Device gleich. Folgendes Sctipt liefert dem Sesam die Daten, die er (vermeintlich ... ich halte es für unnötig) braucht:
#!/bin/sh
ls -l $4 2>&1 | grep "^brw" >/dev/null
if [ $? -eq 0 ]; then
echo "P: $4"
echo "N: `echo $4 | tr "/" "\n" | tail -n1`"
echo "E: DEVNAME=$4"
echo "E: DEVPATH=$4"
echo "E: DEVTYPE=partition"
echo "E: ID_BUS=usb"
echo "E: ID_FS_TYPE=ext4"
echo "E: ID_FS_USAGE=filesystem"
exit 0
else
echo "device node not found"
exit 1
fi
Es hat sich ausserdem bewährt "mount" und "umount" zu verlinken:
cd /opt/sesam/bin/sesam/
ln -s /usr/sbin/mount .
ln -s /usr/sbin/umount .