Ubuntu LVMの論理ボリュームと物理ボリュームを縮小する方法は?


26

システムに唯一のOSとしてUbuntu 12.10をインストールしました。

急いでいるときにすべてを上書きするようにUbuntuに指示したので、Ubuntuが作成する2つのパーティション、数百MBのブートパーティション、およびその他すべてを持っています。

メインパーティションは約600GBです。

これを450GBにサイズ変更したいので、Windows 8をデュアルブートとしてインストールできます。

問題は、パーティションを縮小する方法がわからないことです。通常は、Gparted(gparted-live-0.14.1-6-i486.iso)のライブisoで問題ありません。単にサイズを変更すればいいのです。

しかし、今回はLVMとともにUbuntuがインストールされています。

そのため、Ubuntuパーティションの横にはロックアイコンがあります。これにより、何もできなくなり、パーティションを選択できます。また、「非アクティブ化」するオプションがあります。正しい場合は、スワップを非アクティブ化していると思われますか?そうすれば、パーティションを操作できます。

ここで、システムを破壊する前にこれが正しいことかどうかを尋ねています。

  1. ライブgparted isoから起動します。
  2. Ubuntuパーティションを選択します。
  3. パーティションを「非アクティブ化」します。
  4. パーティションのサイズを変更します。
  5. パーティションを「アクティブ化」します。
  6. 適用します。
  7. 利益???

私の考えは正しいですか?

編集#1

それで、いくつかの拡張チャットの後、このコマンドに行きました

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

これにより、論理区画が正常に縮小されました。

Gparted New Shot

しかし、今私には難しい部分があります。

次に、Windows 8をインストールするためのスペースを持つ新しい物理パーティションを作成できるように、物理パーティションを縮小する必要があります。

だから私は走れると思った

pvresize --setphysicalvolumesize {any size here} /dev/sda5

しかし、私は戻ってきます:

/ dev / sda5:後でエクステントが割り当てられるため、xxxxxエクステントにサイズ変更できません。

私はこのイメージによるスワップによるものだと信じています:

ダーンスワップ!、それで私の次のステップは何ですか?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

編集前の追加情報#1

Gpartedスクリーンショット
上記のショットは、最新バージョンではなく、UbuntuリポジトリのGpartedバージョンから取得したものです。

matthew @ play:〜$ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 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/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 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/ubuntu-swap_1 doesn't contain a valid partition table

matthew @ play:〜$ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

matthew @ play:〜$ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

matthew @ play:〜$ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

必ず最新のGPartedバージョンを実行してください(ごく最近LVMのサポートを得ただけです-あなたはそうですので、単に他の読者へのメモです)。そして、非アクティブ化とは、ボリュームグループ(vgchange -an myvgname)を非アクティブ化することです。これは、物理ボリュームを変更する場合に必要になる可能性があります。:)ああ、それはほとんど答えです。
gertvdijk

詳細が提供されます。
ヘイルウッド

@gertvdijkクイック情報が必要な場合はチャットでPingしてください。
ヘイルウッド

これは解決されましたか?OSの別のバージョンを並行してインストールするために、物理パーティションを減らすことを探しています。
ジェームズ

回答:


17

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

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

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

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

LVMの最後に未割り当てスペースを再配置する必要があります。これは、rootおよびswap_1パーティションの後を意味します。そのため、以下のコマンドを使用してその空き領域を移動する必要があります

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

次のコマンドを使用して、外部の断片化を削除します-

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

それがどうなるか見てみましょう-

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

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


7

これで、ルートLVが小さくなりlvremove、スワップLVができたので、再作成します。これにより、位置に関してルートLVに直接追加されます。それが完了するとpvresize、物理ボリュームにアクセスできるはずです。次に、パーティションテーブル(fdisk)を編集してPVの新しいサイズにパーティションを縮小し、Windowsインストーラーが使用するスペースを解放するのが恐ろしい部分です。

パーティションのサイズを小さくするには、PVがPVのサイズを報告し、空きエクステントを埋めるためにPVおよびルートLVをサイズ変更するよりも、数MBだけ少し大きくすることをお勧めします。そうすれば、A)パーティションのすべてのサイズをLVMに使用し、アクセス不能にすることでスペースを失うことなく、B)バイナリKiB / MiB / GiBを10進数KBと誤解してPVから重要なデータを切り離さないことを確認できますfdisk操作中に/ MB / GBまたはその逆。

