Targetcli(iSCSI)を介してエクスポートする論理ボリュームを作成しています。
私はlvmのシンプロビジョニングされたボリュームを使用しています。
lvcreate -V 1T --thin -n vol_name storage/thin_pool
次に、作成した論理ボリュームをtargetcli
のiblockバックストアに追加します。結果のデバイスは4096をget attribute hw_block_size
として示します
イニシエーターのサポート(VirtualBox)がないため、これらのLUNには512バイトのセクターが必要です。一貫性の理由から、fileioバックストア(おそらくセクターサイズの設定が可能)の使用は避けたいと思います。
ボリュームの作成時またはボリュームのバックストアへの割り当て時にセクターサイズを指定することはできますか?
Fileioバッキングストアドライバーは、これを実現する方法です。一貫性が問題になるのは、fileioバックストアでライトバックキャッシュを有効にした場合(またはtargetcliがそれを参照する場合は「バッファモード」)を選択した場合のみです。
バッファなしモードは、Datera自体が示唆しているように、ディストリビューション上のほぼすべてのtargetcli実装のデフォルトです。これは大したことではありません。
ただし、特定のバッキングオブジェクトに対してバッファなしモードを強制する必要がある場合(そしておそらく安全のために)、次のように指定できます。
#> targetcli
/backstores/fileio/test_name> set attribute buffered=False
ブロックサイズの問題に対処するために、特定のfileioバッキングストアオブジェクトのblock_size属性を自由に編集することもできます。
/backstores/fileio/test_name> set attribute block_size=4096
Fileioバックストアを使用してシンLVM2(または実際には他のブロックデバイス)をアドレス指定し、ほぼすべての設定を変更できます。一方、ブロックまたはiblockバックストアは、デバイスとそのハードウェアプロパティをイニシエーターに「直接」渡すように最適化されています。ブロックはfileioよりもパフォーマンスが高くなるはずです。実装がスリム化されるためです-そのスリムな実装のため、このような機能が欠けているだけです。これらのパラメータを設定する必要がない場合は、ブロックデバイスに「block」を使用する必要があります。
question を考慮して、ファイルシステムの作成時にブロックサイズを変更できます。したがって、mkfs.yourfs -b 512 /dev/mapper/<VGName>-<logical volume>
_yourfs
はファイルシステムのタイプです。