CentOS 6.4(2.6.32-358.6.1.el6.x86_64)ボックスをインストールすると、LVM物理ボリューム全体(ホーム、ルート、およびスワップを含む)が誤って暗号化されました。kcryptd
CPU使用量が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
これは可能です。この必要
- 他のLinuxブート(CD/DVDも可能)
- PVの外側にわずかな空きスペースがあります(100Mで十分です)。
- ある程度の無感覚さ…
その後、ブロックは暗号化されたボリュームから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
編集する:電話する前に必要な場合がありますpvmove
。pvresize
エラーが発生した場合は、次をご覧ください。この問題。
パーティションのサイズを縮小する前に、パーティションテーブルをバックアップする必要があります。そして外部メモリに保存。
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を使用するようにブートローダを再設定する必要があります。
空き容量が大きすぎるため、最初に述べたブロックコピーは必要ありません。