完了し、再パーティションが機能しました。ただし、両方のガイドに欠落している領域があるため、私がやったことを要約します。ユーザーzzzz
名をに、コンピューター名をに置き換えていることに注意してくださいxxxxxxx
。また、特に注記がない限り、すべてのコマンドはルートとして実行する必要があります。
最初に、バックアップしました:
tar -zcvf /media/e14be279-8c11-450a-b52c-1493cff3c632/xxxxxxx-home.tar.gz --exclude=/home/zzzz/Downloads /home
これにより、/ homeディレクトリの圧縮バックアップが作成され、外部ドライブに配置されます。(外部ドライブのパスは異なることに注意してください。)
次に、シングルユーザーモードで再起動する必要があります。
reboot
コンピューターの電源が再びオンになったら、次のような画面を探す必要があります。
Booting Centos 2.6.32-279.22.1.el6.x86_64 in 3 seconds...
中断するには、任意のキーを押してください。次のような画面が表示されます。
を押しa、次にスペースを押し、を入力しsingle
ます。Enterキーを押します。
次のようなプロンプトが表示されるはずです。
[root@xxxxxxx /] #
次のコマンドを入力します。
df -h
それはあなたを示さなければならないSize
、Used
とAvail
。興味がありUsed
ます。
ホームボリュームが使用している容量を書き留めます。後で必要になります。
umount /home
e2fsck -f /dev/mapper/vg_xxxxxxx-lv_home
ホームボリュームが使用したスペースを覚えていますか?それを2倍にして、このコマンドに渡してください。たとえば、ホームディレクトリで15ギガバイトを使用していたため、サイズを30ギガバイトに設定しました。
resize2fs /dev/mapper/vg_xxxxxxx-lv_home 30G
警告:この次のステップは、データを失う可能性のあるステップです。確認してくださいあなたは前のコマンドよりも大きなサイズに入れていること。5ギガバイトを追加して確認してください。
lvresize -L 35G vg_xxxxxxx/lv_home
ルートパーティションに、解放したばかりのスペースをすべて使用するように指示します。
lvresize -l +100%FREE vg_xxxxxxx/lv_root
resize2fs /dev/mapper/vg_xxxxxxx-lv_root
データをルートパーティションにコピーする
mount -t ext4 /dev/mapper/vg_xxxxxxx-lv_home /mnt/home
ls /mnt/home
cp -a /mnt/home/. /home/
(ところで、それ-a
は重要です。さもないと、すべてがrootによって所有され、それを望まないことになります。)
データが正しくコピーされたことを簡単に確認します。
ls -lR /home
ここで、ホームパーティションを削除し、ルートに新しいスペースを再度取得するように指示します。
umount /mnt/home
lvremove /dev/mapper/vg_xxxxxxx-lv_home
lvresize -l +100%FREE vg_xxxxxxx/lv_root
resize2fs /dev/mapper/vg_xxxxxxx-lv_root
この時点で、私はあなたが学ぶことができる大きな間違いを犯しました。再起動しましたが、システムが復旧したときに、/ homeパーティションをマウントできなかったため、ルートパーティションを読み書き可能としてマウントすることを拒否しました。したがって、再起動する前に、次のように入力します
nano /etc/fstab
これらの行の1つは、/ homeパーティションをマウントするようシステムに指示します。その#
前に置きます。Ctrl-O、Enter、Ctrl-Xを押します。これで再起動できます。
(仮に、私のようにfstabを編集するのを忘れた場合、ルートパーティションをマウントするコマンドはmount -n -o remount -t ext2 /dev/vg_xxxxxxxx/lv_root /
)
/
ボリュームを増やすだけではなく、それがLVMを使用するポイントではないのはなぜですか?