Bohnenhans
Captain
- Registriert
- Okt. 2022
- Beiträge
- 3.100
Also so habe ich das jetzt installiert bei mir - falls das duch TrueNAS Updates oder so kaputtgeht werde ich den Thread hier updaten - ich denke aber nicht dass das passiert
Ausgangslage ist bei mir TrueNAS Scale mit einem Basis DataSet das heisst bei mir "MYDATA"
shell als root zeigt dann folgendes an
Damit hat man die ZFS Attribute die interessant sind
Erzeugen der virtuellen HDD auf der Boot-HDD hier mit 400 GByte
Dann die virtuelle HDD mit ZFS formatieren als z.b. "myTank" und die gleichen Flags setzen wie auf dem TrueNAS Share "MYDATA"
Das das nur eine virtuelle H/SDD ist und keine echte braucht man kein Autotrim etc.
Dann definieren wohin das ZFS lokal gemountet werden soll
und jetzt ein Verszeichnis auf dem TrueNAS DataSet erstellen wohin der Boot-HDD Teil eingenbunden werden soll da ist üblicherweise unter /mnt/[TRUENAS DataSet Name]
Ich setze immer gleich die Defaulwerte mit also user apps:apps und a+rwx
Damit das alles zum Start ausgeführt und eingebunden wird habe ich noch 2 Skripte gebaut
1x eines das so angepassten Startkram im Hintergund startet und dann 1x das Einbinden, wenn die Vorausstzungen erfüllt sind.
Die sind bei mir unter /root/custom/scripte/
1. startstuff.sh die starte ich im PRE-INIT
und 2. die startbind.sh die im Hintergund wartet bis das Basis Share da ist
Ausgangslage ist bei mir TrueNAS Scale mit einem Basis DataSet das heisst bei mir "MYDATA"
shell als root zeigt dann folgendes an
Code:
Eingabe: sudo mount | grep "^MYDATA"
Ergebnis: MYDATA on /mnt/MYDATA type zfs (rw,noatime,xattr,posixacl,casesensitive)
Damit hat man die ZFS Attribute die interessant sind
Erzeugen der virtuellen HDD auf der Boot-HDD hier mit 400 GByte
Code:
Eingabe: sudo mkdir -p /root/custom/virtualhdd/
Eingabe: sudo dd if=/dev/zero of=/root/custom/virtualhdd/zfs_image.dd bs=1M count=400000
Dann die virtuelle HDD mit ZFS formatieren als z.b. "myTank" und die gleichen Flags setzen wie auf dem TrueNAS Share "MYDATA"
Code:
Eingabe: sudo zpool create myTank /root/custom/virtualhdd/zfs_image.dd
Eingabe: sudo zfs set atime=off myTank
Eingabe: sudo zfs set xattr=on myTank
Eingabe: sudo zfs set actltype=posix myTank
Das das nur eine virtuelle H/SDD ist und keine echte braucht man kein Autotrim etc.
Dann definieren wohin das ZFS lokal gemountet werden soll
Code:
Eingabe: sudo mkdir -p /root/custom/virtualhdd/mount
Eingabe: sudo zfs set mountpoint=/root/custom/virtualhdd/mount myTank
und jetzt ein Verszeichnis auf dem TrueNAS DataSet erstellen wohin der Boot-HDD Teil eingenbunden werden soll da ist üblicherweise unter /mnt/[TRUENAS DataSet Name]
Ich setze immer gleich die Defaulwerte mit also user apps:apps und a+rwx
Code:
Eingabe: sudo mkdir /mnt/MYDATA/BootShare_Unsafe
Eingabe: sudo mount --bind /root/custom/virtualhdd/mount /mnt/MYDATA/BootShare_Unsafe
Eingabe: sudo chown -R apps:apps /mnt/MYDATA/BootShare_Unsafe
Eingabe: sudo chmod -R a+xrw /mnt/MYDATA/BootShare_Unsafe
Damit das alles zum Start ausgeführt und eingebunden wird habe ich noch 2 Skripte gebaut
1x eines das so angepassten Startkram im Hintergund startet und dann 1x das Einbinden, wenn die Vorausstzungen erfüllt sind.
Die sind bei mir unter /root/custom/scripte/
1. startstuff.sh die starte ich im PRE-INIT
Code:
#!/usr/bin/bash
/root/custom/scripte/startbind.sh &
exit 0
und 2. die startbind.sh die im Hintergund wartet bis das Basis Share da ist
Code:
#!/usr/bin/bash
myChmod="" # "a+xrw"
myChown="" # "apps:apps"
myTargetBindDir="/mnt/MYDATA/BootShare_UnSafe"
mySourceBindDir="/root/custom/virtualhdd/mount"
while :
do
mount | grep "$myTargetBindDir"
if [ "$?" = "0" ]; then
echo ""
echo ""
echo "Ist bereits gemountet.... => Exit"
echo ""
exit 0
fi
if [ -d "$myTargetBindDir" ]; then
if [ -d "$mySourceBindDir" ]; then
mount --bind "$mySourceBindDir" "$myTargetBindDir"
if ! [ -z "$myChown" ]; then
chown -R "$myChown" "$myTargetBindDir"
fi
if ! [ -z "$myChmod" ]; then
chmod -R "$myChmod" "$myTargetBindDir"
fi
exit 0
fi
fi
sleep 5
done
Zuletzt bearbeitet: