web-dev-qa-db-ja.com

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

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

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

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

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

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

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

そのため、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エクステントにサイズ変更できません。

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

Darn Swap!、それで私の次のステップは何ですか?

$: 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 Screenshot
上記のショットは、最新バージョンではなく、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 
26
Hailwood

これらはすべて、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を最大使用領域にサイズ変更し、残りは未割り当て領域になります。楽しい...

17
UJJAL

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

パーティションのサイズを小さくするには、PVがレポートしているサイズよりも数MBだけ少し大きくして、空きエクステントを埋めるためにPVおよびルートLVをサイズ変更することをお勧めします。そうすれば、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ファイルで、以下のようなスワップエントリを見つけ、blkidによって報告された値でUUID =の後に16進数を更新する必要があります。

システム上の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
    
7

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. プロンプトに従って変更を確定し、出来上がり、未割り当ての空き領域ができます。
  9. 使用可能なスペースで、必要な数の新しいLVMを作成できます。私のディスプレイには、緑色の未割り当て領域があり、緑色の領域を右クリックするだけで、オプションは「新しい論理ボリュームの作成」になります。

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

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

6
RCF

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

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

完了!

0
Cparello