Ubuntu: ルート LVM(2?) パーティションのサイズを変更する

Ubuntu: ルート LVM(2?) パーティションのサイズを変更する

私はVirtualBox 2.2.4でUbuntu仮想マシンを実行しており、それを8GBの仮想ディスク上に作成しましたが、これは小さすぎます。

そこで、ディスクのサイズを増やそうとしています。これまでのところ、次のことを実行しました。

  1. 新しい大きな仮想ディスクを作成しました
  2. マシンに2枚目のディスクを追加しました
  3. CloneZillaを使用して最初のディスクを2番目のディスクにクローンしました
  4. 最初のディスクを削除しました
  5. 2番目の(大きい方の)ディスクから起動

しかし、今のところ、新しい 100 GB の仮想ディスク上の 8 GB のパーティションが残っています。

ここから 100 GB のパーティションを作成する最も簡単な方法は何ですか? :) GPart はパーティションのサイズを変更できるようですが、私のマシンは LVM2 パーティションをサポートしているようですが、サポートしていないようです。

THX

  • アレックス

答え1

一般的に、LVM ボリュームのサイズを変更する方法は次のとおりです。

/mountpointが にあるとします/dev/VolGroup00/mountpoint。これを確認するには、 を確認する/etc/fstabか、 を実行しますmount -l

設定によっては、実際の物理ボリュームのサイズを変更する必要がある場合もあります。pvdisplay十分な大きさかどうかを確認し、必要に応じてpvresize(以下のようにlvresize)使用します。

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

これは、アンマウント、基礎となる LVM のサイズ変更、実際の ext3 パーティションのサイズ変更に相当します。

注意すべき点がいくつかあります:

  1. 明らかに、データパーティションとは異なる方法で操作/します。次のようなブートディスクが必要になる場合があります。Sysrescuecdライブで行う代わりに、 を使用します。また、以下の Kristof のコメントも参照してください。実際には、アンマウントせずにこれを行うことができる可能性があります/
  2. lvresizeにはいくつかの異なる構文オプションがあり、論理ボリュームを縮小すると、オーバーレイパーティションに悪影響を与える可能性があります。ローカルマニュアルページ詳細については。

答え2

ただ私もこれを実行し、あなたと同じ疑問を抱きましたが、新しい LVM を作成してボリューム グループに追加するのではなく、OCD の私の側面は、現在の LVM のサイズを変更して、シンプルさを優先して単一のパーティションを維持したいと考えました。注意: サイズ変更するパーティションの直後に空き領域がない場合、これは不可能だと思います。

そのためには、パーティションテーブルを削除したり作成したりできるツールが必要です。私はGPTを使用しているので、gdiskまた、パーティションをアンマウントした状態でこれを行う必要があるため、Ubuntu LiveCD を起動してそこから実行することをお勧めします。

次の太字の手順LVMの例です/dev/mms/ルートデバイス上/dev/sda、パーティションを拡張したい場所/dev/sda3新たに見つけた空きスペースを埋めるためです。

注記:これらは潜在的に非常に破壊的なので、入力が正しいことを確認してください。

  1. gdisk /dev/sda(正しいデバイスを入力してください!)これでgdiskに入り、次の手順を順番に実行できます。
    1. p -- 現在のパーティション情報を出力します(参考用)
    2. d -- パーティションテーブルを削除する
    3. 3 -- 削除するパーティション テーブルを表すデバイス番号 (重要!)
    4. -- パーティションテーブルを作成する
    5. 3-- 作成するパーティション テーブルを表すデバイス番号 (手順 3 で削除したものと同じ番号を使用することをお勧めします)
    6. p -- 現在のパーティション情報を出力します (これも参考として、開始時の状態と比較してください)。
    7. -- 変更内容をディスクに保存します (よろしいですか?!)
  2. /dev/sda3 をサイズ調整する-- OSが新しいパーティションサイズを認識するように、これを行う前に再起動する必要があるかもしれません。
  3. 表示-- 現在の情報を出力します (現在、すべてのスペースを使用していることが示されるはずです)
  4. lvresize -l +100%FREE /dev/mms/root-- LVM のサイズを変更して、新たに見つけたスペースを 100% 占有します
  5. e2fsck -f /dev/mms/root-- 整合性チェックを実行します
  6. resize2fs -p /dev/mms/root-- ファイルシステムのサイズを変更して、LVM 全体を占有します

上記の手順を実行し、サイズ変更された OS で再起動すると、すべてが期待どおりに動作し、追加の空き領域をすべて利用できるようになりました。

これをすべて理解するために使用した追加の参考資料:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

答え3

これを実行する方法が 1 つ (そして 1 つだけ) 見つかったので、無数の方法を試しました。

まず、VirtualBox で Ubuntu ゲスト VM を右クリックして「クローン」を選択し、クローンを作成します。クローンが完了したら、(ホスト OS 上で) を使用してクローンされた VDI を拡張します。

VBoxManage 修正 hd "クローンされた vdi の名前" --resize "新しいルートパーティションのサイズ (MB 単位)"

次に、この投稿の手順を忠実に実行します (彼は VMware をプラットフォームとして言及していますが、それは無視してください)。

http://blog.campodoro.org/?p=36

これにより、追加したスペースとまったく同じサイズの別の LVM が作成され、既存の LVM の末尾に追加されます。

すべてが正常であることを確認したら、元の VM を削除してクローンを昇格できます。

fdisk をいじったり、間違ったパーティションを削除したり、台無しにしたりすることを心配する必要はありません。

この解決策を見つけるまで、クローン OS を 4 つほど壊したに違いありません。

答え4

ここで CloneZilla のようなクローン ツールを実際に使用する必要はありません。新しい仮想ディスクにパーティションを配置し (オプション)、コマンドを使用してそのパーティション (または仮想ディスク自体) を LVM に初期化できますpvcreate。次に を使用して、vgextend論理ボリュームをサポートするボリューム グループに追加し、 を使用してvgreduce元の仮想ディスクをボリューム グループから削除します。これにより移行が実行され、論理ボリュームの使用中にライブで実行できます。これがストレージ仮想化の優れた点です。完了したら、上記のように論理ボリュームを拡張するだけです。これは、ext3 よりも新しいファイル システムを使用してライブで実行することもできます。

関連情報