Wie wird die Sektorgröße für das logische LVM-Volume angegeben?

7

Ich erstelle logische Volumes für den Export über targetcli (iSCSI).

Ich verwende die Thin Provisioning-Volumes von lvm, z

lvcreate -V 1T --thin -n vol_name storage/thin_pool

Dann füge ich das erstellte logische Volume targetclidem iblock-Backstore hinzu. Das resultierende Gerät zeigt 4096 alsget attribute hw_block_size

Aufgrund der fehlenden Initiatorunterstützung (VirtualBox) benötigen diese LUNs 512-Byte-Sektoren. Ich möchte aus Konsistenzgründen die Verwendung des Fileio-Backstores (der angeblich das Festlegen der Sektorgröße ermöglicht) vermeiden.

Ist es möglich, die Sektorgröße während der Erstellung des Volumes oder der Zuordnung des Volumes zum Backstore anzugeben?

velis
quelle

Antworten:

6

Mit dem Fileio Backing Store-Treiber können Sie dies erreichen. Konsistenz ist nur dann ein Problem, wenn Sie das Writeback-Caching (oder, wie targetcli es nennt, den "gepufferten Modus") in den Fileio-Backstores aktivieren.

Der ungepufferte Modus ist die Standardeinstellung für nahezu jede targetcli-Implementierung in einer Distribution, wie von Datera selbst vorgeschlagen. Dies sollte keine große Sache sein.

Wenn Sie jedoch den ungepufferten Modus für ein bestimmtes Hintergrundobjekt erzwingen müssen (und möglicherweise nur aus Sicherheitsgründen), können Sie dies folgendermaßen angeben:

#> targetcli

/backstores/fileio/test_name> set attribute buffered=False

Um das Problem der Blockgröße zu beheben, können Sie das Attribut block_size für ein bestimmtes Fileio-Backing-Store-Objekt auch frei bearbeiten:

/backstores/fileio/test_name> set attribute block_size=4096

Sie können Fileio-Backstores verwenden, um Thin LVM2 (oder wirklich jedes andere Blockgerät) zu adressieren, während Sie nahezu jede Einstellung ändern, während die Block- oder Iblock-Backstores so optimiert sind, dass Geräte und ihre Hardwareeigenschaften "direkt" an Initiatoren übergeben werden. Block sollte eine bessere Leistung als Fileio erzielen, da die Implementierung schlanker ist. Aufgrund dieser schlanken Implementierung fehlen nur solche Funktionen. Wenn Sie diese Parameter nicht einstellen müssen, sollte "block" für Blockgeräte verwendet werden.

Spooler
quelle
4

Mit Regads auf die Frage kann die Blockgröße zu dem Zeitpunkt geändert werden, zu dem das Dateisystem erstellt werden soll. Daher glaube ich, sollten Sie laufen , mkfs.yourfs -b 512 /dev/mapper/<VGName>-<logical volume>wo yourfsTyp des Dateisystems ist.

Herr Himbeere
quelle
1
Auf dem Blockgerät befindet sich kein Dateisystem, das über iSCSI gemeinsam genutzt wird. Nur der Initiator (Client) erstellt eine
velis
1
Ich denke, Sie müssen diesen Befehl auf dem Server ausführen, auf dem Sie logische Volumes erstellen und formatieren.
Stuka