LVMパーティションのサイズを変更するにはどうすればよいですか?(例:物理ボリューム)


89

新しく解放されたスペースに新しいパーティションを作成するために、2番目の(LVM)パーティションを縮小します。Live CDを使用してこれを行っています。使用中はこのパーティションのサイズ変更や移動ができないことがわかっているからです。Live CDでGPartedを開いたとき、パーティションのサイズを変更できないことに気付きました。パーティションを右クリックすると、「サイズ変更/移動」オプションが無効になるためです。

私はそれをアンマウントしようとしましたが、「遅延」アンマウント(umount -l /dev/sda2)しようとしましたが、うまくいきませんでした。

GPartedのスクリーンショット:

GPartedスクリーンショット

回答:


49

Googleには、同様の問題が発生した多くの結果があるようです。例:

これを試みる前に、すべての重要なデータをバックアップしてください。パーティションのサイズを変更すると、すべてのデータが失われる可能性があることを常に想定してください。

データ損失のないLVMの縮小

このフォーラムスレッドは次の手順を提案します。この例では、パーティションを10Gから9Gに縮小します。

まず、アンマウントします。

sudo umount /dev/vg_blah/lv_blah

ファイルシステムを確認してください。

sudo e2fsck -f /dev/vg_blah/lv_blah

ファイルシステムと論理ボリュームのサイズを変更します。これを1ステップで行うことで、データ損失の原因となる間違いを回避できます。(lvreduceパラメーター-LG2 ^ 30バイトおよびg10 ^ 9バイトとして解釈することに注意してください。)

sudo lvreduce --resizefs -L 9G /dev/vg_blah/lv_blah

(オプション)必要に応じて、ボリュームグループから物理ドライブを削除します(現在、未使用のドライブがある場合)。

sudo vgreduce vg_blah /dev/sdxy

すべてのクレジットはbrianmcgeeに送られます。

注:ディスクの最後に別のlvがある場合、vgreduce失敗しcannot resize to xxxxx extents as later ones are allocatedます-スワップlvがあり、それを削除しました。Ubuntu LVMの論理ボリュームと物理ボリュームを縮小する方法を参照してくださいその状況の助けを求めて。


1
e2fsck -f /dev/vg_blah/lv_blah戻り値:「e2fsckは:デバイスまたはリソースビジーオープンしようとしているときには/ dev / sda2はファイルシステムがマウントまたは別のプログラムによって排他的に開かれた?」、resize2fsのと同じ...
IDAN Yadgar

12
答えは、物理ボリュームのサイズを変更する方法がありません。また、2つのサイズ変更手順をで1つに結合することを強くお勧めしlvreduce -rます。
Flimm

4
また、1Gto lvreduceが1000000000バイトであるのに対し、to resize2fsはギビバイトであることを認識する必要があります。あなたが1ギビバイトを渡したい場合はlvreduce、使用1g代わり。
フリム

1
使用しませんvgreduce。これは、ボリュームグループからpv を削除するためのものです。
psusi

2
lvreduce差分モードでG = gibibyteを使用しているのではないかと強く思います。それは確かに絶対モードで行います。そのマニュアルページは不十分に書かれており、それらのユニットが意味することを説明していません。
Urhixidur

45

GUIツールを使用すると、論理ボリュームを非常に簡単に縮小/拡張できますsystem-config-lvmsystem-config-lvmプリインストールされていないため、ライブCDから起動したら、インストールする必要があります。

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
sudo apt-get update
sudo apt-get install system-config-lvm

インストールしたら、プログラムを実行し、左パネルで変更する論理ボリュームを選択して、「プロパティの編集」をクリックします。

メイン論理ボリューム管理プログラムGUI

必要に応じてパラメーターを変更してください!

論理ボリュームの編集ウィンドウ

良い点の1つsystem-config-lvmは、新しいパーティションサイズが既存のすべてのデータを合わせたものよりも小さい場合、先に進むことができないことです(これを試してみたところ、自分で確認しました)。

参照:

  1. How-To Geekチュートリアル(これが画像の起源です)。
  2. プログラムに関するRed Hatの完全なガイド

