それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

luksをLVMで使うと Devices have inconsistent logical block sizes (512 and 4096).になった

luks のディスクを追加しようとしてエラー

vgextend mydata /edev/mapper/crypt02

エラーが出た

Devices have inconsistent logical block sizes (512 and 4096).

エラーはセクタサイズです。

はて?ファイルシステムでフォーマットしてないのにセクタサイズとは?

調べたらLUKSにはセクタサイズがあった

セクタサイズを調べる。

sudo cryptsetup luksDump /dev/sdd
Data segments:
  0: crypt
        offset: 16777216 [bytes]
        length: (whole device)
        cipher: aes-xts-plain64
        sector: 512 [bytes]

比べてみると・・・

 sudo cryptsetup luksDump /dev/sde
Data segments:
  0: crypt
        offset: 16777216 [bytes]
        length: (whole device)
        cipher: aes-xts-plain64
        sector: 4096 [bytes]

Keyslots:

ああ、ずっと昔から、luks を使ってるからデフォルト値を変えたの忘れている。

そうか、昔作ったLVMは、gitなど細かいデータのバックアップが多いからセクタサイズを小さくしたんだった。

ブロックデバイスのセクタを見ても解決しない。

luksDumpで見て、セクタサイズが小さいことがわかるが。

sudo cryptsetup luksDump /dev/sde
Data segments:
  0: crypt
        offset: 16777216 [bytes]
        length: (whole device)
        cipher: aes-xts-plain64
        sector: 512 [bytes]

その他のデバイス経由だとわからない

バイス マッピングのツリー確認

バイスマッピングのツリーは次のようになっているので。

lsblk /dev/sde
NAME                 SIZE FSAVAIL FSUSE% FSTYPE
sde                      7.3T                      crypto_LUKS
└─crypt-disk10  7.3T                       LVM2_member
    └─data           12.7T    1.6T    87% ext4

セクタを確認

それぞれ、デバイスを見ても、ファイルシステムをみても4096が返ってくるだけった。

$ sudo blockdev --getpbsz /dev/sde
4096
$ sudo blockdev --getpbsz /dev/mapper/data
4096

私は、暗号化ディスクを512として、その上のext4 のセクタを4096にするというムダをやっていた。

luksFormatのやり直し

セクタサイズが異なる場合はluksFomat からやり直しです。

sudo cryptsetup luksFormat --sector 512 /dev/sde
```


### ともかくセクタに注意

luksにもセクタサイズがあります。