web-dev-qa-db-ja.com

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

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

ボリュームグループを拡張する、私の/ homeを含む論理ボリュームおよび/ homeのファイルシステム(ext4)はどうすればよいですか?これはオンラインで行うことは可能ですか?

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
34
klingt.net

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

  • ライブCDから起動
  • gdiskを使用する(GPTを使用する場合)それ以外の場合は、古き良きfdiskを使用できます
  • パーティション設定をメモします。私の場合はgdisk -l /dev/sdb
  • パーティションを削除する
  • 前のパーティションとまったく同じ配置で新しいパーティションを作成します(この例では、ブロック2048から)
  • 新しいパーティションテーブルを作成する
  • partprobe -sを実行して、再起動せずにパーティションテーブルを更新します
  • 物理ボリュームのサイズをpvresize /dev/sdb1で変更するか、現在の位置を変更します(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
  • 楽しい :)
10
klingt.net

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

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

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

LVMのパワーを正解する答えはありません。

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

事実を見てみましょう:

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

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

  • sdb1に物理ボリュームを作成:pvcreate /dev/sdb1
  • sdb1をlinuxvgに追加:vgextend 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

12
MGP

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

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

xfs_growfs /mountpoint

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

4
Paul M