2
GUIを使用するのは間違いありませんが、ライブCDからGUIを実行する必要があります。
マイク14

10
なぜまたはsystem-config-lvmよりリスクが高いのですlvresizelvresize -r
トゥフィール

1
LVMドライブを処理する次世代のパーティションマネージャーであるblivet-guigithubUbuntu PPA)を試すこともできます。
ベイン

5
system-config-lvmは(誤った)「ギガバイト」という表現を使用しているにもかかわらず、1024のべき乗単位を使用することに注意してください。本当にpalimpsest(ディスクユーティリティとも呼ばれる)のように実行し、その意味を明確なバイトで指定する必要があります。
Urhixidur

4
17.10および18.04の@Suncatcherでは、Xenialリポジトリを追加する必要があります。sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu xenial universe"
m93a

24

:Live CDを使用して、次のコマンドのほとんどすべてを実行する必要があります。場合によっては、すでに/にマウントされているパーティションをアンマウントするように求められます(この場合、アンマウントできません)。

これらは、LVMまたはLVM2パーティションのサイズを変更するために必要なすべての手順です。

sudo lvresize --verbose --resizefs -L -150G /dev/mapper/ubuntu

sudo pvresize --setphysicalvolumesize {some-space} /dev/sda5

2番目のコマンドが次のようなものを生成する場合:

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

次に、LVMの最後に未割り当てスペースを再配置する必要があります。これは、rootおよびswap_1パーティションの後を意味します。そのため、最初に、以下のコマンドを使用して物理ボリュームの情報を確認する必要があります。

sudo pvs -v --segments /dev/sda5

次のような出力が表示されます。

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx sss 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g zzz ttt swap 0 linear /dev/sda5:yyy-www

yyy-wwwに注意してください。次のコマンドを使用して、外部フラグメンテーションを削除します。

sudo pvmove --alloc anywhere /dev/sda5:yyy-www

さて、それがどうなるか見てみましょう:

sudo pvs -v --segments /dev/sda5

次のような出力が表示されます(変更点に注意してください):

/dev/sda5 ubuntu lvm2 a-- 698.04g 150g   0 xxx root 0 linear /dev/sda:0-rrr
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx ttt swap 0 linear /dev/sda5:xxx-sss
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy www 0 free

その後、GPartedを使用し、LVMを最大使用領域にサイズ変更し、残りは未割り当て領域になります。楽しい...


16

別のGUIツールであるKVPMをお勧めします。GPartedとsystem-config-lvmの機能を組み合わせています。さらに、system-config-lvmで許可されていないライブ(マウント済み)パーティションでの一部の操作を 許可します。 ただし、縮小するにはボリュームのマウントを解除する必要があります。

ここに画像の説明を入力してください ここに画像の説明を入力してください

Ubuntu 12.04以降のユニバースリポジトリにあるので、 sudo apt-get install kvpm

注:ルート権限で起動してください sudo kvpm


それは、宇宙のリポジトリにはない:E: Unable to locate package kvpm
ジェフPuckett


「system-config-lvm」は接続されたデバイス/ドライブ/ファイルシステムをロードしませんでしたが、これは私にとってはうまくいきました。追加のリポジトリをダウンロードする必要がなく、追加のリポジトリがあり、Ubuntuマシンで事前に構成されているというボーナスが追加されました。また、ファイルシステムが大幅に削減されているというエラーを吐き出していたため、Gpartedを介して作業しました。(バックアップのためにRetroOrangepi SDカードのサイズを32GBから8GBに変更しています)
BiTinerary

見栄えがよく、KDEをまだ使用していない場合は、他のすべてのK依存関係に
さらに〜100M

12

Gpartedの最新バージョン(0.14)のみがLVM物理ボリュームのサイズ変更をサポートします。Ubuntu 12.10または13.04に同梱されているバージョンではサポートされていません。

