Jump to content

ZFS Mount eintragen im "/etc/fstab", sonst "sys_path_to_bdev() failed for path" Warning


aleks2204

Recommended Posts

Hallo liebe Community!

 

ich benutze Unraid seit einigen Monaten und bin mega begeistert, welche Möglichkeiten es bietet.

Folgende Hardware ist verbaut in meinem Unraid Server:

Intel Xeon E3-1280V2, ASRock Z77 Pro4-M, 32 GB DDR3-RAM, 10x WD Red 4TB (ZFS RAID-Z2), 4x Samsung SSD 870 500GB (Array mit 1x Parity), Nvidia Quadro P400 (für Plex).

 

Im syslog treten bei Dateizugriff auf den ZFS Pool immer folgende Warnungen auf:

Nov 1 09:56:14 Microserver smbd[15237]: [2021/11/01 09:56:14.741264, 0] ../../source3/lib/sysquotas.c:565(sys_get_quota)

Nov 1 09:56:14 Microserver smbd[15237]: sys_path_to_bdev() failed for path [.]!

 

Habe viel schon gegoogelt und werde nicht schlau daraus. Das was ich verstehe, dass es sich vielleicht um einen SAMBA Bug in Verbindung mit ZFS handelt. Aber ich habe keine Probleme mit dem Datenzugriff von meinem Windows10/11 Clients.

Die Performance des ZFS Pools ist super, egal ob Unraid "intern" oder über Gigabit-Netzwerk.

 

Habe eine Diagnostic-Zip-Datei angehängt, vielleicht hat da jemand Erfahrung und auch eine Idee.

Achso Unraid wird in der aktuellen Stable Version 6.9.2 verwendet.

 

Danke euch schon im Voraus.

 

LG

 

microserver-diagnostics-20211101-1000.zip

Edited by aleks2204
  • Upvote 1
Link to comment
6 minutes ago, aleks2204 said:

Nov 1 09:56:14 Microserver smbd[15237]: [2021/11/01 09:56:14.741264, 0] ../../source3/lib/sysquotas.c:565(sys_get_quota)

Nov 1 09:56:14 Microserver smbd[15237]: sys_path_to_bdev() failed for path [.]!

Laut dem Bug Report müssen alle mounts in der /etc/fstab stehen, damit SMB fehlerfrei darauf zugreifen kann:

https://bugzilla.samba.org/show_bug.cgi?id=10541

 

Stehen alle deine Pfade, die du als DMB Shares verwendest, in dieser Datei?

Link to comment

Hey,

 

also das ZFS Volume wird mit einem Config-Eintrag in "SMB Extras" automatisch gemountet. Siehe Screenshot.

