Server/storage: Unterschied zwischen den Versionen
Vater (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Vater (Diskussion | Beiträge) (user:vater nimmt erstmal den pflug aus der artikel; gemacht (insbesondere geprüft) werden muss noch viel) |
||
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{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. | |||
==== Installation von [[FreeNAS]] ==== | |||
{{beinhaltet Abweichungen von der Realität}} | |||
<!-- oder ist das tatsächlich noch so? --> | |||
; Stand: {{#dateformat:2014-09-12}} | |||
* boot vom 8 GB USB Stick | |||
* zpool import der 192 ZFS Datasets unter /mnt/zroot | |||
==== 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]] | |||
== | == 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: | |||
<source lang=bash> | <source lang=bash> | ||
00 6 * * * root /usr/sbin/chown -R k-ot:k-ot /rpool | |||
</source> | |||
; Sotfware: | |||
* minidlna | |||
* nfs(3) | |||
* samba(4) | |||
* ftp (in Arbeit) | |||
== Netzwerk == | |||
=== [[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 | |||
: <source lang=bash>vi /etc/rc.conf</source> | |||
<source lang=bash> | <source lang=bash> | ||
rpcbind_enable="YES" | |||
nfs_server_enable="YES" | |||
mountd_flags="-r" | |||
rpc_lockd_enable="YES" | |||
rpc_statd_enable="YES" | |||
</source> | |||
direkter ZFS Export | |||
: <source lang=bash>zfs set sharenfs="-maproot=root -network=172.22.0.0 -mask=255.255.0.0" zroot/storage/rpool</source> | |||
Beispiel ''fstab'' | |||
: <source lang=bash>172.22.99.10:/mnt/zroot/storage/rpool /mnt/freebert.nfs nfs noauto,soft,noatime,acl,users,timeo=15 0 0</source> | |||
ZFS Clone Stand: | |||
</source> | <source lang=bash>zfs clone zroot/storage/c3d2@_0009_system_07.04.2014 zroot/ezjail/storage.hq.c3d2.de/rpool</source> | ||
==== Importieren von NFS ==== | |||
== | ===== Importieren von NFS bei GNU/Linux ===== | ||
= | ; Installieren der notwendigen Pakete ''nfs-common'' und ''portmap'': | ||
: <source lang=bash>apt-get install nfs-common portmap</source> | |||
bei | ; 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'') | |||
: <source lang=bash>mkdir /freebert-nfs</source> | |||
: <source lang=bash>showmount -e 172.22.99.10</source> | |||
: <source lang=bash>mount -t nfs 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs -o soft,timeo=15,noatime</source> | |||
: Hinweise: | |||
:* setting noatime is not recomended if you want to use mutt inside your nfs mountpoint | |||
Erstellen eines Eintrages in der Datei <code>/etc/fstab</code> für Verfügbarkeit beim Befehl <code>mount -a</code> | |||
: <source lang=bash>vi /etc/fstab</source> | |||
: am Beispiel der Daten vom gesamten Unterverzeichnis ''rpool'' auf dem [[Server/storage]] (mit der IP-Adresse ''172.22.99.10'') | |||
<source lang=bash> | <source lang=bash> | ||
172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs nfs noauto,user,soft,timeo=15,noatime 0 0 | |||
</source> | </source> | ||
=== | ===== Importieren von NFS bei FreeBSD ===== | ||
: <source lang=bash>vi /etc/rc.conf</source> | |||
<source lang=bash> | |||
nfs_client_enable="YES" | |||
</source> | |||
Einhängen am Beispiel der Daten im Unterverzeichnis ''rpool'' auf [[Server/storage]] an die lokale Maschine | |||
: <source lang=bash>mount 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs</source> | |||
===== Importieren von NFS bei MacOS X ===== | |||
* Finder -> Gehe zu -> Mit Server verbinden (Apfel+K) | |||
*: <code>nfs://172.22.99.10/mnt/zroot/storage/rpool</code> eintragen | |||
; bei Problemen mit Schreibrechten: | |||
<source lang=bash> | : <source lang=bash>mkdir freebert-nfs</source> | ||
: <source lang=bash>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/<DEIN NAME>/freebert-nfs</source> | |||
:; Finder mit ROOT-Rechten!: | |||
:: <source lang=bash>sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder</source> | |||
===== Importieren von NFS bei Windows 8 ===== | |||
* Systemsteuerung -> Programme und Features (aktivieren/deaktivieren) -> Dienste für NFS (Client/Verwaltung) installieren | |||
* Computer -> (Kontextmenü) Netzwerkadresse hinzufügen | |||
*: <code>\\172.22.99.10\mnt\zroot\storage\rpool</code> 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 | * Samba 4.1 hat derzeit ein kaputtes s3fs, daher 4.0 | ||
: <source lang=bash>cd /usr/ports/net/samba4/ && make install clean</source> | |||
<source lang=bash> | |||
cd /usr/ports/net/samba4/ && make install clean | |||
</source> | |||
@HOST - Samba4 ADS sysvol Kompatibilität per UFS ZVOL | @HOST - Samba4 ADS sysvol Kompatibilität per UFS ZVOL | ||
: <source lang=bash>rm -rfv /usr/jails/storage.hq.c3d2.de/var/db/samba4</source> | |||
<source lang=bash> | : <source lang=bash>zfs create -p -V 10g zroot/ezjail/storage.hq.c3d2.de/samba4db</source> | ||
rm -rfv /usr/jails/storage.hq.c3d2.de/var/db/samba4 | : <source lang=bash>newfs -U -O2 /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db</source> | ||
zfs create -p -V 10g zroot/ezjail/storage.hq.c3d2.de/samba4db | : <source lang=bash>mkdir /usr/jails/storage.hq.c3d2.de/var/db/samba4</source> | ||
newfs -U -O2 /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db | : <source lang=bash>mount -o acls /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db /usr/jails/storage.hq.c3d2.de/var/db/samba4</source> | ||
mkdir /usr/jails/storage.hq.c3d2.de/var/db/samba4 | : <source lang=bash>zfs set aclmode=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool</source> | ||
mount -o acls /dev/zvol/zroot/ezjail/storage.hq.c3d2.de/samba4db /usr/jails/storage.hq.c3d2.de/var/db/samba4 | : <source lang=bash>zfs set aclinherit=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool</source> | ||
zfs set aclmode=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool | |||
zfs set aclinherit=passthrough zroot/ezjail/storage.hq.c3d2.de/rpool | |||
</source> | |||
ZVOL auf dem FreeBSD HOST mounten lassen | ZVOL auf dem FreeBSD HOST mounten lassen | ||
: <source lang=bash>vi /etc/fstab</source> | |||
<source lang=bash> | <source lang=bash> | ||
# Device Mountpoint FStype Options Dump Pass# | # Device Mountpoint FStype Options Dump Pass# | ||
/dev/gpt/swap0 none swap sw 0 0 | /dev/gpt/swap0 none swap sw 0 0 | ||
Zeile 226: | Zeile 240: | ||
</source> | </source> | ||
=== Samba4 | ==== Provisionieren von Samba4 ==== | ||
<source lang=bash> | * 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 | |||
</source> | : <source lang=bash>/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</source> | ||
=== Samba4 | ==== Konfiguration von Samba4 ==== | ||
* angewendet bei FreeBSD | |||
: <source lang=bash>vi /usr/local/etc/smb4.conf</source> | |||
<source lang=bash> | <source lang=bash> | ||
### ### ### C3D2 ### ### ### | ### ### ### C3D2 ### ### ### | ||
Zeile 357: | Zeile 372: | ||
</source> | </source> | ||
==== Samba4 Map Users to thier UNIX UID ==== | |||
= | : <source lang=bash>id k-ot</source> | ||
<source lang=bash> | <source lang=bash> | ||
uid=1003(k-ot) gid=1003(k-ot) groups=1003(k-ot) | uid=1003(k-ot) gid=1003(k-ot) groups=1003(k-ot) | ||
</source> | |||
samba-tool user add k-ot | : <source lang=bash>samba-tool user add k-ot</source> | ||
<source lang=bash> | |||
New Password: | New Password: | ||
Retype Password: | Retype Password: | ||
User 'k-ot' created successfully | User 'k-ot' created successfully | ||
</source> | |||
service samba_server start | : <source lang=bash>service samba_server start</source> | ||
<source lang=bash> | |||
wbinfo --name-to-sid k-ot | wbinfo --name-to-sid k-ot | ||
S-1-5-21-2260217406-2925069997-4078739481-1108 SID_USER (1) | S-1-5-21-2260217406-2925069997-4078739481-1108 SID_USER (1) | ||
Zeile 376: | Zeile 393: | ||
wbinfo --sid-to-uid S-1-5-21-2260217406-2925069997-4078739481-1108 | wbinfo --sid-to-uid S-1-5-21-2260217406-2925069997-4078739481-1108 | ||
3000022 | 3000022 | ||
</source> | |||
service samba_server stop | : <source lang=bash>service samba_server stop</source> | ||
: <source lang=bash>ldbedit -e vi -H /var/db/samba4/private/idmap.ldb objectsid=S-1-5-21-2260217406-2925069997-4078739481-1108</source> | |||
<source lang=bash> | |||
xidNumber: 1003 | xidNumber: 1003 | ||
# 0 adds 1 modifies 0 deletes | # 0 adds 1 modifies 0 deletes | ||
</source> | |||
: <source lang=bash>/usr/local/bin/testparm</source> | |||
: <source lang=bash>samba-tool dbcheck</source> | |||
: <source lang=bash>samba-tool ntacl sysvolcheck</source> | |||
===== Importieren von SMB bei GNU/Linux ===== | |||
: <source lang=bash>sudo apt-get install cifs-utils</source> | |||
: <source lang=bash>sudo mkdir /freebert-storage</source> | |||
: <source lang=bash>sudo mount -t cifs //172.22.99.10/rpool /freebert-storage -o user=k-ot</source> | |||
== 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: | |||
<source lang=bash>chown 1003:1003: ~/file</source> | |||
===== Index für Fernseher neu schreiben ===== | |||
Um die Datenbank (<code>/var/db/minidlna/files.db</code>) 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 <code>/usr/local/bin/minidlna_scan</code>: | |||
<source lang=bash> | <source lang=bash> | ||
#!/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 | |||
</source> | </source> | ||
{{foo im HQ}} | |||
[[Kategorie:Infrastruktur]] | [[Kategorie:Infrastruktur]] | ||
[[Kategorie:Hardware]] | |||
[[Kategorie:HQ]] |
Version vom 15. Mai 2015, 14:30 Uhr
Vorlage:Beinhaltet Abweichungen von der Realität
Hardware
Bezeichnung
Die "richtige" Bezeichnung ist storage.
Jedoch schweben eine Vielzahl von anderen Begrifflichkeiten herum, die auch irgendwie storage meinen.
Bezeichnung storage
Die wohl ursprünglichste und "traditionellste" Bezeichnung ist storage.
Der Name ist Programm: storage dient als Storage für Daten für das HQ.
Bezeichnung freebert
Arg motiviert wurde storage mal auf ein neues System mit FreeBSD überführt.
Als Bezeichnung ergab sich freebert nach dem Muster
.
Bezeichnung freenas
Bei dem Umstieg zu FreeNAS als #Betriebssystem für storage wurde auch die Bezeichnung üblich.
Bezeichnung feile
feile ist letztlich aber eine der #Jails auf 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.
Installation von FreeNAS
Vorlage:Beinhaltet Abweichungen von der Realität
- Stand
- 2014-09-12
- boot vom 8 GB USB Stick
- zpool import der 192 ZFS Datasets unter /mnt/zroot
Dienste mit dem FreeNAS
- Samba
- NFS
- iSCSI
- #Jails
Container
Jails
#FreeNAS, basierend auf FreeBSD bietet Jails für Container.
Bei #FreeNAS werden verschiedene Wege (Arten) an Jails angeboten:
- "traditionelle" Jails
- Mit wenigen kleinen Ausnahmen handelt es sich um eine Jail, wie sie auch bei FreeBSD üblich ist.
- Jails mit einer bestimmten "Vorlage"
- Speziell für besondere Dienste, denen Einrichtung insbesondere komplex sind, bietet FreeNAS von durch eine Vorlage vorgefertigte Jails.
- Plugins
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
Zweck
aktuelle Verwendung
frühere Verwendung
freebert
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:Server/storage
- 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
c3d2-networking
Das Skript c3d2-networking unterstützt bei der Verwendung vom Server/storage (für smb, nfs, webdav, sshfs bei Debian GNU/Linux).
NFS
Exportieren von NFS
- Stand
- (vermutlich) 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/<DEIN NAME>/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) 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 storage
Musik
Musik für cider
cider nutzt Dateien von storage 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 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
foo im HQ
Server/storage ist Teil vom HQ. Mit der hier verwendeten Vorlage:foo im HQ sollst du eine Übersicht über andere wichtige Gegenstände im HQ bekommen.