
現在、Linux PC がマザーボードの故障により故障しています。ただし、ハードディスクはまだ動作しています。ディスクを別の Linux マシンに移植したところ、すべて読み取り可能であることがわかりました。
今、古い PC を VM として復活させたいと考えています。最初にディスクをイメージ ファイルに変換せずに、つまり既存のディスクで実行することは可能ですか? KVM と LXC のどちらがより良い選択かはまだわかりませんが、ホスト PC がかなり遅いので LXC を希望します。これは可能ですか? VM 展開に関する私の経験はかなり限られています...
ちなみに、どちらのコンピューターも Gentoo Linux を実行しています。
編集済み
今のところ、すべての回答をありがとうございます。問題を明確にするために、何らかの仮想マシンを実行するためにハードディスクが必要な主な理由は、古いコンピューターが小さな coda クラスターのメイン coda サーバーだったためです。データを「raw」の vice パーティションから (簡単に) 取り出すことはできないため、コンテナーを実行するのが最も簡単な方法かもしれません。ホスト コンピューターはハードウェア機能に関して非常に制限されているため、dd 経由でディスクをクローンするだけでは機能しません - 十分なスペースがない (!) (理由を聞かないでください :-/ - かなり奇妙な設定です)。さらに、古い PC は LVM も使用していました。ただし、さまざまなパーティションと LVM LV は、新しいホスト コンピューターに問題なくマウントできます - データはそこにあり、古いディスクを「ユーザーランド」(新しいカーネル、古いユーザーランド) として新しいホスト コンピューターを誤って起動したことさえあります - 機能したため、システムは非常に似ています。
LXC セットアップの魅力は、それほど多くのリソースを必要としないことです。欠点は、コンテナ内で CODA サーバーが適切に動作するかどうかわからないことです。そのため、完全な VM に配置する方が安全かもしれません。
答え1
VirtualBox を使用すると物理ハードドライブから起動することが可能です。マニュアル: ゲストからホストのハード ディスクを使用する。
これについて、私はドイツ語のハウツーを書きました:デュアルブート Windows 仮想化物理的な Windows を起動することが主な目的ですが、Linux でも動作します。
あなたが行うべき主なポイント:
- VirtualBox をインストールします。その後、グループのメンバーになっていることを確認してください
vboxusers
。 - 新しいハードディスクのデバイスファイルを見つける(例
/dev/sdb
) - VirtualBoxでVMを作成するそれなし仮想ハードディスク(私はこう呼んでいます
oldsys
) - ルートとして: 新しいハードディスクを指すvmdkファイルを作成する
VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/oldsys/oldsys.vmdk -rawdisk /dev/sdb
の所有者を
oldsys.vmdk
ルートからあなたのものに変更します。ディスクのrawアクセスを許可するudevルールを作成します。例:
KERNEL=="sdb", OWNER="myusername", MODE="0600"
VirtualBox で、
oldsys.vmdk
VM oldsys の仮想 SATA コントローラーに接続します。oldsys が EFI ブート システムである場合は、「system」の oldsys の VM 設定を「EFI をアクティブ化」に変更します。
「IO-APIC」も有効にする必要があるかもしれません。
udevルールを有効にするために再起動する
VirtualBox で oldsys を実行します。問題なく起動するはずです。
答え2
ディスクイメージをキャプチャするには、ddrescueそして、そのイメージ ファイルを使用して VM のストレージをバックアップします。こうすることで、仮想化計画に問題が発生した場合でも、データのオリジナル コピーが失われるリスクを回避できます。
KVM は完全な OS を起動するので、間違いなく機能します。システムの類似性によっては、LXC も機能する可能性があります。LXC の主な制限は、コンテナー内で実行するものはすべてホストのカーネルを共有することです。KVM を使用すると、ゲスト内でカーネルを実行できます。データのコピーを操作するだけであれば、状況に最適な設定が見つかるまで実験しても問題ありません。
答え3
可能ですが、そのデータを大切にしている場合は、ディスクのバックアップを作成することをお勧めします。
ホスト PC の CPU が仮想化をサポートしている限り (Intel の場合は で確認grep vmx /proc/cpuinfo
)、KVM によってゲストの速度が大幅に低下することはありません。
古いディスクが利用可能であると仮定すると、/dev/sde
次のようなコマンドを使用できます (通常のユーザーとして)。
$ qemu-system-x86_64 -enable-kvm -drive file=/dev/sde,if=virtio,format=raw \
-m 2048 \
-net user,hostfwd=tcp::10022-:22 -net nic,model=virtio
これにより、2 GiB RAM を搭載した VM が起動します。-net
オプションは、ゲスト sshd へのポート転送とゲスト ネット アクセス全般に関心がある場合にのみ必要です。
/dev/sde
実際のディスクの代わりにイメージ ファイルを使用する場合は、そのイメージ ファイルのファイル名に置き換えるだけです。
答え4
私は VBoxManage を使用してこの問題を解決しました。基本的には、新しい VirtualBox VM を作成し、raw ディスクを交換して起動しました。
最初はネットワークを正しく設定するのに問題がありました (ホスト カーネルが VirtualBox ヘルパー カーネル モジュールに対して古すぎたため)。しかし、カーネルをアップグレードした後、ブリッジ ネットワーク接続が確立され、それ以降は非常にスムーズに進みました。