Computer: QNAP NAS Server (aus Wiki)

Gehört zu: Speicher
Siehe auch: Hardware, NAS, Festplatte

QNAP NAS Server (aus Wiki)

Qnap bietet eine große Reihe von Netzwerk-Speicherlösungen (NAS) an.

Bei Qnap ist die generelle Philosophie, ein offenes Linux-System anzubieten; d.h. im Lieferumfang sind enthalten:

  • SSH Server – damit kommt man an das gesamte Linux-System heran…
  • HTTP Server – Apache 2.0 (Konfigurierbar: /etc/config/apache/….)
  • PHP zum Apache (Konfigurierbar: /etc/config/php.ini)
  • MySQL Server
  • Twonky Server
  • OpenLDAP Server

….

Qnap TS-419P Turbo NAS

Im Dezember 2010 habe ich mir die Qnap TS-419P geleistet, weil fast alle miener Festplatten fast voll waren (“rot”).

  • CPU:
    • Dies Modell hat als Prozessor einen Marvell 1.2 GHz
    • und 512MB DDRII RAM
  • Festplatten:
    • Geliefert wurde sie mit zwei Festplatten Seagate Baracuda LP a 2 TB (ST32000542AS).
    • Diese habe ich als RAID-1 konfiguriert und alle Daten von der Buffalo LinkStation übernommen.
    • Zwei weitere Festplatten des gleichen Typs habe ich gleich nachgeordert.
    • Das Migrieren des Zwei-Platten Raid-1 auf das Vier-Platten Raid-5 hat 28 Stunden gedauert. Nun habe ich brutto 4 x 1863,02 GB von denen ich 5496,93 GB (= 74%) nutzen kann mit RAID-5 Sicherheit zur Verfügung.
  • LAN-Ports:

Qnap Web-Interface

Die Administartion des QNAP erfolgt über ein Web-Interface:

Twonky-Client: (Der Web-Browser muss dafür einige Plugins haben…)

Qnap Backup

Die QNAP ist kein Backup, sondern ein Online-Speicher im Netzwerk, also zur gemeinsamen Benutzung durch meine diversen Computer.

Damit die einzelnen Computer auch ohne Verbindung zzum QNAP arbeiten können sind lokale Kopien der Daten auf den Festplatten der Computer, welche ggf. zu synchronisieren sind…

Für den Qnap-Speicher muss dann ein Backup eingerichtet werden. Daszu verwende ich ein externes Gehäuse Fantec FB-MR35US2, dies kann ich per eSATA (3 GB/s) mit dem Qnap verbinden. Das MR35US2 hat einen Wechselrahmen, mit dem ich leicht verschiedene 2TB-Festplatten einstecken kann. Die Festplatten sind NTFS formatiert, sodass man sie im Fall des Falles auch direkt an einem Windows-Computer benutzen kann.

Für den Backup habe ich 2 Festplatten a 2 TB gekauft, die ich wechselweise in das MR35US2 einstecken kann. Aufbewahrt werden diese Festplatten in Soft-Etuis von Picard, die die Größe eines 7-Zoll-Tablets haben.

  • feeds
  • iCal
  • iTunes
  • Pictures
  • Videos –> Platte BACKUP01
  • Public
    • Qxyz
    • Qxxy

Backup mit RSYNC

Mit dem Unix/Linux-Kommando RSYNC kann man ganz einfach eine Sicherungskopie eines Ordners herstellen. Beispielsweise so:

rsync -ar --size-only /share/Videos/ /share/external/sdya1/Videos/

Etwas schöner geht die Datensicherung meiner QNAP NAS über ein RSYNC Skript.

  • Das Script habe ich gefunden auf: http://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC
  • Die von mir adaptieren Shell-Skripts liegen auf der QNAP im Ordner /root.
  • Gesichert wird auf die an der QNAP angeschlossene externe eSATA-Wechselplatte; das sog. “TARGET”
  • Besonderheit: Auf dem TARGET-Ordner legt das Skript die Sicherungskopien wieder mit ihrem vollen Pfadnamen ab
  • Im TARGET-Order wird für jeden Tag ein neuer Unterordner mit der Tagesnummer angelegt.
  • RSYNC versucht über einen speziellen Mechanismus (Stichwort: Hardlinks) nur die Dateien zu sichern, die sich seit der letzten Sicherung verändert haben (sog. inkrementelle Sicherung)

