物理ボリュームの範囲を解除する方法は? LVM、暗号化

物理ボリュームの範囲を解除する方法は? LVM、暗号化

私はDebian 8.1をインストールしました。ほぼすべてのディスク300GiBを暗号化されたパーティションに割り当て、少しだけブート用に割り当てました。より小さな50GiB暗号化物理ボリュームを作成し、利用可能なスペースに別のxenオペレーティングシステムをインストールしたいと思います。

データを失うことなくこれを行うことはできますか?どのように?


システムメッセージ:

/dev/dm-1 ext4 /
/dev/sda1 ext2 /boot

/dev/mapperのファイル:

  • control
  • hostname--vg-root
  • hostname--vg-swap_1
  • sda5_crypt

最初のコメントに返信を追加する:

root@X550C:/home/user# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda               8:0    0 298.1G  0 disk  
├─sda1            8:1    0   243M  0 part  /boot
├─sda2            8:2    0     1K  0 part  
└─sda5            8:5    0 297.9G  0 part  
  └─sda5_crypt  254:0    0 297.9G  0 crypt 
    ├─hostname--vg-root
            254:1    0 290.1G  0 lvm   /
    └─hostname--vg-swap_1
            254:2    0   7.8G  0 lvm   [SWAP]
sdb               8:16   0 931.5G  0 disk  
└─sdb1            8:17   0 931.5G  0 part  /media/user/Seagate Backup     Plus Drive
sr0              11:0    1  1024M  0 rom   

答え1

各ピースを内側から外側に縮小します。インストールせずにこれを行う必要があるため、/Live CD / USBで行う必要があります。システム回復ディスクこんなことがうまくいきます。かなり最新バージョンのLVMとcryptsetupツールが必要です。

  1. /ファイルシステムの縮小resize2fs

    resize2fs /dev/mapper/hostname--vg-root 240G
    
  2. /以下を含む論理ボリュームを縮小します。lvresize。ファイルシステムのサイズ以下に縮小しないように注意してください。tune2fs -l /dev/mapper/hostname--vg-rootファイルシステムのサイズを再確認するには、実行してください。

    lvresize -L 240g hostname/vg-root
    

    lvresize注:サポートされている場合は電話でお知らせください。fsadmファイルシステムのサイズを変更します。これにより、誤ってボリュームをファイルシステムのサイズより小さくするリスクがなくなります。これが機能すると、前のステップをスキップできます。

    lvresize -r -L 240g hostname/vg-root
    
  3. sda5_crypt物理サイズの縮小pvresize。これは、次の制限により動作する場合と動作しない場合がありますpvresize。論理ボリュームが物理ボリュームの終わり近くの一部のスペースを占有している場合、ボリュームの先頭の近くの空pvresizeのスペースにデータは移動されません。これを混乱させる場合は、私が知っている唯一の解決策は、/ファイルシステムと論理ボリュームをできるだけ減らし、物理ボリュームを内容に減らすまでスワップボリュームを削除することです。

    pvresize --setphysicalvolume 248g /dev/mapper/sda5_crypt
    

    次に、ボリュームグループを無効にします。

    vgchange -an hostname
    
  4. 暗号化されたボリュームの縮小cryptsetup。もう一度言いますが、LVMの物理ボリュームサイズ以下に縮小しないでください。パラメータ単位は--size512バイトセクタです。これは、暗号化されたデータのサイズではなく、埋め込みデバイスのサイズであることを覚えておくことが非常に重要であるため、メタデータのためのスペースを残してください。

    cryptsetup resize --size $((248*2*1024*1024+4096)) sda5_crypt
    

    次に、暗号化されたボリュームを無効にします。

    cryptsetup luksClose sda5_crypt
    
  5. 縮小分割を使用しますfdisk。暗号化されたボリュームサイズ以下に縮小しないでください。ここから新しいパーティションを作成できます。

ヒント:サイズがわからない場合は、各ステップで余白を残してください。内側が外側よりも少なくなります。その後、すべてがターゲットより小さい場合は、暗号化されたボリュームを展開してパーティションを作成し、物理ボリュームを展開して暗号化されたボリュームを作成し、論理ボリュームを展開して物理ボリュームを作成し、ファイルシステムを拡張して論理ボリュームを作成します。容量。含まれているボリュームを埋めるためのサイズ引数なしでcryptsetup resize呼び出されます。pvresizeresize2fs

関連情報