別のオペレーティングシステムを起動して他のシステムと並列に実行

別のオペレーティングシステムを起動して他のシステムと並列に実行

したがって、職場には、すべてのシステムと同じ独自のハードウェアで実行されるシステムがあります。ハードウェアの1つに障害が発生すると、実行中のシステムの1つが障害が発生したシステムに代わって起動し、両方のシステムの操作を完了します。どちらもLinuxとIntelのCPUに基づいています。

あるオペレーティングシステムに別のオペレーティングシステムを起動して一緒に実行させる方法は?単にプログラムを実行するのではなく、プログラム全体を実行します。

Windowsでは、他のOSが並列コンピューティングにCPUの1つのコアを使用するようにする方法などの話を聞きました。ところで、あるシステムが他のシステムを即座に掌握できるのかどうか疑問に思います。これは本当にクールですが、残念ながら私の同僚はこれがどのように行われるのか理解していません。

ベストアンサー1

あるオペレーティングシステムに別のオペレーティングシステムを起動して一緒に実行させる方法は?単にプログラムを実行するのではなく、プログラム全体を実行します。

あなたが描いたものは仮想デバイス。過去 15 年間、X86 プロセッサはほとんどパフォーマンスが低下せずにこれらの仮想化システムを実行するように最適化されているため、どのデータセンターでも管理するコンピュータは基本的にオペレーティングシステムを起動しますが、実際にはハードウェアではなく仮想マシンに過ぎません。 。

したがって、これは非常に成熟した技術です!

仮想化機能はLinuxカーネルの一部であり(kvmが何であるかを確認してください)、実際に実行されている仮想マシンに対してこれを行うフロントエンドがたくさんあります。哲学的な違いと、必要または不要なソリューションのサイズがあります。手動で宣言されたQemuで実行されるKVM対応VMから、libvirt/virsh/virtmmagerを使用してこれらのVMを実行するよりプログラム可能な方法、一般的なネイティブLinuxを搭載したシステムについては考えていませんが、すべての作業は常にVMで実行されます( Xenの仕組みと似ています)複数のVMを実行する以外に、何もしないサーバーでいっぱいのラックを管理します。実行時にシステム間を移動できます(通常はproxmoxやVMwareのESXIなどを見つけることができます)。

実際、すべてのものに合う単一のサイズはなく、必要に応じて異なります。

ハードウェアの1つに障害が発生した場合は、実行しているシステムの1つが置き換えられます。

これシンプルそのうちのいくつかは、すぐに利用可能な予備として複数のマシンで仮想マシンを実行することです。より難しい部分とアプリケーションの観点から、これらのマシンが実際に実行する作業によって異なります。フェイルオーバーこのようなことが起こります。

静的ファイルhttpサーバーのような場合、これはリバースプロキシのエントリを自動的に変更するか、失敗したシステムのIPアドレスをバックアップシステムに割り当てるのと同じくらい簡単です。

トランザクションがデータベース内のデータを変更できるより複雑な場合は、問題が発生した場合に備えて、アクティブサーバーによって行われたすべてのデータベースの変更を継続的に複製する必要があります。

サーバーへの冗長ストレージクラスターアクセスなどの他の操作では、実際には実際の専用ハードウェア(たとえば、2つの異なるシステムから同時にアクセスできるハードドライブコントローラー)が必要になる場合があります。これは一般的に例外です。

一般的に言えば、エラーが発生したときにそれを知るには、それを知るメカニズムが必要です。これはアプリケーション空間によって異なります。

したがって、職場で何が起こっているのかを確認してください。システムがどのように機能するかを正確に知りたい場合は、システムを設定したITスタッフに連絡してください。

おすすめ記事