Zum Inhalt springen

ZFS auf Linux/ ACLs

Aus Wikibooks

Access Control Lists (kurz ACL) ermöglichen das nutzerspezfische Setzen von Zugriffsrechten. Sie sind in ZFS standardmäßig nicht aktiviert.

Aktivierung von ACLs

[Bearbeiten]

Mit folgendem Befehl können die ACLs für einzelne Datasets oder Pools aktiviert werden:

user> zfs set acltype=posixacl <DATASET>

Ohne weitere Anpassungen gibts es allerdings Probleme bei der aktuellen Implementation von ZoL. Die erweiterten Dateiattribute und somit auch die ACLs werden bei ZoL standardmäßig in einem versteckten Ordner als reguläre Dateien abgelegt. Dies führt beim Löschen von Dateien dazu, dass die Elemente in der "Delete-Queue" hängen bleiben und der Speicher erst beim nächsten unmount des Datasets wieder freigegeben wird.

Darüber hinaus kann ein unmount aus diesem Grund in ungünstigen Fällen mehrere Stunden dauern.

Lösung:

user> zfs set xattr=sa <DATASET>

Diese Einstellung bewirkt, dass die erweiterten Attribute zum entsprechenden Inode abgelegt werden und keine versteckten Ordner mehr verwendet werden. Diese Einstellung kann nicht rückwirkend getroffen werden. Bereits abgelegte Daten folgen weiterhin dem vorherigen Schema.

Einfluss auf die Geschwindigkeit

[Bearbeiten]

Weder beim Schreiben noch beim Lesen großer bzw. vieler kleiner Dateien konnte ein signifikanter Einfluss der ACLs auf die Geschwindigkeit des Pools festgestellt werden.