web-dev-qa-db-ja.com

事後にLinuxボックスをLVMに変換することは可能ですか?

1年前にマシンを交換してゼロからインストールしたため、私のLinuxサーバーはLVMを使用しています。 LVMは命の恩人であり、その柔軟性が気に入っています。しかし、私のLinuxラップトップは3年前に最後に完全にインストールされたため、ストレートパーティションを使用しています。

再インストールなしで、既存のシステムをLVMに変換することは可能ですか?もしそうなら、どのツールがこの仕事をすることができますか?

デュアルブートシステムでWindowsと共有するファイルシステムは、LVMにはできません。もし私が間違っているなら、知らせてください、しかし私は驚かれます。

17
Eddie

はい、できます。

はい、デュアルブートWindowsシステムで使用できますWindowsを最初のパーティションにし、それがプライマリパーティションである場合(内部拡張ではありません)論理)。ここでの説明では、デュアルブートの経験が必要なこの状況については説明しません。デュアルブートのWindows/Linuxセットアップを行っている場合は、このポイント以下のアドバイスには従わないでください。


もう少し上手くいきましょう。いくつかの例外を除いて、十分な外付けドライブを使用すれば、ラップトップ全体liveを移行できるはずです。容量。

警告!この手順は非常に危険です!これは、パーティション分割プロセスに関する深い知識があり、別の/ bootパーティションがあり、知っている失敗した試みは、起動しない脳損傷したインストールを残す可能性があります!警告されました!

あなたは必要になるでしょう:

  • / bootは別のパーティションにあります。ルートファイルシステムを組み合わせたもの(すべてが/に詰め込まれている)の場合、これは機能しません。
  • USBハードドライブから起動する機能。
  • 既存のシステムのすべてのデータとプログラムを保持するのに十分な大きさの外付けドライブ。必ず「du /」を実行し、最終的な結果を待って、必要なスペースの種類を実際に感じてください。

一般的な手順(いくつかのコマンドが不足していることを許してください、私はこれを非常に迅速に書いています):

  1. 外部ドライブを接続し、そのデバイス名を見つけます。/dev/sdbと表示されているとしましょう。
  2. 外付けドライブに2つのパーティションを作成します。この例では、これは/ dev/sdb1および/ dev/sdb2として表示されます。

    parted/dev/sdb

  3. 最初のパーティションをext2またはext3としてフォーマットし、「boot」というラベルを付けます。タイプ「Linux LVM」として外部ドライブの2番目のパーティションをフォーマットします。

  4. 使用してシステムによって認識された新しく作成されたLVMボリュームを取得する

    pvscan; vgscan

  5. ラップトップのハードドライブ全体を保持するのに十分な大きさの外部LVMボリュームを切り分けます。疑問がある場合は、利用可能なすべてのスペースを使用してください。

  6. LVMベースのボリュームをext3としてフォーマットするか、またはファイルシステムがあなたの気になるものをくすぐります。

    mke3fs/dev/ExternalUSBVolume/ExternalRoot

  7. non-specialファイルシステムマウントごとに、外部ディスク上にディレクトリを作成し、各マウント内のすべてのファイルを(属性付きで)そのディスクにコピーします。 。/procなどのマウントポイントのコピーは「特別」であるため、無視してください。

  8. 特別なマウントポイントを手動で作成して、それらが外部ドライブに存在するようにします。それらを入力しないでください。名前と権限が一致することを確認してください。
  9. (非常に慎重に)ブートローダーを使用して、ブートイメージを外部ドライブの/ bootパーティションにインストールします。このプロセスは少し複雑なので、他の場所で情報を見つけるためにそれをあなたにお任せします。 ボットすると危険です。ラップトップドライブのブートローダーを上書きしようとする可能性があります。注意してください。
  10. ラップトップを再起動します。 POSTを実行するときは、必ず外部ドライブをブートドライブとして指定してください。この時点で、ラップトップのドライブの(ほぼ)レプリカに近いものが必要です。 (そこにいる他の管理者には:はい、わかっています。ログファイルなどは100%コピーされた状態ではありませんが、ここでは強調していません...データとツールを移動することです...)
  11. 外付けドライブから起動できたら、それを使用してラップトップドライブをワイプできます。この時点で、あなたは外付けドライブから「生きている」ことになります。これを覚えておいてください。
  12. 次に、パーティションエディター(gpartedなど)を使用して、元のラップトップパーティション(バイバイデータ...)を削除し、新しく作成した領域を「LVM」としてマークします。 LVMボリュームの認識、パーティション分割、フォーマットなどのプロセスを実行します。
  13. LVMのミラーリングプロセスを使用して、ライブシステム(現在外部ドライブ上にある)をラップトップドライブにミラーリングします。これには時間がかかるので、昼休み(または2つ)を取ってください。
  14. /ファイルシステムを外部ドライブからラップトップLVMボリュームに移動して、ライブファイルシステムを再マウントします。
  15. ブートローダーのインストールプロセスを再実行します。現在のRAMディスクには適切な設定がなく、移動したことを知らないため、これは重要です。これを怠ると、システムが起動できなくなり、レスキューディスクが表示されます。他のすべてが失敗した場合、外部ドライブから再度起動できます(何も失われません...)
  16. 外部ドライブを接続せずにラップトップを再起動し、代わりにラップトップの内部ドライブを指定します。正常に起動するはずです。傷ついたり壊れたりしていると感じたり見た目があればそれを記録し(何もないはず)、修正します。
  17. よく座って、お酒を楽しみましょう。
