ディスクパーティションの復号化の最も簡単な方法は何ですか?

ディスクパーティションの復号化の最も簡単な方法は何ですか?

CentOS 6.4(2.6.32-358.6.1.el6.x86_64)ボックスをインストールすると、LVM物理ボリューム全体(ホーム、ルート、およびスワップを含む)が誤って暗号化されました。kcryptdCPU使用量が90%に達し、ファイルの移動に時間がかかり、重要なデータが入っていない単純なホームサーバーなので、暗号化もあまり必要ないという事実をすぐに悟りました。しかし、私はそれを構成し、多くのパッケージをインストールし、電源管理を調整し、すべてのサービスを設定しました。

システム全体を再インストールして再構成せずに暗号化を削除する方法はありますか? 30分未満のオプションが必要ですが、それが存在するかどうかはわかりません。

kcryptdまた、これを使いやすくする方法について提案がある場合はお知らせください。

編集1

~]# fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000078c9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64       19458   155777024   83  Linux

~]# dmsetup ls
vg_centos-lv_home       (253:3)
vg_centos-lv_swap       (253:2)
vg_centos-lv_root       (253:1)
luks-2ffcc00c-6d6e-401c-a32c-9c82995ad372       (253:0)

~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/mapper/luks-2ffcc00c-6d6e-401c-a32c-9c82995ad372
  VG Name               vg_centos
  PV Size               148.56 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              38030
  Free PE               0
  Allocated PE          38030
  PV UUID               euUB66-TP3M-ffKp-WhF5-vKI5-obqK-0qKoyZ

編集2

~]# df -h / /home /boot
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
                       50G  2.3G   45G   5% /
/dev/mapper/vg_centos-lv_home
                       94G  1.3G   88G   2% /home
/dev/sda1             485M   53M  408M  12% /boot

答え1

これは可能です。この必要

  1. 他のLinuxブート(CD/DVDも可能)
  2. PVの外側にわずかな空きスペースがあります(100Mで十分です)。
  3. ある程度の無感覚さ…

その後、ブロックは暗号化されたボリュームからPVの外部地域にコピーされ(成功した場合)、暗号化されていないプライマリデバイスにコピーされます。その後、衝突が発生しても変換が継続できるように、安全領域でカウンタをインクリメントします。暗号化の種類によっては、ブロックデバイスの最後から最初にコピーする必要があるかもしれません(または少なくとも役に立つかもしれません)。

これがあなたの選択であれば、いくつかのコードを提供できます。

編集1

スワップパーティションを無効にします(でコメントアウトetc/fstab)。その後、CD / DVDから別のLinuxを起動し、LUKSボリューム(cryptsetup luksOpen /dev/sda2 lukspv)を開きますが、LVをマウントしないでください。pvscan復号化されたデバイスを認識するには、後で実行する必要があるかもしれません。これにより、ボリュームをアクティブにするvgchange -ay vg_centos必要があります。存在すると、その中にあるファイルシステムを減らすことができます。

e2fsck -f /dev/mapper/vg_centos-lv_root
resize2fs -p /dev/mapper/vg_centos-lv_root 3000M
e2fsck -f /dev/mapper/vg_centos-lv_home
resize2fs -p /dev/mapper/vg_centos-lv_home 2000M

その後、LVのサイズを小さくしてスワップLVを削除できます。

# with some panic reserve... shouldn't be necessary
lvresize --size 3100M /dev/mapper/vg_centos-lv_root
lvresize --size 2100M /dev/mapper/vg_centos-lv_home
lvremove /dev/mapper/vg_centos-lv_swap

# vgdisplay should show now that most of the VG is free space
vgdisplay

これでPVを減らすことができます(興味深いです。私はこれを自分でやったことはありません;-))。

vgchange -an vg_centos
pvresize --setphysicalvolumesize 5500M /dev/mapper/lukspv

編集する:電話する前に必要な場合がありますpvmovepvresizeエラーが発生した場合は、次をご覧ください。この問題

パーティションのサイズを縮小する前に、パーティションテーブルをバックアップする必要があります。そして外部メモリに保存

sfdisk -d /dev/sda >sfdisk_dump_sda.txt

このファイルを使用して、LUKS パーティションのサイズを縮小できます。サイズ(セクタ単位)を約6GiBに調整しました(再パニック予約...):12582912。その後、調整されたファイルをロードします。

sfdisk /dev/sda <sfdisk_dump_sda.mod.txt

再起動後にすべてが問題なく見える場合は、空き領域に新しいパーティションを作成し(すべてのスペースを消費しないことをお勧めし、おそらくその理由を知っているでしょう...)、LVMパーティションにすることができます。次に、パーティションをLVM PVにし(pvcreate)、新しいボリュームグループ(vgcreate)とルート、プライマリボリューム、およびスワップボリューム(lvcreate)を作成してフォーマットします(mke2fs -t ext4、、mkswap)。その後、開いているボリュームの内容をコピーできます。最後に、新しいrootfsを使用するようにブートローダを再設定する必要があります。

空き容量が大きすぎるため、最初に述べたブロックコピーは必要ありません。

関連情報