web-dev-qa-db-ja.com

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

1T USBディスクにFedora20がインストールされています。以下の最初の画像では、sddと表示されます。私は約50GBしか使用しませんでした。 2番目の画像に示すように、sdd2の下には3つのロジックボリュームがあり、home論理パーティションを縮小した後、約620GBの空き領域があります。

私は考えていますその620GBの空き領域を使用して物理ボリューム/パーティションsdd3を作成します。他の論理ボリュームが破損しないことを願っていますデータは変更されません。どうやってやるの?

Clonezillaでディスクイメージを作成しました。そのため、プロセス中のデータ損失について心配する必要はありません。

これを行う目的は、1Tディスクのインストールを別の500GBUSBディスクに移動したいことです設定あり。私は多くの方法を試しました、clonezilla、dd論理パーティション、true image、gparted、.... lvmと小さい宛先のために、誰も私を助けたり、良い結果を与えたりすることはできません。新しい物理パーティションがスペースを占有した後、物理パーティションをddできることを願っています。

sdd is the 1T USB disk

green color is the free space

編集:

UbuntuのライブCDセッションを再開する必要があります。これで、ターゲットディスクはsdbになります。 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# 

EDIT2:

完了しました。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# 
2
peterboston

私があなたを正しく理解しているなら、あなたは別のパーティションsdd3を作成するためにsdd2の空き領域を使用したいと思います。これを行うには、最初に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パーティションが開始したのと同じブロックexactで開始することが重要です。パーティションサイズについては、ブロック/セクター番号をバイトに変換する必要がある場合があることに注意してください。 fdiskは、1つのセクター(通常は512)に割り当てられているバイト数を示します。また、大きさは1000ではなく1024を基準としていることにも注意してください(つまり、kBではなくKiB)。

新しい小さいsdd2を作成すると、ディスク上に新しい未割り当て領域ができ、これを使用して別のパーティションsdd3を作成できます。

ただし、sdd2の最後にある無料の600MBをLVMに使用したい場合は、を使用してpvを拡大することをお勧めします。

pvresize /dev/sdd2

その後、lvとファイルシステムのサイズを(lvresize -rを使用して)増やしれば完了です。もちろん、空きpvスペースに新しいlvを作成することもできます。

3

そのため、pvresizefdiskを使用したかったのですが、スターティングブロックを自分で計算するには臆病すぎました(サイズとエクステントの意味について推測したくありませんでした)。

一部のエクステントを手動で移動する必要がある場合を除いて、操作全体はgparted内のボリュームのサイズを変更することで実行できます(ボリュームのサイズ変更を右クリック)。

0
Att Righ