11
Avery Payne

私は最近この変換をインプレースで行う blocks (néelvmify)と書きました。単一のパーティションを取得し、必要に応じてファイルシステムを縮小し、ファイルシステムの先頭をパーティションの末尾に移動し、代わりにLVMスーパーブロック(適切なPV/LV/VGで構成済み)をコピーします。複数のパーティションがある場合、新しく作成されたボリュームグループをマージするには、vgmergeを使用します。マウントされたファイルシステムでは機能しません。

6
Gabriel

LinuxシステムをLVMに移動する最も簡単な方法は、外部ディスク(USB、eSATA)と grml のようなCD-ROMベースのシステムを使用して、PCから外部ディスクにすべてのデータを移動することです。次に、LVMを使用してPCを再分割します。最後にすべてをコピーして戻し、GRUBを構成してMBRに再インストールします。

この手順は少し複雑ですが、システムを起動するためのデータは常に外部ドライブとCD-ROMにあります。

予想どおり、WindowsはLVMボリュームにアクセスできません。

3
David Schmitt

下から:いいえ、ウィンドウはLVM論理ボリューム(パーティション)を読み取ることができません。

一時的なストレージとして使用できるスペアディスクがある場合は、ライブCDから起動し、データを一時的な場所にコピーし、1つ以上のLVを作成してデータを戻すだけです。 LVMへのインプレース変換を行うことは非現実的です(ただし可能です)。基本的に、古いパーティションを縮小し、LVのサイズを複数回変更する必要があります(最終的なLVは断片化されます)

1
Luca Tettamanti

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ には、ライブファイルを移行する興味深い方法があります。これをRAID-1グループの一部として追加すると、OSはそれを他のデバイス(LVM論理ボリュームである可能性があります)にミラーリングします。それは少し日付が古いので、それがまだ機能するかどうかはわかりません。

1
Brian Minton

ラップトップに数年前のインストールがあります。それをLVMに変換することは、負けた提案です。データをバックアップし、再インストールして、データをコピーして戻します。新しいソフトウェアとデータを備えたクリーンなシステムができます。

データの場所がわからないためにこれを行うことができない場合は、大きな問題があり、これはそれを解決するチャンスです。

1
carlito

データを別のドライブまたはパーティション(またはiso?)にバックアップし、LVMコンテナーを作成してから、コンテナーにデータを復元する必要があります。

0
Brent