LVMと含まれる物理ボリュームおよび論理ボリュームでパーティションを拡張するにはどうすればよいですか?


33

240 GB SSDには、最初に2つのパーティションがあり、1つにはLinux Mintの論理ボリュームが含まれ、もう1つにはWindowsと共有するためのNTFSパーティションが含まれていました。NTFSパーティションを削除し、論理ボリュームグループを拡張して、解放されたディスク領域を使用したいと考えています。

私はどのように行うのボリューム・グループを拡張し、私の論理ボリューム含む/家庭ファイルシステム(ext4の)上の/ home?これはオンラインで可能ですか?

PS:はい、私は自分のデータをバックアップしなければならないことを知っています:)

/dev/sdb/  (240GB)
    linuxvg  (160GB) should use 100% of the disk space
        swap
        root
        home (ext4, 128GB) should be extended to use the remaining space

の出力sudo vgdisplay

  --- Volume group ---
  VG Name               linuxvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               160,00 GiB
  PE Size               4,00 MiB
  Total PE              40959
  Alloc PE / Size       40959 / 160,00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               ...

  --- Logical volume ---
  LV Path                /dev/linuxvg/swap
  LV Name                swap
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:32 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/linuxvg/root
  LV Name                root
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:43 +0200
  LV Status              available
  # open                 1
  LV Size                24,00 GiB
  Current LE             6144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/linuxvg/home
  LV Name                home
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:57 +0200
  LV Status              available
  # open                 1
  LV Size                128,00 GiB
  Current LE             32767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Physical volumes ---
  PV Name               /dev/sdb1     
  PV UUID               ...
  PV Status             allocatable
  Total PE / Free PE    40959 / 0

の出力sudo fdisk -l

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   468862127   234431063+  ee  GPT

Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

2
簡単な方法はvgextend、パーティションを完全に削除するのではなく、NTFSパーティションをpvcreateし、を使用することです。Linuxがディスクの使用中にパーティションテーブルの再読み込みを拒否するため、代わりに既存のPVパーティションを拡張する場合、おそらく再起動する必要があります。このオンラインでの作業は厄介です。-現在のパーティションテーブルを表示してください。
frostschutz

必要に応じて再起動できます。
klingt.net

回答:


44

これはかなり簡単にできます。ちょっとここでこれに対する答えがなかったことに驚いた。

サイズ変更するファイルシステムで実行中にこのプロセス全体を実行できます(はい、安全で完全にサポートされています)。レスキューCDや代替オペレーティングシステムは必要ありません。

  1. パーティションのサイズを変更します(繰り返しますが、これはシステムを実行した状態で実行できます)。GPartedは使いやすく、サイズ変更をサポートしています。
    のような下位レベルのツールを使用することもできfdiskます。ただし、パーティションを削除して再作成する必要があります。新しいパーティションがまったく同じ場所で開始するように注意してください。
  2. リブート。実行中のシステムでパーティションテーブルが変更されたため、再起動するまで有効になりません。
  3. 実行pvresize /dev/sdXYして、LVMに新しいスペースを取得させます。
  4. で論理ボリュームのサイズを変更しlvextendます。あなたは全部を使用したい場合は、lvextend -r -l +100%FREE /dev/VGNAME/LVNAME-r同様に、ファイルシステムのサイズを変更します。
    ボリュームグループ全体を使用しないことを常にお勧めしますが。将来何が必要になるかわかりません。後からいつでも拡大できます。縮小することはできません。

3
私はあなたの答えを受け入れたいと思いますが、GPartedは実行中のシステムでルートパーティションのサイズを変更できないため(少なくとも私の場合)、あなたが提案したように働きませんでした。
klingt.net

@HalosGhost編集を元に戻しました。partprobe -sあなたが思っていることはしません。カーネルは、使用中のパーティションのサイズ変更を選択しません。partprobe -sサイズ変更中にパーティションが使用中だった場合(つまり、fdiskがカーネルに失敗したことを通知したとき)にのみ機能しますが、もはや機能しません。
パトリック14

@パトリック、私はそれのためのアイデアを追加しませんでした。コマンドをバッククォートに入れることで編集を「改善」しました(コードの戦争は逃げ出します!)。
HalosGhost 14

ああ、すみません、間違った履歴イベントから名前を読んでください。あなたに適用される@Qetesh :
パトリック14

1
ステップ2で「partx -u」を使用してまったく再起動しないようにして、パーティションのサイズを更新するようカーネルに指示することができます。アクティブなパーティションでも動作し、後。
AB

11

LVMの力を正当化する答えはありません。

(これは、上記の質問に対する@frostchutzコメントに基づいています。)

事実を把握しましょう。

  • OPにはsdb1とsdb2の2つのパーティションがあり、LVMの物理ボリュームです。
  • sdb1は現在ntfs です。ボリュームグループhome内の論理ボリュームにそのスペースを割り当てる必要がありlinuxvgます。

「実用的な方法」を使用したLVMステップ:

  • sdb1に物理ボリュームを作成します。 pvcreate /dev/sdb1
  • にsdb1を追加しますlinuxvgvgextend linuxvg /dev/sdb1
  • homeすべての空きスペースで論理ボリュームを拡張します。lvextend -l +100%FREE /dev/linuxvg/home
  • ext4 fsを拡張します。 resize2f /dev/linuxvg/home

LVMは、大きなレベルの間接化を可能にします。論理ボリュームは、複数のディスクを使用している可能性のあるボリュームグループ内にあります。

ホーム-> linuxvg->(sdb1、sdb2、sdc1)

http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html


10

このブログ投稿を読んだ後、質問は解決しました。ソリューションを短い形式で記述します。

  • ライブCDから起動
  • 使用gdisk(あなたはGPTを使用している場合)、そうでない場合は、古い良いと行くことができますfdisk
  • 私の場合、パーティション設定に注意してください gdisk -l /dev/sdb
  • パーティションを削除します
  • 前のパーティションとまったく同じアライメントで新しいパーティションを作成します(私の例では、ブロック2048から始まります)
  • 新しいパーティションテーブルを書きます
  • partprobe -s再起動せずにパーティションテーブルを更新するために実行します
  • 物理ボリュームのサイズをpvresize /dev/sdb1、PVのある場所またはどこにでも変更します(pvs知らないかどうかを判断するために使用します)
  • lvextend -l +100%FREE /dev/file/of/your/lv、私の場合、論理ボリュームのサイズを変更しますsudo lvextend -l +100%FREE /dev/linuxvg/home
  • ファイルシステムのサイズを変更する sudo resize2fs /dev/linuxvg/home
  • 最初に一貫性を確認します sudo e2fsck -f /dev/linuxvg/home
  • 楽しい :)

実際には、これらの手順の約半分をカットして、1回の再起動で実行できます。
パトリック

GPartedは、パーティションがロックされているため(このキーシンボル)、パーティションのサイズ変更を拒否しました。
klingt.net

4

すでにいくつかの素晴らしい答え。

xfsを使用している場合は、次のコマンドを使用します

xfs_growfs /mountpoint

resize2fsではなく。ルートパーティションを拡大した場合など、マウントポイントがアクティブなときにそれを行うことができ、その後再起動する必要はありません。

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