LVM物理ボリュームのサイズを変更する方法は次のとおりです。

  1. LVM物理ボリュームに関連付けられたボリュームグループに十分な未割り当て領域がない場合、論理ボリュームを縮小していくつかを作成する必要があります。その方法については、bigbadonk420の回答ご覧ください。GUIが必要な場合は、GNOMEディスク(Ubuntuに含まれています)をいくつかの手順に使用することもできます。

  2. バーンGPartedのウェブサイトから最新の.isoイメージを、そしてCDに焼くか、USBスティックの上に置きます。CDまたはUSBスティックから起動します。または、ソースからGPartedの最新バージョンをコンパイルすることもできます。

  3. GPartedを使用して、LVM物理ボリュームのサイズを変更します。GPartedでは、LVM物理ボリュームを未割り当て領域で許容されるサイズよりも小さくすることはできません。


Flimmに感謝します。12.10には、gpartedの最新バージョンが十分にあると予想されていました。あなたの答えは私を正しい方向に向けてくれました。
マーティンヒーメルス

1
最新のgpartedを入手しましたが、パーティションサイズを変更できません...タイプext2の/ dev / sda2があり、その下にタイプlvm2の/ dev / sda5があります。しかし、gpartedは、最小サイズと最大サイズが同じであるため、変更できないことを示しています... :
ポール

またはpvresize、LVM2スイートを使用しますか?
203967 14年

@ポールはそれを解決しましたか?私はまったく同じ問題を抱えています:S
カスティブランコ14年

@Castiblanco私はそれを解決しませんでした、私はすべてのものを拭き、LVMなしで再インストールすることになりました。私にとって、1つの教訓は、標準のデスクトップインストールにLVMを使用しないことです。
ポール14年

9

偶然この答えを見つけましたが、これは少なくとも私にとってはうまくいきました。私の場合、ルートの後に予約済みの未割り当てディスクスペースがすでにあったので、スペースを増やす方法は省略し、ブートせずにルートで使用した方法を説明します。

注:を使用する代わりに、を使用gpartedすることをお勧めしますsystem-config-lvm。次回は代わりにそれを使用します...私のgpartedバージョンは0.18でした。

  1. 最初は、gparted可能な限りルートパーティションを拡張していました。驚いたことに、それは物理的なサイズのみを拡張し、論理的な部分には何もしませんでした。したがって、df -kコマンドはディスクがまだいっぱいであると言いました。
  2. lvresize -l +100%FREE /dev/ubuntu-vg/root論理パーティションを可能な限り拡張します。さまざまな方法でGBまたはブロックを確認および計算する必要はありません。
  3. resize2fs /dev/ubuntu-vg/root 次に、3番目のステップです。ファイルシステムを論理パーティションのサイズに拡張します。

最後のステップは2番目のステップにマージできます。

lvresize -l +100%FREE --resizefs /dev/ubuntu-vg/root


これにより、論理ボリュームを縮小できますが、OPの問題は物理ボリュームの縮小です。
ステファン

あなたは私の命を救った
クアンハ

1

@ bigbadonk420回答に加えて、次の代わりに:

resize2fs -p /dev/vg_blah/lv_blah 9G
lvreduce -L -1G /dev/vg_blah/lv_blah

行う:

lvreduce -r -L 9G /dev/vg_blah/lv_blah

-rファイルシステムを同時に削減し、安全であることに注意してください。


しかし、それは物理ボリュームを縮小しません。
ステファン

0

現在最も多く投票されている答えについての警告:LVMオプション(14.04 Trusty Tahr)を使用してデフォルトのインストールを破棄しないようにするには、1)ページ全体を読み、2)スワップを削除し3)おそらくコマンドを変更してこのようなボリューム:

lvreduce -L -1g /dev/vg_blah/lv_blah

私は強くお勧めしsystem-config-lvmます。


繰り返しになりますが、OPは物理ボリュームを減らしたいと考えています。
ステファン

0

GPartedを使用してこれを行うには、dev / sda2(縮小する)を右クリックします。「無効化」を選択します。これで、lvmパーティションのサイズを変更できるようになります。

更新:@Cao Min Tuソリューションの方がはるかに優れています。サイズ変更後、GPartedの問題はほとんどありませんでした

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.