上記で提案したように新しいスワップを作成してルートLVに追加する場合、新しいスワップは異なるUUIDを持つため、/ etc / fstabは一致しません。サイズ変更がすべて完了したら、mount /dev/ubuntu/root /mnt/ mnt ** / etc / fstab ** を編集する必要があります。

fstabファイルで、以下のようなスワップエントリを見つけ、UUID =の後にある16進数を、によって報告された値で更新する必要がありますblkid

blkid私のシステムでの手順は次のとおりです。

  1. 走る

    blkid /dev/ubuntu/swap_1
    

    どの出力

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. UUID値をコピーします

    9e99b37a-38af-4987-85eb-92048abd9825

  3. ルートLVから/ etc / fstabを編集し、古いUUIDの代わりにUUID値を挿入します。

    見つける

    UUID=**old-uuid** none swap sw 0 0
    

    old-uuidの代わりに新しいUUIDを置き換えます

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    または、UUIDメカニズムを置き換えて/dev/ubuntu/swap_1、たとえば

    /dev/ubuntu/swap_1 none swap sw 0 0
    

この手順と問題の編集は、パーティションのサイズを変更するのに役立ちました。lvdeleteコマンド(12.04)が見つからなかったため、lvremoveを使用してスワップパーティションを削除しました。pvresizeは魅力のように機能しました。次に、gpartedライブCDを使用して、パーティションのサイズを小さく変更しました。操作が完了し、未割り当てサイズが作成されました。質問者は完全な回答を作成することをお勧めします。
ジェームズ

私は偶然にUUIDを使用していませんでした(変更しましたが、覚えていません)、systyemがスワップにUUIDを使用したことがないかもしれません。したがって、UUIDの編集手順をスキップできます。
ジェームズ

スワップlvを再作成する方法1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1、swapon -s / dev / vg0 / swap_1、次に/ etc / fstabエントリを検証UUIDを変更する必要があります。
ジェームズ

lvdelete私の答えが間違っているという言及をありがとう。適切なlvremove名前を引用するようにテキストを修正しました。
ダニエルLlewellyn

6

Software CenterからKVPMを使用します。1つの巨大なLVMのディスク全体を使用してUbuntu 14.10 LTSをインストールしました(1つの巨大なLVMのポイントはわかっています)が、別のOSとデータドライブに別の2つのLVMを追加したかったです。私はKVPMを使用しました。KDEパーティションマネージャーの説明では説明されていますが、14.04ではうまく機能します。手順は次のとおりです。

  1. 14.04LTSをダウンロードして、起動可能なUSBを作成します。
  2. TRY UBUNTUオプションを使用してUSBから起動し、USBスティックで実行します。
  3. Software CenterからKVPMをインストールします。
  4. 選択したターミナルからKVPMを実行し、

    sudo kvpm-実行したばかりの場合kvpm、ライブCDはエラーを表示してハングします。

  5. kvpmがGUIを開いたら、some_drive-vgというラベルのタブに移動します

  6. サイズを変更するボリュームを強調表示し、オプションを右クリックして、ボリュームを減らすを選択します。
  7. 新しいサイズを入力すると同時に、LVMのラベルを変更できます。
  8. プロンプトに従って変更をOKにすると、出来上がり、未割り当ての空き領域ができます。
  9. 使用可能なスペースで、必要な数の新しいLVMを作成できます。私のディスプレイには、緑色の未割り当て領域があり、緑色の領域を右クリックするだけで、オプションは「Create new logical volume」のみになります。

プロセス全体を実行するよりも、これを書くのに時間がかかりました。

ちなみに、私が変更した/ rootパーティションは、すべての変更後に完全に機能します。選択したOSのHDDを再起動して、新しく見つかったボリュームを楽しんでください。


0

KVPMを使用すると、再起動する必要がありません。

  1. Unmount partitionを右クリックします
  2. サイズを小さくする
  3. 他のパーティションを右クリックしてサイズを拡張
  4. 元のパーティションを再マウントする

完了!

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