web-dev-qa-db-ja.com

cryptsetupのサイズ変更は、cryptdiskステータスがアクティブで使用中であるにもかかわらず、デバイスがアクティブではないことを返します(LVM-on-LUKSのサイズ変更)

私はLVM-on-LUKSのサイズを変更している最中です。ガイドとして これらtwo の投稿を参照しています。以前はスムーズにこれを行っていましたが、奇妙な問題に遭遇しました。走ると

#cryptsetup -b 377523479 resize /dev/mapper/cryptdisk

Device /dev/mapper/cryptdisk is not active.

しかしながら、

#cryptsetup status cryptdisk

 /dev/mapper/cryptdisk is active and is in use.
  type:    LUKS1
  cipher:  aes-xts-plain64
  keysize: 512 bits
  key location: dm-crypt
  device:  /dev/nvme0n1p3
  sector size:  512
  offset:  4096 sectors
  size:    438766176 sectors
  mode:    read/write

どんな提案もありがたいです、私はどのように進めるかわかりません、そしてオンラインでどんな情報も見つけませんでした。

1
user374813

以下の@frostschutzによって提供される可能な回避策は、バイトサイズをオフセットで割り切れる数(この場合は4096)に変更することです。

# cryptsetup -b 377520128 resize cryptdisk

これは、dmsegに「(ディスク)のh/w論理ブロックサイズ4096にアラインされていない」という行があったために発見されました。 cryptsetupステータスのオフセットを確認することもできます。

それでも、サイズチェックは事前に行う必要があるため、これはcryptsetupのバグとして登録されています ここ (これもfrostschutzのおかげです)。

うまくいけば、これは問題を経験している他の誰にとってもうまくいくでしょう。変更されていないバイトサイズで最初のコマンドを実行した後、バイトサイズを変更した後もエラーメッセージが表示されることに注意してください。 frostscutzのソリューションが機能するのは、デバイスを閉じて再度開くまではありませんでした。

すなわち:

# vgchange -an
# cryptsetup luksClose cryptdisk

次に、それを再度開き、変更されたバイトサイズでプロセスを再開します。

# cryptsetup luksOpen /dev/device cryptdisk
# vgchange -ay
# cryptsetup -b 377520128 resize cryptdisk
2
r1v3r

あなたがリンクした両方の投稿は、cryptsetup resizeは、フルパス名ではなく、暗号デバイスの短い名前を取ります。言い換えれば、これを試してください:

# cryptsetup -b 377523479 resize cryptdisk
0
telcoM