Habe ZFS nur wegen der Performance im Einsatz, da ich da Übertragungsraten bekomme, die mit dem normalen Unraid Array (nur HDD's) nicht zusammen bekomme.

Hatte vor ZFS "nur" 60-70MB/s geschafft, SSD Cache wollte ich nicht verwenden.

 

LG Aleks

smb_extras.png

Link to comment
20 minutes ago, aleks2204 said:

also das ZFS Volume wird mit einem Config-Eintrag in "SMB Extras" automatisch gemountet. Siehe Screenshot.

Das ist kein mount. Da steht nur, dass SMB auf das Verzeichnis /FILES zugreifen soll. Die Frage ist aber wie ZFS überhaupt über /FILES erreichbar geworden ist. Das wäre dann der Mount.

Link to comment
  • aleks2204 changed the title to ZFS Mount eintragen im "/etc/fstab", sonst "sys_path_to_bdev() failed for path" Warning
3 hours ago, aleks2204 said:

Also ich habe jetzt versucht im /etc/fstab den ZFS Mount einzutragen.

Das sieht nicht richtig aus. 

 

Führe mal "df" bzw "cat /etc/mtab" im unRAID Terminal aus. Damit siehst du alle aktuell aktiven mounts.

 

Sobald die fstab korrekt ist, musst du außerdem denke ich "samba restart" ausführen.

 

Link to comment
  • 4 months later...
On 11/1/2021 at 5:53 PM, aleks2204 said:

Also ich habe jetzt versucht im /etc/fstab den ZFS Mount einzutragen.

Habe ein bisschen gegoogelt und auch etwas gefunden, aber es treten weiterhin diese Warnung auf.

Siehe Screenshot.

Vielleicht hat da jemand noch Ahnung.

Danke und LG Aleks.

etc_fstab.png

 

Hi Aleks,

 

gib im Terminal mal

zfs list

ein, dann siehst du alle Mountpoints, die du beim Erstellen des ZFS -Pools und der ZFS Datasets vergeben hast.

Ein (einfaches) Dataset erstellt man mit:

zfs create -o mountpoint=/xxx/yyy poolname/dataset

Wobei xxx und yyy zwar beliebig sein könnten, du aber besser für xxx den Name deines Z-Pools nimmst und für yyy den Namen des Datasets, damit es übersichtlich bleibt.

Ein "normaler" Mountpoint wäre z.B. /mnt/MeinZPool/MeinDataset.

Vermeide aber wenn möglich relativ allgemeine Namen wie "FILES" für Pool und Dataset bzw. Mountpoints, da diese manchmal zu Problemen führen kann, wenn diese Namen im System für etwas anderes reserviert sind (siehe z.B. https://docs.oracle.com/cd/E19253-01/819-5461/gbcpt/index.html).

Und nutze als Namen für deinen ISO Share nicht den Namen "isos", denn dieser ist bereits von Unraid reserviert und führt zu Problemen, über die ich auch schon stolpern musste.

 

Sind Deine Z-Pools/Datasets bereits gemounted, kannst du die Mountpoints nachträglich noch ändern - natürlich mit der Warnung, das alle Konfigurationen, die diesen Mountpoint nutzen, ebenfalls angepasst werden müssen, so wie z.B. deine smb.config!

 

Damit umountnest du alle Dataset Mounts auf einen Schlag:

zfs unmount -a

 und kannst mit diesem Befehl den Datasets einen neuen Mountpoint verpassen:

zfs set mountpoint=/mnt/xxx/yyy	poolname/dataset	

um zuletzt mit folgendem Befehl wieder alle ZFS Pools/Datasets ins System zurückzumounten:

zfs mount -a

 

ÜBRIGENS: ZFS stellt dem System die Mountpoints selbständig und automatisch zur Verfügung und die Mountpoints müssen NICHT in der /etc/fstab eingetragen werden!

Siehe https://zfsonlinux.org/manpages/0.7.13/man8/zfs.8.html unter "Mount Points":

"...ZFS automatically manages mounting and unmounting file systems without the need to edit the /etc/fstab...".

 

Abgesehen davon klingt der Fehler, den du oben beschreibst, irgendwie nach Quota, daher stell dir die Frage, ob du irgendwo Quota Regeln eingestellt hast, die somit auch Quelle des Problems sein könnten. Das kann dann entweder beim Erstellen des ZFS selbst eingestellt worden sein oder auch irgendwo in deiner Unraid Konfiguration. Falls ja, überleg dir ob du Quotas wirklich benötigst und schalte sie ggfs. ab. Darüber hinaus kann ich bei diesem Fehler aber auch nicht weiterhelfen, falls meine anderen Tipps nicht helfen.

 

Last not least solltest du die ZFS Shares besser nicht so nutzen wie es oben scheint:

Quote

"\\Microserver\files" --> ZFS Pool

"\\MICROSERVER\isos" --> Array

 

sondern lieber immer in hierarchischer Form:

/zfspool
/zfspool/dataset1
/zfspool/dataset2
/zfspool/iso-dateien
etc...

 

Und very last not least würde ich für jedes Unterverzeichnis, das du erstellen willst, ein eigenes Dataset unter ZFS erstellen.

Also quasi nicht "nur" einen Z-Pool (ohne jegliche Datasets, was prinzipiell ginge) erstellen und dann über Windows alle weiteren Unterverzeichnisse (z.B. ISOs, System, VMs, Games, Music, etc. ) anlegen, sondern diese "Vor"-Arbeit in ZFS machen.

Vorteil: Du kannst jedes dieser Datasets für die Art der Daten, die darin liegen sollen (z.B. viele kleine Dateien vs. viele große Dateien) speziell anpassen, was zusätzliche Performance bringt und zudem die Möglichkeit bietet, gezieltere ZFS Snapshots pro Dataset (und eben nicht nicht Snapshot "Alles") zu erstellen.

Kleiner Nachteil: Den Ordner, den du als Dataset erstellst, kannst du unter Windows natürlich nicht mehr direkt löschen. Aber wer will das schon, wenn alles mal geordnet ist?

 

Viel Spaß beim Umsetzen

DaKarli

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...