Erste Versuche mit dem Script:

  • SOURCES=(/share/MD0_DATA/feeds )
  • TARGET=”/share/external/sdya1/feeds”
  • Erzeugt das Kommando: rsync -aVR <sources> <target> –delete –link-dest last

Tipps und Tricks

  • Ich hatte das Skript mit meinem Windos-Computer heruntergeladen und musste anschliessend die Zeilenenden (CR LF) auf Unix-Konvention (nur LF) ändern. Habe ich mit dem Editor EmEditor gemacht.
  • Die Dateinamen sollten keine Umlaute enthalten (Linux – Windows)
  • Wie unterstützt die externe Festplatte die inkrementelle Sicherung durch rsync ????

Backup mit QtdSync

  • QtdSync habe ich über den Qnap-Club gefunden.
  • Man kann es bei http://www.heise.de/download herunterladen.
  • QtdSync basiert auch irgendwie auf RSYNC
  • QtdSync gibt es für Windows und für Linux – die Windows-Version arbeitet mit Cygwin und Hardlinks
  • Backup with History vs. Backup without History
  • Backup Target:
    • Local
    • Remote with ssh
    • Remote with rsync

Apache auf Qnap

Den Apache-Server auf der Qnap habe ich schon in Betrieb genommen.

MySQL auf Qnap

Die MySQL-Datenabnk ist ein auf Qnap vorinstallierter Service, der lediglich in der Administration unter der Rubrik “Applications” aktiviert (enabled) werden muss.
Nach der Installation von MySQL findet man die Executables in:

  • /usr/local/mysql/bin

Twonky auf Qnap

Meiner Videos und Audios streame ich nun von dem Qnap-NAS mit Twonky
Das funktioniert ganz gut; immerhin funktioniert jetzt die Pause-Taste bei der Wiedergabe am Samsung LED-Fernseher.

  • Fast Forward funktioniert nachwievor nicht

Konfiguration der Ordner, die Twony streamen soll

  • QNAP Adminitration
  • Menübaum links: >Applications>UPnP MediaServer
    • Enable
    • Configure: http://nas-qnap-01:9000
      • Set Content Directories: >Basic Setup > Sharing (Groß- und Kleinschreibung beachten bei QNAP z.B. ist videos nicht Videos)
      • Re-scan content directories: >Advanced Setup > Maintenance
      • Restart Server

OpenLDAP auf Qnap

OpenLDAP ist bei der Qnap als sog. QPKG-PLugin vorhanden.

1. Problem
Wenn man es über die Qnap-Administratoroberfläche herunterlädt bekommt man eine ZIP-Datei. Diese muss man dan erst manuell entpacken (in eine QPKG-Datei) bevor man auf “Installieren” drücken darf.

Nun kann man den LDAP-Server administrien mit dem PhpLdapAdmin: http://192.168.2.164:80/phpldapadmin/

2. Problem
Das Login ist nicnt wie beschrieben dn=[cn=Manager, dc=my-domain, dc=com], passwd=[admin] , sondern dn=[cn=Manager, dc=example, dc=com]

Das rootdn ist damit zwar definiert (in der Datei slapd.conf) als cn=Manager,dc=example,dc=com, aber noch nicht angelegt.

3. Problem
Das Anlegen des rootdn-Objekts über PhpLdapAdmin funktioniert nicht; man kan es aber über eine kleine LDIF-Datei selber machen. Diese LDIF-Datei kann man dann im PhpLdapAdministrator importieren; d.h. ausführen…
      dn: dc=<MY-DOMAIN>,dc=<COM>
      objectclass: dcObject
      objectclass: organization
      o: <MY ORGANIZATION>
      dc: <MY-DOMAIN>

      dn: cn=Manager,dc=<MY-DOMAIN>,dc=<COM>
      objectclass: organizationalRole
      cn: Manager

