データを失うことなく、既存の未使用のlvmスペースを使用して別の物理ボリューム/パーティションを作成するには?

データを失うことなく、既存の未使用のlvmスペースを使用して別の物理ボリューム/パーティションを作成するには?

1TUSBFedora 20がインストールされているディスク。それは次のように表示されますSD下の最初の写真から。私は50GB程度しか使いませんでした。 sdd2の下には3つの論理ボリュームがあり、縮小後もまだ約620 GBの空き容量があります。2番目の図に示すように、論理区画。

私は考えています620GBの空き容量を持つ物理ボリューム/パーティションsdd3の作成。他の論理ボリュームが破損しないことを願っています。データは変更されません。。どうすればいいですか?

clonezillaを使ってディスクイメージを作成しました。だから、プロセス中のデータの損失を心配しません。

これの目的は、インストールを1Tディスクに移動したいということです。設定あり別の500GB USBディスクに転送されました。いろいろな方法を試しましたが、clonezilla、DD論理パーティション、実際のイメージ、gpartedなど... lvmとより小さいターゲットのため、誰も私を助けたり、私に良い結果を与えることはできません。新しい物理パーティションがある程度のスペースを占有した後に物理パーティションを追加できることを願っています。

sdd は 1T U ディスクです。

緑は空きスペース

編集する:

Ubuntu Live CDセッションを再開する必要があります。今、ターゲットディスクは深セン開発銀行。 sdb2のサイズを変更しようとすると、次のエラーが発生します。

ubuntu@ubuntu:~$ sudo su
root@ubuntu:/home/ubuntu# pvdisplay /dev/sdb2
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               fedora_lym
  PV Size               930.99 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238333
  Free PE               160569
  Allocated PE          77764
  PV UUID               Ytsy31-op7u-DqLM-lJG7-uIFb-2hAG-eZhn0a

root@ubuntu:/home/ubuntu# pvresize --setphysicalvolumesize 320G /dev/sdb2
  /dev/sdb2: cannot resize to 81919 extents as later ones are allocated.
  0 physical volume(s) resized / 1 physical volume(s) not resized
root@ubuntu:/home/ubuntu# 

編集2:

完了すると、sdb3 はここにあります。

root@ubuntu:/home/ubuntu# lsblk
NAME                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                     8:0    0 223.6G  0 disk 
├─sda1                  8:1    0   100M  0 part 
└─sda2                  8:2    0 223.5G  0 part 
sdb                     8:16   0 931.5G  0 disk 
├─sdb1                  8:17   0   500M  0 part 
├─sdb2                  8:18   0 312.5G  0 part 
│ ├─fedora_lym-swap 252:0    0   3.8G  0 lvm  
│ ├─fedora_lym-home 252:1    0   250G  0 lvm  
│ └─fedora_lym-root 252:2    0    50G  0 lvm  
└─sdb3                  8:19   0 618.5G  0 part 
sr0                    11:0    1   4.4G  0 rom  /cdrom
loop0                   7:0    0   1.1G  1 loop /rofs
root@ubuntu:/home/ubuntu# 

ベストアンサー1

私が正しく理解した場合は、sdd2の空き領域を使用して別のパーティションsdd3を作成したいと思います。これを行うには、まずResize the Physical Volume(まだ実行していない場合)を使用する必要がありますpvresize

まず、物理ボリュームがどれだけ大きいかを見てくださいpvdisplay /dev/sdd2。すでに正しいサイズがある場合は、次の手順に進みます。それ以外の場合は、まずサイズを変更する必要があります。

pvresize --setphysicalvolumesize 123G /dev/sdd2

123Gの代わりに適切な新しいサイズを使用してください。これに注意してください。

一部のエクステント割り当てエラーが原因で失敗した場合は、pvresize次の2つの理由が考えられます。 1)pvサイズを小さすぎるように設定しようとしました。 2) 一部のエクステントがディスクの先頭ではなくエンドに割り当てられています。

後者の場合は、まずこの範囲を最初に移動する必要があります。連続セグメント割り当てのリストを表示するには、次の手順を実行します。

pvs -v --segments

PVがスペースを使用できるようになると、最初のセグメントから最後のセグメントまですべての項目が割り当てられるわけではありません。フラグメントブロックpvresizeを最初に移動します。

pvmove --alloc anywhere SOURCE_SEGMENTS

(SOURCE_SEGMENTS は移動するセグメントです。)

詳細な説明については、こちらの回答をご覧ください。https://unix.stackexchange.com/a/67707/154982

次のステップはパーティションのサイズを小さくすることです。物理ボリュームの新しい合計サイズを確認してください。次に、fdisk(またはグラフィックツールまたは目的のパーティションプログラム)を使用してパーティションsdd2の開始ブロックを記録して削除し、物理ボリュームと同じサイズの新しいパーティションを作成します。重要なのは、この新しいパーティションです。精密以前のsdd2パーティションが起動されたのと同じブロックです!パーティションサイズの場合、ブロック/セクタ番号をバイトに変換する必要があるかもしれません。 fdiskはセクタ(通常512)に割り当てられたバイト数を示します。また、振幅は1000ではなく1024(つまり、kBではなくKiB)であることを覚えておいてください。

より小さな新しいsdd2を作成した後、ディスクに別のパーティションsdd3を作成するために使用できる未割り当ての新しいスペースがあります。

ただし、LVMにsdd2の終わりに無料の600 MBしか使用しない場合は、次のようにPVを拡大できます。

pvresize /dev/sdd2

その後、lvとファイルシステムのサイズを大きくすると(使用してlvresize -r)操作が完了します。もちろん、空きPV空間に新しいLVを作成することもできます。

おすすめ記事