ドライブがあります、sda。 2つのパーティションがあります。
sda1: /boot
sda2: LVM managed in Volume Group volgrp01
volgrp01には、次の論理ボリュームが含まれています。
lv_root (30 GB)
lv_swap (8 GB)
lv_scratch (430 GB)
私がやりたいことは、lv_scratchを50 GBに減らし、新しく解放された380 GBを新しいパーティションsda3(次に、別のボリュームグループに追加する)に再割り当てすることです。
希望の前後の画像を添付しました。私はLVMについて学んでいる最中です。ボリュームグループ内の論理ボリュームのサイズを変更するアイデアは理解できますが、そのスペースを新しいパーティションにどのように再割り当てするかはわかりません。
RHEL6を使用しています。
ステップ1:バックアップを作成します。
ほとんどの人はこの手順をスキップしますが、変更すると、失敗すると重大なデータ損失が発生する可能性があり、インターネット上のランダムな見知らぬ人からガイダンスを受けています。あなたはデータの安全性に責任があります。私は違います。
ステップ2:lv_scratch
でファイルシステムを縮小します。 ext2/3/4ファイルシステムの場合は、アンマウントしてresize2fs
を使用します。それ以外の場合は、そのタイプのファイルシステムのサイズ変更に関するドキュメントを検索する必要があります。
例えば:
resize2fs /dev/volgrp01/lv_scratch 50G
これが完了すると(resize2fs
を使用していると仮定して)、ファイルシステムの新しいサイズ(バイト単位)が通知されます。次のステップの安全チェックに使用できるので、その番号を書き留めてください。
ステップ3:lvreduce
を使用して論理ボリュームを縮小します。
lvreduce --size 50G volgrp01/lv_scratch
を使用します。vgdisplay volgrp01
を使用してボリュームグループの物理エクステントサイズを確認し、ファイルシステムのバイトサイズを保持するために必要な物理エクステントの数を計算します(1MBを使用= 1048576バイト )。次に、--extents
の代わりに--size 50G
オプションを使用してその番号を指定します。または、ステップ1をスキップして、代わりにlvreduce
の-r
オプションを使用して、ファイルシステムのサイズを自動的に変更することができます。それは簡単かもしれませんが、私はそれがどれほど信頼できるかを知る個人的な経験はありません。
この時点で、fsck -f
で/dev/volgrp01/vg_scratch
を実行して、完全であることを確認することをお勧めします。 「デバイスの端を超えたアクセス」に関するエラーが発生した場合は、LVを縮小しすぎており、続行する前にlvextend
する必要があることを意味します。
ステップ4:pvresize
を使用して物理ボリュームを縮小します。
pvresize --setphysicalvolumesize 88G /dev/sda2
pvresize
は物理ボリュームを既存の論理ボリュームには小さすぎるサイズに縮小することを拒否するため、ここで追加の安全性チェックは必要ありません。ただし、他のLVのサイズが1GBの正確な倍数でない場合、88Gは小さすぎる可能性があり、別の値を使用する必要があります。
ステップ5:fdisk
を使用してsda2
パーティションを縮小します。
fdisk /dev/sda
を実行し、そのプロンプトでp
を実行して、既存のパーティションを確認します。 sda2
パーティションの開始セクター番号に注意してください。次に、sda2
パーティションを削除します。これは実際のデータには影響せず、開始と終了の場所のレコードを削除するだけです。そして、同じ開始セクターで新しいsda2
を作成します。 (これは非常に重要です)、88Gのサイズです。パーティションのタイプコードは8e
、「Linux LVM」である必要があります。
さらに慎重にしたい場合、特にpvresize
に別のサイズを指定する必要がある場合は特にお勧めします— pvdisplay /dev/sda2
を使用して物理ボリュームのPEサイズと合計PEを確認し、乗算しますそれらを一緒に使用して、物理ボリュームのサイズをバイト単位で見つけます(ここでも1MB = 1048576バイトを使用しています)。次に、新しいsda2
パーティションの開始セクター番号をその終了セクター番号から減算し、1を加えて最後のセクターをカウントし、ディスクのセクターサイズ(512または4096バイトのいずれか)を掛けます。 2つの結果が一致することを確認してください。
次に、新しいsda3
パーティションを作成し、変更を保存して、fdisk
を終了します。変更を有効にするために再起動する必要があるというメッセージが表示された場合は、再起動します。
それが機能するかどうかわからない-私はpvを増やしただけです。また、読み取り可能なバックアップがない限り、貴重なデータを試さないでください。
FS固有のツール(存在する場合)を使用して、lv_scratchのサイズ変更FS
lvresize -L 50G /dev/volgrp01/lv_scratch
pvresize --setphysicalvolumesize 88G /dev/sda2
/ dev/sda2のサイズを変更します(parted/cfdiskなどで可能かどうかわからない場合は、他のパーティションエディターが必要になる場合があります)
新しいパーティションの作成、新しいpvの作成、ボリュームグループの作成など。
FS壊れたFSになり、データが失われる可能性があります。通常はそれよりも優れています。)混乱した場合に備えて、未使用のスペースを残しておきます。