ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × « OPPO Reno A (CPH1983)をSDカードから復旧させる Proxmox VEで仮想ディスクを4Knデバイスとして扱う Proxmox VEの仮想ディスクは、仮想マシンから512バイトセクタのストレージとして見える。正確にはQEMUのデフォルト挙動で、仮想環境における極々一般的な挙動なので普通に使う分には困らないし、意識すらしないだろう。 じゃあどんな時に困るかというと、物理・論理セクタサイズの両方が4096バイトの、いわゆる4KnデバイスをRDMでVMにアタッチする場合に困る。同じ理屈で、4Kn環境をそのままP2Vした時のディスクイメージとかも。例えばパーティションテーブルはLBA(セクタ番号)で管理されているので、4kセクタ環境で1GiBのパーティションを確保した場合262144セクタとなるが、これを512Bセクタ環境で解釈すると128MiBしか確保されてないように見え、色々とマズいわけですよ(実際はGPTそのものが正しく認識されなくなる。) 仮想ディスクを4Knとして認識させるには、/etc/pve/qemu-server/VMID.confをエディタで直接編集し、args:に下記の設定を追加してやればよい。 args: -set device.scsi0.physical_block_size=4096 -set device.scsi0.logical_block_size=4096 scsi0の0の部分はSCSI IDなので任意に読み替え可能で、複数のデバイスも同様に設定が可能。SATAやvirtio-blkも行けると思うけど未確認。 説明するまでもないだろうが、物理と論理のセクタサイズをそれぞれ4096に指定してあげればよい。物理4096, 論理512にすれば512e扱いになるかも? 上記設定を行った4KnのSSD×3、512eのHDD×5をRDMしてる当方の仮想環境では、想定通りに認識されている。 $ dmesg | grep sectors da0: 2969600MB (760217600 4096 byte sectors) da1: 2969600MB (760217600 4096 byte sectors) da2: 2969600MB (760217600 4096 byte sectors) da3: 17166336MB (35156656128 512 byte sectors) da4: 17166336MB (35156656128 512 byte sectors) da5: 17166336MB (35156656128 512 byte sectors) da6: 17166336MB (35156656128 512 byte sectors) da7: 17166336MB (35156656128 512 byte sectors) cd0: 998MB (511254 2048 byte sectors) また一つ、どーでもよいノウハウがたまってしまった。 参考サイト Change of sectorsize | Proxmox Support Forum Comments Name E-Mail Website 人間の証明として、ボックス内の全ての文字を入力してください。 この項目は空のままにして下さい:Preview Comment blog/2023/2023-05-07.txt 最終更新: 2023-05-07 22:33by Decomo