Be sure to replace <MY-DOMAIN> and <COM> with the appropriate domain components of your domain name. <MY ORGANIZATION> should be replaced with the name of your organization. When you cut and paste, be sure to trim any leading and trailing whitespace from the example.

Installieren des LDAP Servers

s.oben als Qnap Package

Start and Stop the LDAP Server

Start OpenLDAP

You are now ready to start the stand-alone LDAP server, slapd(8), by running the command:

     su root -c /usr/sbin/slapd

To check to see if the server is running and configured correctly, you can run a search against it with ldapsearch(1). By default, ldapsearch is installed as /usr/local/bin/ldapsearch:

     ldapsearch -x -b  -s base '(objectclass=*)' namingContexts

Note the use of single quotes around command parameters to prevent special characters from being interpreted by the shell. This should return:

     dn:
     namingContexts: dc=example,dc=com

Stop OpenLDAP

Paul Lee writes:

I know to start openldap, the following command is used.
 slapd -f slapd.conf
but to shutdown openldap, what is the command used  ?
Currently, I am using "pkill slapd" but I think it's not the proper way.

Yes, it is.

Though if you start slapd via some script in /etc/rc.d/, then you should presumably stop it the same way so rc can keep track of its own magic.

And of course if you have several slapd processes (e.g. while testing) you’ll need to kill the right one. You can make it write its pid to a file with the “pidfile” directive in slapd.conf.

LDAP Editoren

Ein bisschen im LDAP herumschauen und auch neue Objekte anlegen etc. kann man mit:

  • PhpLdapAdmin (part of the Qnap package) —> Im Configuration File ./config/config.php muß für jeden LDAP-Server das Root-Objekt ggf. angepasst werden d.h. dc=example, dc=com ändern.
  • JXplorer http://jxplorer.org/ (Sehr übersichtlich, Funktionalität umfassend und Version aktuell von 2010)
  • Jarek Gawor LDAP Browser/Editor LDAPBrowserEditor
  • LDAP Explorer Tool: http://ldaptool.sourceforge.net/
  • Directory: Sourceforge
  • ….

The Configuration File

Use your favorite editor to edit the provided /etc/openldap/slapd.conf example to contain a BDB database definition of the form:

  database bdb
  suffix "dc=<MY-DOMAIN>,dc=<COM>"
  rootdn "cn=Manager,dc=<MY-DOMAIN>,dc=<COM>"
  rootpw secret
  directory /var/openldap-data

Da wir auch Thunderbird-Adressbücher im LDAP verwalten wollen, müssen wir wir das Mozilla-Adressbuch-Schema im slapd.conf mit einbinden:

  include  core.schema
  include  cosine.schema
  include  inetorgperson.schema
  include  mozillaAbPerson.schema

Initialize the LDAP database

Define a text file (say, init.ldif) starting with the following contents:

dn: dc=kr8,dc=de
objectClass: top
objectClass: organization
objectClass: dcObject
description: Description of your domain
o: Something else about your domain
dc: kr8

The argument to both the lefthand dc= and the dc: comes from the suffix entry defined in slapd.conf.

Organizing Addressbooks in LDAP

Source: http://www.sudleyplace.com/LDAP/index.en.html

To separate address books into their own hierarchy, append to the init.ldif file something like the following section:

dn: ou=AddressBooks,dc=kr8,dc=de
objectClass: top
objectClass: organizationalUnit
description: The address books
ou: AddressBooks

To define multiple address books (two in the example below), append the following sections:

dn: o=Home,ou=AddressBooks,dc=kr8,dc=de
objectClass: top
objectClass: organization
description: Home sweet home
o: Home
dn: o=Work,ou=AddressBooks,dc=kr8,dc=de
objectClass: top
objectClass: organization
description: Work sweet work
o: Work

The individual address book’s Base DNs are

o=Home,ou=AddressBooks,dc=kr8,dc=de            and
o=Work,ou=AddressBooks,dc=kr8,dc=de

Execute the Initialization File

Die Initialisierungs-Datei init.ldif muss dann ausgeführt werden, z.B. mit einem LDAP-Tool wie:

  • ….

— 03:50, 1 January 2011 (CET)

Retrieved from my Wiki