{{beinhaltet Abweichungen von der Realität}} == Hardware == ; CPU: [http://ark.intel.com/de/products/27205/Intel-Xeon-Processor-3060-4M-Cache-2_40-GHz-1066-MHz-FSB 2.40 GHz] ; RAM: 4 x 2 GB ; Board: [http://www.supermicro.com/products/motherboard/xeon3000/3000/pdsmi_.cfm Xeon 3000 PDSMi+] ; HDD: :* 1 x [http://www.seagate.com/support/disc/manuals/sata/100390001c.pdf 500 GB] :* 1 x [http://www.wdc.com/wdproducts/library/SpecSheet/ENG/2879-701229.pdf 2 TB] :* 1 x [http://www.wdc.com/en/library/sata/2879-701229.pdf 1 TB] :* 1 x [http://www.wdc.com/wdproducts/library/AAG/ENG/2178-771115.pdf 1 TB] === Bezeichnung === Die "richtige" Bezeichnung ist ''[[#Bezeichnung storage|storage]]''. Jedoch schweben eine Vielzahl von anderen Begrifflichkeiten herum, die auch irgendwie [[Server/storage|storage]] meinen. ==== Bezeichnung ''storage'' ==== Die wohl ursprünglichste und "traditionellste" Bezeichnung ist ''storage''. Der Name ist Programm: [[Server/storage|storage]] dient als Storage für Daten für das [[HQ]]. ==== Bezeichnung ''freebert'' ==== Arg motiviert wurde [[Server/storage|storage]] mal auf ein neues System mit [[FreeBSD]] überführt. Als Bezeichnung ergab sich ''freebert'' nach dem Muster :: [[FreeBSD]] : meets :: das Dogma ''[[w:de:Wildcard (Informatik)|.*]]''''[[w:en:List of Dilbert characters|bert]]'' . ==== Bezeichnung ''freenas'' ==== Bei dem Umstieg zu [[FreeNAS]] als [[#Betriebssystem]] für [[Server/storage|storage]] wurde auch die Bezeichnung üblich. ==== Bezeichnung ''feile'' ==== ''feile'' ist letztlich aber eine der [[#Jails]] auf [[Server/storage|storage]]. Als Bezeichnung ergab sich ''feile'' nach der üblichen chaotischen Verballhornung von Begrifflichkeiten des Zwecks, hier den Dienst zur Verwaltung von Dateien (files). == Betriebssystem == Der [[Server/storage]] wird mit [[FreeNAS]] betrieben. === [[FreeNAS]] === ==== Installation vom [[FreeNAS]] ==== {{beinhaltet Abweichungen von der Realität}} ; Stand: {{#dateformat:2014-09-12}} * boot vom 8 GB USB Stick * zpool import der 192 ZFS Datasets unter /mnt/zroot ==== Aktualisierung vom [[FreeNAS]] ==== * laufende Instanzen in der [[#Jail zum Betrieb von VirtualBox]] stoppen * (möglichst) Jails stoppen * [[#FreeNAS]] (per web user interface) aktualisieren *: Neustarten (was FreeNAS ohnehin am Ende vom Aktualisieren macht) vom [[#FreeNAS]] ==== Dienste mit dem [[FreeNAS]] ==== * Samba * NFS * iSCSI * [[#Jails]] == [[Container]] == === Jails === [[#FreeNAS]], basierend auf [[FreeBSD]] bietet [[Jail]]s für [[Container]]. Bei [[#FreeNAS]] werden verschiedene Wege (Arten) an [[Jail]]s angeboten: * [http://doc.freenas.org/9.3/freenas_jails.html "traditionelle" Jails] *: Mit wenigen kleinen Ausnahmen handelt es sich um eine Jail, wie sie auch bei FreeBSD üblich ist. * [http://doc.freenas.org/9.3/freenas_jails.html Jails mit einer bestimmten "Vorlage"] *: Speziell für besondere Dienste, denen Einrichtung insbesondere komplex sind, bietet FreeNAS von durch eine Vorlage vorgefertigte Jails. * [http://doc.freenas.org/9.3/freenas_plugins.html Plugins] *: Sogenannte Plugins verwenden das Prinzip für [[Container]] mit [[Jail]]s, sind als auch als [[#Jails]] von [[Server/storage|storage]] zu betrachten. ==== einzelne Jails ==== * [[plex.hq.c3d2.de]]:32400/web/ * [[transmission.hq.c3d2.de]] * [[couchpotato.hq.c3d2.de]] * [[sickbeard.hq.c3d2.de]] * [[bacula.hq.c3d2.de]] * [[owncloud.hq.c3d2.de]] * [[minidlna.hq.c3d2.de]] ===== Jail zum Betrieb von ''VirtualBox'' ===== ; IP-Adresse: 172.22.99.99 ; web user interface: http://172.22.99.99/ Auf [[Server/storage|storage]] läuft eine Jail für [[wikipedia:de:VirtualBox]]. Dazu ist das ''[http://doc.freenas.org/9.3/freenas_jails.html#using-the-phpvirtualbox-template phpVirtualBox Template]'' (für eine Jail bei [[#FreeNAS]]) verwendet. Daher gibt es auch gleich das [[w:de:WUI|web-basierte front-end]] [http://sourceforge.net/projects/phpvirtualbox/ phpVirtualBox] gleich passend mit dazu. Entgegen dem üblichen Bezeichnungen für Accounts (im [[HQ]]), sind die Bezeichnungen durch das verwendete Template (eigentlich erstmal) vorgegeben. Das betrifft auch die Bezeichnung für den Account mit administrativen Berechtigungen. Auch die sonst übliche Bezeichnung ''root'' wird nicht angewendet. == Zweck == === aktuelle Verwendung === === frühere Verwendung === ==== freebert ==== * [[Server/freebert]] ** [[Server/freebert/FreeBSD]] === eventuelle Verwendung === Bedingt durch den häufigen Wechsel (Umziehen; Dienste zuschalten/testen/abschalten/vergessen) beim System und i.V.m. mangelnder Pflege der Dokumentation sind gewisse Verwendungen womöglich noch da. : Dieser Abschnitt soll nach Klärung für [[#aktuelle Verwendung]] und [[#frühere Verwendung]] wieder entfernt werden. : Ferner dient dieser Abschnitt als Erinnerung. Ja, das gehört eigentlich in die [[Diskussion:{{PAGENAME}}]] ; Dienste: * DLNA Sharing * File Sharing * crontab: 00 6 * * * root /usr/sbin/chown -R k-ot:k-ot /rpool ; Sotfware: * minidlna * nfs(3) * samba(4) * ftp (in Arbeit) == Netzwerk == === IP-Adresse === ; [[w:de:IPv6|IPv6]]: 2001:4dd0:fb82:c3d2::10 ; [[w:de:IPv4|IPv4]]: 172.22.99.10 === [[HQ/c3d2-networking | c3d2-networking]] === Das Skript ''[[HQ/c3d2-networking | c3d2-networking]]'' unterstützt bei der Verwendung vom [[Server/storage]] (für [[w:de:Server Message Block|smb]], [[w:de:Network File System|nfs]], [[w:de:WebDAV|webdav]], [[w:de:SSHFS|sshfs]] bei [[Debian GNU/Linux]]). === NFS === ==== Exportieren von NFS ==== ; Stand: (vermutlich) {{#dateformat:2014-05-01}} für [[Server/freebert]] (bzw. [[Server/freebert/FreeBSD]]) und denau zu NFSv3 ===== Exportieren von NFS bei FreeBSD ===== * mit ZFS sharenfs : vi /etc/rc.conf rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r" rpc_lockd_enable="YES" rpc_statd_enable="YES" direkter ZFS Export : zfs set sharenfs="-maproot=root -network=172.22.0.0 -mask=255.255.0.0" zroot/storage/rpool Beispiel ''fstab'' : 172.22.99.10:/mnt/zroot/storage/rpool /mnt/freebert.nfs nfs noauto,soft,noatime,acl,users,timeo=15 0 0 ZFS Clone Stand: zfs clone zroot/storage/c3d2@_0009_system_07.04.2014 zroot/ezjail/storage.hq.c3d2.de/rpool ==== Importieren von NFS ==== ===== Importieren von NFS bei GNU/Linux ===== ; Installieren der notwendigen Pakete ''nfs-common'' und ''portmap'': : apt-get install nfs-common portmap ; Einhängen bei der lokale Maschine: : am Beispiel der Daten vom gesamten Unterverzeichnis ''rpool'' auf dem [[Server/storage]] (mit der IP-Adresse ''172.22.99.10'') : mkdir /freebert-nfs : showmount -e 172.22.99.10 : mount -t nfs 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs -o soft,timeo=15,noatime : Hinweise: :* setting noatime is not recomended if you want to use mutt inside your nfs mountpoint Erstellen eines Eintrages in der Datei /etc/fstab für Verfügbarkeit beim Befehl mount -a : vi /etc/fstab : am Beispiel der Daten vom gesamten Unterverzeichnis ''rpool'' auf dem [[Server/storage]] (mit der IP-Adresse ''172.22.99.10'') 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs nfs noauto,user,soft,timeo=15,noatime 0 0 ===== Importieren von NFS bei FreeBSD ===== : vi /etc/rc.conf nfs_client_enable="YES" Einhängen am Beispiel der Daten im Unterverzeichnis ''rpool'' auf [[Server/storage]] an die lokale Maschine : mount 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs ===== Importieren von NFS bei MacOS X ===== * Finder -> Gehe zu -> Mit Server verbinden (Apfel+K) *: nfs://172.22.99.10/mnt/zroot/storage/rpool eintragen ; bei Problemen mit Schreibrechten: : mkdir freebert-nfs : sudo mount -t nfs -o resvport,bg,nfc,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276 172.22.99.10:/mnt/zroot/storage/rpool /Users//freebert-nfs :; Finder mit ROOT-Rechten!: :: sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder ===== Importieren von NFS bei Windows 8 ===== * Systemsteuerung -> Programme und Features (aktivieren/deaktivieren) -> Dienste für NFS (Client/Verwaltung) installieren * Computer -> (Kontextmenü) Netzwerkadresse hinzufügen *: \\172.22.99.10\mnt\zroot\storage\rpool eintragen === Samba 4 === ==== Installieren von Samba 4 ==== ===== Installieren von Samba4 bei FreeBSD ===== ; Stand: (vermutlich) {{#dateformat:2014-05-10}} für [[Server/freebert]] (bzw. [[Server/freebert/FreeBSD]]) Hinweise: * Samba 4.1 hat derzeit ein kaputtes s3fs, daher 4.0 : cd /usr/ports/net/samba4/ && make install clean @HOST - Samba4 ADS sysvol Kompatibilität per UFS ZVOL : rm -rfv /usr/jails/storage.hq.c3d2.de/var/db/samba4 : zfs create -p -V 10g zroot/ezjail/storage.hq.c3d2.de/samba4db : newfs -U -O2 /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db : mkdir /usr/jails/storage.hq.c3d2.de/var/db/samba4 : mount -o acls /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db /usr/jails/storage.hq.c3d2.de/var/db/samba4 : zfs set aclmode=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool : zfs set aclinherit=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool ZVOL auf dem FreeBSD HOST mounten lassen : vi /etc/fstab # Device Mountpoint FStype Options Dump Pass# /dev/gpt/swap0 none swap sw 0 0 #/dev/gpt/swap1 none swap sw 0 0 #/dev/gpt/swap2 none swap sw 0 0 #/dev/gpt/swap3 none swap sw 0 0 ### ### ### C3D2 ### ### ### proc /proc procfs rw 0 0 /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db /usr/jails/storage.hq.c3d2.de/var/db/samba4 ufs rw,acls 1 1 ### ### ### C3D2 ### ### ### # EOF ==== Provisionieren von Samba4 ==== * angewendet bei FreeBSD : /usr/local/bin/samba-tool domain provision --use-rfc2307 --use-xattrs=yes --function-level=2008_R2 --realm=HQ.C3D2.DE --domain=HQ --adminpass='geheim' --server-role='dc' --dns-backend=SAMBA_INTERNAL ==== Konfiguration von Samba4 ==== * angewendet bei FreeBSD : vi /usr/local/etc/smb4.conf ### ### ### C3D2 ### ### ### # Global parameters [global] workgroup = HQ realm = HQ.C3D2.DE netbios name = STORAGE server role = active directory domain controller idmap_ldb:use rfc2307 = yes ### dns forwarder = 172.22.99.51 server services = -smb +s3fs -nbt dcerpc endpoint servers = -winreg -srvsvc ### ### ### C3D2 ### ### ### # server string = %h - FreeBSD ZFS Server interfaces = 172.22.99.52 bind interfaces only = Yes # disable printer support disable spoolss = Yes # allow dynamic dns update / true = nonsecure + signed allow dns updates = signed # freebsd specific nsupdate command = /usr/local/bin/samba-nsupdate -g # added to allow asynchronous I/O (make sure to load the kernel module aio) aio read size = 16384 aio write size = 16384 ### ### # server options server min protocol = NT1 server max protocol = SMB3 disable netbios = Yes smb ports = 445 server signing = auto # protocol stream encryption for smbclient smb encrypt = auto ### ### # client options (for local services / smbclient etc.) client min protocol = NT1 client max protocol = SMB3 client ldap sasl wrapping = seal client signing = auto client schannel = auto lanman auth = No ntlm auth = No client use spnego = Yes client ntlmv2 auth = Yes client lanman auth = No client plaintext auth = No ### experimental ### ### ### dsdb:schema update allowed = Yes ### ### experimental ### # ### ### ### C3D2 ### ### ### [netlogon] path = /var/db/samba4/sysvol/hq.c3d2.de/scripts read only = No browseable = no [sysvol] path = /var/db/samba4/sysvol read only = No browseable = no ### ### ### C3D2 ### ### ### [rpool] path = /rpool valid users = k-ot map acl inherit = yes browseable = yes public = yes writable = yes posix locking = yes create mask = 0664 directory mask = 0775 strict locking = no store dos attributes = yes ### nt acl support = yes ### csc policy = disable inherit acls = Yes inherit owner = no inherit permissions = no map archive = No map readonly = no vfs objects = shadow_copy2, zfsacl nfs4:mode = special nfs4:acedup = merge nfs4:chown = yes shadow: format = -CRON-%Y.%m.%d-%H.%M shadow: sort = desc shadow: snapdir = .zfs/snapshot ### ### ### C3D2 ### ### ### # EOF ==== Samba4 Map Users to thier UNIX UID ==== : id k-ot uid=1003(k-ot) gid=1003(k-ot) groups=1003(k-ot) : samba-tool user add k-ot New Password: Retype Password: User 'k-ot' created successfully : service samba_server start wbinfo --name-to-sid k-ot S-1-5-21-2260217406-2925069997-4078739481-1108 SID_USER (1) wbinfo --sid-to-uid S-1-5-21-2260217406-2925069997-4078739481-1108 3000022 : service samba_server stop : ldbedit -e vi -H /var/db/samba4/private/idmap.ldb objectsid=S-1-5-21-2260217406-2925069997-4078739481-1108 xidNumber: 1003 # 0 adds 1 modifies 0 deletes : /usr/local/bin/testparm : samba-tool dbcheck : samba-tool ntacl sysvolcheck ===== Importieren von SMB bei GNU/Linux ===== : sudo apt-get install cifs-utils : sudo mkdir /freebert-storage : sudo mount -t cifs //172.22.99.10/rpool /freebert-storage -o user=k-ot == Daten == === übliche Arten von Daten auf [[Server/storage|storage]] === ==== Musik ==== ===== Musik für cider ===== [[cider]] nutzt Dateien von [[Server/storage|storage]] [[cider#storage als Quelle|als Quelle]]. ==== Filme ==== ==== andere Dateien ==== ===== Dateien für Installation von Betriebssystemen ===== === Daten bereitstellen === ==== DLNA ==== ===== Berechtigungen für DLNA setzen ===== bei Änderungen / Upload bitte ein: chown 1003:1003: ~/file ===== Index für Fernseher neu schreiben ===== Um die Datenbank (/var/db/minidlna/files.db) neu zu schreiben, * muss sie gelöscht/überschrieben werden; * darf der Service nicht aktiv sein; * braucht es einen Neustart, wobei sie neu geschrieben wird *: Das dauert zirka 20 min bei [[Server/storage|storage]]. . Dies wurde hier teilweise durch eine zweite Instanz umgangen. das Script: unter /usr/local/bin/minidlna_scan: #!/bin/sh # simple but buggy #service minidlna stop #rm /var/db/minidlna/files.db #service minidlna start # should do like that #configure 2nd service just for rescanning #start service 2nd instance with another pid #start for rescanning the filestructure #stop 2nd service and delete pid #copy files.db over the existing one #send sighub to dlna-process to make him use the new files.db # ### ### ### C3D2 ### ### ### PID=($(ps -ax | grep "/var/run/minidlna/minidlna_scan.pid -R" | head -1 | awk '{print $1}')) # stage0 /usr/local/sbin/minidlnad -u dlna -f /usr/local/etc/minidlna_scan.conf -P /var/run/minidlna/minidlna_scan.pid -R # stage1 ### ps -ax | grep "/var/run/minidlna/minidlna_scan.pid -R" | head -1 | awk '{print $1}' | xargs -L 1 kill -9 # stage2 #cp -prfv /var/db/minidlna_scan /var/db/minidlna # stage3 #pkill -HUP /var/run/minidlna/minidlna.pid while ps -p ${PID[*]}; do sleep 1; done ; cp -prfv /var/db/minidlna_scan/* /var/db/minidlna/; pkill -HUP /var/run/minidlna/minidlna.pid ### ### ### C3D2 ### ### ### # EOF == Zugang == ; per ssh: wie üblich ; per http: https://storage/ == Siehe auch == * [[redmine:projects/storage-server]] {{foo im HQ}} [[Kategorie:Infrastruktur]] [[Kategorie:Hardware]] [[Kategorie:HQ]]