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


17

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

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

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

回答:


11

はい、これを行うことができます。

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


もう少し詳しく説明します。わずかな例外を除いて、十分な容量の外部ドライブを使用すれば、ラップトップ全体をライブで移行できるはずです。

警告!この手順は非常に危険です!パーティション分割プロセスの詳細な知識があり、別の/ 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. 特殊ではないファイルシステムマウントごとに、外部ディスクにディレクトリを作成し、各マウント内のすべてのファイルを(属性付きで)そのディスクにコピーします。/ procなどのマウントポイントのコピーは無視してください。これらは「特別」です。

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

3
もちろん、外部ストレージへのライブマイグレーションを実行することも可能です(勇気がある場合は、実行中のシステムを外部ディスクにピボットし、再起動せずに元に戻すこともできます:D); ただし、ライブCDからプロセス全体を実行する場合は、エラーが発生しにくいはずです(たとえば、仮想FSが邪魔にならないように...)
Luca Tettamanti 09年

2
ちなみに、LILOとGRUBの新しいバージョン(最終的に2.0になるバージョン)は、LVをネイティブでサポートしています-別の/ bootパーティションは必要ありません。
ルカテッタマンティ2009年

知っている。しかし、「ごめんなさいよりも安全だ」と思った。ネイティブパーティションがあると、問題の修正が少し簡単になります。おそらく、OPはLVMを理解しない(多くは理解しない)Windowsベースのツールを使用する必要があります。この場合、少なくとも彼は必要に応じてgrubなどでmenu.lstを変更できます。しかし、入力に感謝します!:)
エイブリーペイン

6

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


2
ブロックを使用して約2分で2つのext4パーティション(合計120GB)をLVMに移行しました。完璧に働きました。
アムルモスタファ14

3

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

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

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


1

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

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


1

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

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



0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.