Optimal_io_size が大きすぎるため、LVM LV アライメントが一貫していません。

Optimal_io_size が大きすぎるため、LVM LV アライメントが一貫していません。

LVM VGとLVを作成しようとしていますが、LVは整列していません。

これが私の開始位置です:

% lsblk -t /dev/sdd
NAME   ALIGNMENT MIN-IO   OPT-IO PHY-SEC LOG-SEC ROTA SCHED       RQ-SIZE  RA WSAME
sdd            0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
├─sdd1         0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
├─sdd2         0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
└─sdd3         0   4096 33553920    4096     512    1 mq-deadline      60 128   32M

s はALIGNMENTすべて0(正しい) です。

上記でsdd2VGを作成してtestからLVを作成しましたalign-me

% sudo vgcreate --pvmetadatacopies 2 --vgmetadatacopies 2 test /dev/6TBd1p2
  Physical volume "/dev/6TBd1p2" successfully created.
  Volume group "test" successfully created
% sudo lvcreate -L 64g -n align-me test
  Logical volume "align-me" created.

しかし、ALIGNMENTforがtest-align--me間違っています。

% lsblk -t /dev/sdd
NAME               ALIGNMENT MIN-IO   OPT-IO PHY-SEC LOG-SEC ROTA SCHED       RQ-SIZE  RA WSAME
sdd                        0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
├─sdd1                     0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
├─sdd2                     0   4096 33553920    4096     512    1 mq-deadline      60 128   32M
│ └─test-align--me        -1   4096        0    4096     512    1                 128 128   32M
└─sdd3                     0   4096 33553920    4096     512    1 mq-deadline      60 128   32M

さらに、次のログメッセージが表示されます(4回繰り返します)。

kernel: device-mapper: table: 254:6: adding target device sdd2 caused an alignment inconsistency: physical_block_size=4096, logical_block_size=512, alignment_offset=0, start=33553920

私はそれをandvgcreateと呼びましたが、結果は同じです。--dataalignmentoffset 4k--dataalignment1m4m

私は走っています:

LVM version:     2.02.182(2) (2018-10-30)
Library version: 1.02.152 (2018-10-30)
Driver version:  4.39.0

ベストアンサー1

兆候

  1. 外観lsblk -t OPT-IOは本当に非常に高いです(Frost Schutzが指摘)

  2. smartctlディスク上で実行すると、以下が表示されます。

    Read Device Identity failed: scsi error unsupported field in scsi command
    

理由

-1最適なIO値が読み取れない場合は返されるようです。

〜のようにスティーブ・ディが指摘した。:

  • 33553920 / 512(論理セクタサイズ) = 65535
  • -1は16ビット値で表現= 65535です。 (2 16 = 65536)

次に、33553920その値を使用して、次のように最初のPE()をソートします。pvcreatevgcreatepe_start

sudo pvs -o +pe_start --units b

解決策

渡される--dataalignment 1mvgcreatepe_start= 1048576B = 1MiB です。

これにより、pe_startディスクセクタがソートされますが、まだ(間違った)ソートエラーメッセージが表示されます。

根本原因の修正

無人航空システムの無効化ドライブの値OPT-IOが返されます0(他のディスクドライブと一致)。また、smartctlドライブで実行することもできます。

--dataalignment 1mこの修正を適用すると、パスは必要ありません。

おすすめ記事