Server/storage: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
(weiter gegliedert)
Zeile 2: Zeile 2:
  Dieser Artikel wird bis 2015-05-18 massiv von [[Benutzer:vater|vater]] bespaßt.
  Dieser Artikel wird bis 2015-05-18 massiv von [[Benutzer:vater|vater]] bespaßt.
  Dennoch können (sollen) jederzeit Änderungen vorgenommen werden.
  Dennoch können (sollen) jederzeit Änderungen vorgenommen werden.
{{NiftyDiv|
Farbe=#aafd72|
Inhalt=
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]]).
}}


  begin ehemals [[Server/freenas]]
  begin ehemals [[Server/freenas]]
Zeile 56: Zeile 50:
== Betriebssystem ==
== Betriebssystem ==


=== [[FreeNAS]] ===
Der [[Server/storage]] wird mit [[FreeNAS]] betrieben.
 
==== Installation von [[FreeNAS]] ====


begin ehemals [[Server/freenas/FreeNAS]]
{{beinhaltet Abweichungen von der Realität}}
<!-- oder ist das tatsächlich noch so? -->


; Stand: {{#dateformat:2014-09-12}}
; Stand: {{#dateformat:2014-09-12}}
== Installation ==


* boot vom 8 GB USB Stick
* boot vom 8 GB USB Stick
* zpool import der 192 ZFS Datasets unter /mnt/zroot
* zpool import der 192 ZFS Datasets unter /mnt/zroot


== Dienste ==
==== Dienste mit dem [[FreeNAS]] ====


* Samba
* Samba
Zeile 83: Zeile 78:
* owncloud.hq.c3d2.de
* owncloud.hq.c3d2.de
* minidlna.hq.c3d2.de
* minidlna.hq.c3d2.de
end ehemals [[Server/freenas/FreeNAS]]


== Zweck ==
== Zweck ==
Zeile 104: Zeile 97:
* nfs(3)
* nfs(3)
* samba(4)
* samba(4)
* ftp (in arbeit)
* ftp (in Arbeit)


== Verwendungszweck ==
== Verwendungszweck ==
Zeile 110: Zeile 103:
* File Sharing
* File Sharing


== HOST: FreeBSD NFS Export / ZFS sharenfs ==
== HOST: crontab ==


<source lang=bash>
<source lang=bash>
vi /etc/rc.conf
00      6      *      *      *      root    /usr/sbin/chown -R k-ot:k-ot /rpool
 
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
</source>
</source>


dirkter ZFS Export
== Netzwerk ==


<source lang=bash>
=== [[HQ/c3d2-networking | c3d2-networking]] ===
zfs set sharenfs="-maproot=root -network=172.22.0.0 -mask=255.255.0.0" zroot/storage/rpool
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]]).
</source>


(fstab beispiel)
=== NFS ===
<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>


==== Exportieren von NFS ====


ZFS Clone Stand:
===== Exportieren von NFS bei FreeBSD =====


<source lang=bash>
* mit ZFS sharenfs
zfs clone zroot/storage/c3d2@_0009_system_07.04.2014 zroot/ezjail/storage.hq.c3d2.de/rpool
</source>
 
== NFS Import unter Linux ==


: <source lang=bash>vi /etc/rc.conf</source>
<source lang=bash>
<source lang=bash>
apt-get install nfs-common portmap
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
</source>
</source>


mount:
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>


<source lang=bash>
Beispiel ''fstab''
mkdir /freebert-nfs
: <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>


showmount -e 172.22.99.10
ZFS Clone Stand:
<source lang=bash>zfs clone zroot/storage/c3d2@_0009_system_07.04.2014 zroot/ezjail/storage.hq.c3d2.de/rpool</source>


mount -t nfs 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs -o soft,timeo=15,noatime
==== Importieren von NFS ====
</source>
setting noatime is not recomended if you want to use mutt inside your nfs mountpoint.


entry for <code>mount -a</code> in /etc/fstab:
===== Importieren von NFS bei GNU/Linux =====
:<code>172.22.99.10:/mnt/zroot/storage/rpool                                          /freebert-nfs nfs noauto,user,soft,timeo=15,noatime 0      0</code>


== NFS Import unter FreeBSD ==
; Installieren der notwendigen Pakete ''nfs-common'' und ''portmap'':
 
: <source lang=bash>apt-get install nfs-common portmap</source>
<source lang=bash>
vi /etc/rc.conf
 
nfs_client_enable="YES"
</source>


mount:
; 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>
mount 172.22.99.10:/mnt/zroot/storage/rpool /freebert-nfs
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 =====


== NFS Import unter MacOS X ==
: <source lang=bash>vi /etc/rc.conf</source>
 
<source lang=bash>
<source lang=bash>
Finder -> Gehe zu -> Mit Server verbinden (Apfel+K)
nfs_client_enable="YES"
 
 
nfs://172.22.99.10/mnt/zroot/storage/rpool
</source>
</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>


bei Problemen mit Schreibrechten ->
===== Importieren von NFS bei MacOS&nbsp;X =====


* Finder -> Gehe zu -> Mit Server verbinden (Apfel+K)
*: <code>nfs://172.22.99.10/mnt/zroot/storage/rpool</code> eintragen


<source lang=bash>
; bei Problemen mit Schreibrechten:
mkdir freebert-nfs
: <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>


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
===== Importieren von NFS bei Windows 8 =====
</source>
 
 
Finder mit ROOT-Rechten!
 
 
<source lang=bash>
sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
</source>
 
 
== NFS Import unter Windows (8) ==
 
<source lang=bash>
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
</source>
 
 
== 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 DB (<code>/var/db/minidlna/files.db</code>) neu zu schreiben muss diese
 
* gelöscht/überschrieben werden
* während der Service nicht aktiv ist,
* bei Neustart wird sie neu geschrieben (dauert ca. 20min)
 
Dies wurde hier teilweise durch eine zweite Instanz umgangen.
 
das Script: unter <code>/usr/local/bin/minidlna_scan</code>:
<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
* 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


### ### ### C3D2 ### ### ###
=== Samba&nbsp;4 ===
# EOF
</source>


== Jail: Samba 4 ==
==== Installieren von Samba&nbsp;4 ====


=== Samba4 Installation ===
===== Installieren von Samba4 bei 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>
vi /etc/fstab
# 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 309: Zeile 225:
</source>
</source>


=== Samba4 Provisionierung ===
==== 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 Config ===
==== Konfiguration von Samba4 ====


vi /usr/local/etc/smb4.conf
* angewendet bei FreeBSD


: <source lang=bash>vi /usr/local/etc/smb4.conf</source>
<source lang=bash>
<source lang=bash>
### ### ### C3D2 ### ### ###
### ### ### C3D2 ### ### ###
Zeile 440: Zeile 357:
</source>
</source>


==== Samba4 Map Users to thier UNIX UID ====


=== Samba4 Map Users to thier UNIX UID ===
: <source lang=bash>id k-ot</source>
 
<source lang=bash>
<source lang=bash>
id k-ot
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 459: Zeile 378:
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>
 
ldbedit -e vi -H /var/db/samba4/private/idmap.ldb objectsid=S-1-5-21-2260217406-2925069997-4078739481-1108


: <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>


/usr/local/bin/testparm
: <source lang=bash>sudo mount -t cifs //172.22.99.10/rpool /freebert-storage -o user=k-ot</source>
samba-tool dbcheck
 
samba-tool ntacl sysvolcheck
== Daten ==
</source>
 
=== ü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 ====


== SMB Import unter Linux ==
==== andere Dateien ====


<source lang=bash>
===== Dateien für Installation von Betriebssystemen =====
sudo apt-get install cifs-utils


sudo mkdir /freebert-storage
=== Daten bereitstellen ===


sudo mount -t cifs //172.22.99.10/rpool /freebert-storage -o user=k-ot
==== DLNA ====
</source>


===== Berechtigungen für DLNA setzen =====


== HOST: crontab ==
bei Änderungen / Upload bitte ein:
<source lang=bash>chown 1003:1003: ~/file</source>


<source lang=bash>
===== Index für Fernseher neu schreiben =====
00      6      *      *      *      root    /usr/sbin/chown -R k-ot:k-ot /rpool
</source>


== Daten ==
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&nbsp;min bei [[Server/storage|storage]].
.


=== Musik ===
Dies wurde hier teilweise durch eine zweite Instanz umgangen.


===== Musik für cider =====
das Script: unter <code>/usr/local/bin/minidlna_scan</code>:
<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 ### ### ###


[[cider]] nutzt Dateien von [[Server/storage|storage]] [[cider#storage als Quelle|als Quelle]].
PID=($(ps -ax | grep "/var/run/minidlna/minidlna_scan.pid -R" | head -1 | awk '{print $1}'))


=== Filme ===
# 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


=== andere Dateien ===
while ps -p ${PID[*]}; do sleep 1; done ; cp -prfv /var/db/minidlna_scan/* /var/db/minidlna/; pkill -HUP /var/run/minidlna/minidlna.pid


==== Dateien für Installation von Betriebssystemen ====
### ### ### C3D2 ### ### ###
# EOF
</source>


== Log ==
== Log ==

Version vom 15. Mai 2015, 13:49 Uhr

Vorlage:Beinhaltet Abweichungen von der Realität

Dieser Artikel wird bis 2015-05-18 massiv von vater bespaßt.
Dennoch können (sollen) jederzeit Änderungen vorgenommen werden.
begin ehemals Server/freenas

Hardware

CPU
2.40 GHz
RAM
4 x 2 GB
Board
Xeon 3000 PDSMi+
HDD

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

FreeBSD
meets
das Dogma .*'bert

.

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

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 Verwendungen

frühere Verwendungen

freebert

end ehemals Server/freenas

Software Info

FreeBSD Jail Container

  • minidlna
  • nfs(3)
  • samba(4)
  • ftp (in Arbeit)

Verwendungszweck

  • DLNA Sharing
  • File Sharing

HOST: crontab

00      6       *       *       *       root    /usr/sbin/chown -R k-ot:k-ot /rpool

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

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

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

Log

  • 10.05.2014 - Samba4 Support
  • 01.05.2014 - NFSv3 Export

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.


Übersicht zu allen wichtigen Gegenständen im HQ (im Zentralwerk)
Raum im HQ Gegenstände
Hardware Sonstiges
Eingang zur Assembly

(Drucker) Xerox WorkCentre 7232#xeri · (Drucker) Xerox WorkCentre 7232#roxi

Staubsauger

Schlüsselkasten · HQ/Schalter · HQ/Klingel · keymatic

Elektroinstallation

Postregal

Assembly

Server/ciderServer/cibertServer/pulsebert · Server/glotzbert · Server/lisbeth

TV · Beamer
LED-Stripe
HDMI-Capturedevice

Thermodrucker · C3DDrkkr

(Computer/restbert) Lenovo ThinkPad#X230 restbert · (Computer/carbert) Lenovo ThinkPad#X230 carbert · (Computer/pestbert) Lenovo ThinkPad#T61 pestbert · (Computer/pubert) Lenovo ThinkPad#T61 pubert · (Computer/upbert) Lenovo ThinkPad#T61 upbert · (Computer/penbert) Lenovo ThinkPad#X60 penbert

Feinstaubsensor#indoor

Bibliothek (im Bücherregal) · Beratungstisch · Schreibtische · Sofaecke · Leinwand
Küche Matemat Matekasse · Küchenzeile · Kühlschrank (Mate)
Werkstatt

Computer/testbert · Computer/delbert

Nähmaschine Pfaffbert · Nähmaschine Singbert

Werkzeug · Array
Schrank für Projekte novena · Stempel
Netzteile · Labornetzteil
Verbrauchsmaterial
Backstage Server/dacbert · Computer/debbert · Computer/alpbert · Comedes LR 700
vor den Fenstern Feinstaubsensor#outdoor
auf dem Gang

Serverschrank#links

(Server/server3) Lenovo ThinkServer RD220#Gerät 0 · Dell PowerVault MD1000#Gerät 0

Serverschrank#rechts

(Server/server1) HP ProLiant DL380 G7
(Server/server2) HP ProLiant DL160 G6
(Server/server5) Lenovo System x3250 M5
(Server/server6 · Server/server7) Supermicro 808-12
(Server/server8) FSC RX300 S6#Gerät 0 · (Server/server9) FSC RX300 S6#Gerät 1
Flyerständer
Keller

PC´s,Laptops,Netzteile,…

Server/storage
(Server/server3) Lenovo ThinkServer RD220#Gerät 1 · Dell PowerVault MD1000#Gerät 1

Officekram Bauzeugs
raumübergreifend HQ/NetzIntern:Zentralwerk/Netzwerk · HQ/Telefon · Heizung
(Seminarraum)
Dach Freifunk · Starlink