web-dev-qa-db-ja.com

フルハードドライブを外部ストレージなしでLVMに変換する

最近、2TBのハードドライブの容量が足りなくなったので、それを補うために別のハードドライブを購入しました。私の古いドライブは特定のフォルダにマウントされています(システムファイルなどはありません)。技術的には、新しいフォルダーを作成してそれを新しいドライブのマウントポイントとして使用することもできますが、マウントポイントが1つだけになるように、LVMを使用して2つのドライブを組み合わせることができれば非常に便利です。

既存の2TBドライブをLVMライブに変換する方法はありますか?転送メディアとして使用する外部ストレージがなく、他に十分なバックアップメディアもないので、実際に何も削除せずに変換する方法が必要です(ドライブがいっぱいで、新しいものを作成できません)パーティションを作成し、それをバックアップとして使用します)。

4
parent5446

いいえ、データを一時的に別の場所に移動せずに、既存のフルドライブをLVMに変換することはできません。ドライブに1つ以上の新しいパーティションを作成してから、新しいファイルシステムでpvcreateを実行して、LVM物理ボリュームを作成する必要があります。次に、その上にボリュームグループを作成してアクティブ化します など

しかし、あなたは新しいドライブを購入したと言っているので、少なくとも2TBだと思いますよね?これにより、システムで両方のドライブを同時に実行できる場合の移行パスが提供されます。

まず、大きな新しいドライブを2番目の(SATAと仮定します)ドライブとして接続します。/dev/sdbとしてシステムに表示されます。 fdiskを使用して、その上に2つのパーティションを作成します。 1つは小さなブートパーティションである必要があり、ギグはおそらく十分です。残りは新しいlvmパーティションに割り当てます。 lvmツール(pvcreate、vgcreateなど)を使用して、その2番目のドライブにLVMをセットアップします。小さなブートパーティションは空のままにします。

マシンをシャットダウンし、古い2TBドライブを取り外します。新しいドライブをプライマリsataインターフェイスに移動するか、BIOSを使用してプライマリにします。インストールDVDを使用してマシンを起動します。作成した小さなブートパーティションだけに新しいLinuxシステムをインストールします。

それが機能するようになったら、元のドライブをセカンダリsataチャネルに再接続します。システムを起動し、新しいLVMベースのファイルシステムを/ newdriveとして構成します(/ dev/sdaで、覚えておいてください)。古いドライブを/olddriveのような場所にマウントします。

Rsyncのようなものをsuningして/ olddriveの内容を/ newdriveにコピーすることにより、古いハードドライブから新しいドライブにすべてのデータをコピーします。これで、すべてのデータが新しいLVMファイルシステムに移行されました。

ここで怖い部分があります。元のドライブをワイプします。間違ったデバイスをワイプすると元のデータがすべて失われるため、これについては慎重に検討してください。おそらく、一時的なバックアップとして機能するために、他の誰かから別のドライブを借りることができますか?

元のドライブが空白になったら、pvcreateを使用してLVMデバイスとしてセットアップします。次に、vgextendとlvresizeを使用して、LVMボリュームグループをその新しいデバイスに拡張できます。これは、システムの実行中に実行でき、新しいドライブのデータには影響しません。その操作が完了すると、4TBのボリュームグループができます。結果のファイルシステムでresizefsを使用して、スペース全体を埋めることができます。

この操作を台無しにする方法はたくさんありますが、実行可能であることに注意してください。どういうわけか、追加のバックアップを作成することを強くお勧めします。また、2つの別々のドライブ上で実行されている1つの巨大なボリュームグループはそれほど堅牢ではないことに注意してください。1つのドライブに障害が発生すると、大量のデータが失われる可能性があります。多くの場合、2つのミラーリングされたドライブのRAIDゼロアレイ上でlvmを実行することをお勧めします。そうすれば、2 TBのスペースしか得られませんが、1つのドライブが停止しても、すべてが完全に失敗するわけではありません。参考までに、私が LVM移行を実行した しばらく前の方法を次に示します。

もう1つのオプションは、マシンに3番目のドライブをインストールし、それを起動のためだけに使用することです。これにより、ブートデバイスに個別の通常パーティションとlvmパーティションを設定する必要がなくなるため、作業が少し簡単になります。実際、最近のLinuxディストリビューションでこれが修正された可能性がありますが、数年前、grubなどのブートローダーがlvmで機能しなかったため、常に非lvmデバイスから起動する必要がありました。

0
Phil Hollenback

自分で理解したようです。新しいハードドライブだけでボリュームグループを作成したので、データを新しいドライブにコピーしてから、古いドライブをワイプしてボリュームグループに追加するだけです。

3
parent5446

はい、できます。古い質問ですが、データを移動せずに既存のハードドライブをLVMに変換でき、誰もそれができるとは言っていないので、返信する必要がありました。新しいディスクに新しいLVMパーティションを1つ作成してから、古いファイルシステムで-Znを指定してpvcreateを実行してLVM物理ボリュームを作成する必要がありますが、vgまたはlvを作成するときに-Znを使用することを忘れないでください。そうしないと、すべてのデータが失われます。新しい2 TBハードディスクを持ってきました。ディスクの合計は2+ 2TBになります。

0
Arbind