前回の記事では、Homelabとは何か、Homelabを自分で用意する必要がある(またはしない)理由について説明しました。
さて、欲しい人や必要な人は誰でもホームラボを持つことができますか?それはいくつかのことに依存しますが、お金やリソースを回避することができます。この記事では、私がどのようにして自分のHomelabを、それに大金を投資することなく所有することができたかを説明します。実際のところ、費用は1,000米ドル未満で、家のインフラストラクチャ要件を管理するのに十分に機能します。
そうは言っても、免責事項として言及することが重要です。この記事では、物事を行うための最良の方法については説明していません。いくつかの問題やリスクがあることを知っていても、どうやってそれを機能させることができるかを説明しているだけですが、今のところ、これらと一緒に暮らすのは問題ありません。
まず第一に:ハードウェア
ホームラボをセットアップするには、基本的に継続的にのみホストするために使用できるコンピューターが必要です。古い(しかし適度に強力な)ラップトップでその仕事をすることができます。または、使用できるお金があれば、部品を購入して自分のコンピューターを構築することができます。
少し余分な現金があれば、IT会社がその時代のために乗り越えてきた再利用された小さなサーバーを購入することさえできるでしょう。これらのサーバーは、「予算内」の概念から外れる可能性はありますが、このようなプロジェクトには依然として優れた目的を果たすことができます。
RaspberryPiのようなデバイスを使用することもできます。
メインサーバーの最も重要な部分は次のとおりです。仮想化を処理できるマザーボードとCPU、特にIOパススルー容量を備えたCPUを入手してみてください。 Intelの場合は、プロセッサにVT-x容量があることを確認してください。AMDの場合は、AMD-v容量が必要です。これがないと、多くのことができなくなります。
NVIDIAやAMDグラフィックカードのような分離されたGPUに投資する予定がない場合は、少なくともGPUが統合されたCPUを入手してみてください。
次に、このためにある程度のディスクスペースが必要です。ディスクのサイズは、使用する目的によって異なります。私の場合、メディアプレーヤー、ゲーミングPC、ファイアウォール/ DNSサーバー、そしておそらく非常に小さなDVRコンソールが欲しかったので、2TBのハードディスクを購入しました。これはあなたが予算の問題を抱えている可能性がある部分です。お金が問題にならない場合は、RAIDを使用できるように、必要な数のスペースを確保し、それを2倍にする必要があります。繰り返しになりますが、私の場合は、2 TB(SSDでさえも)のハードディスクを1台使用する必要があります。
私はそこに2台の1TBUSBハードディスクを置いていました。それらは10年以上前のものでしたが、使用量は非常に少なかったです(クラウドの後、私は正直に多くのものをローカルに保存することを避けています)。これらは、処理やVMに使用するには非常に時間がかかりますが、バックアップの目的では使用できます。
次に、RAMに焦点を当てます。多いほど良いです。私の場合、8GBしか購入できませんでした。
次に、これを自分の家に統合して、残りのネットワークやデバイスと対話する場合は、少なくとも小さなルーターまたはネットワークスイッチが必要になります。場所内に小さなルーターまたはDNS小さなサーバーをセットアップする場合は、少なくとも2枚目のNICカードが必要です。仮想化されたファイアウォール/ルーティングソリューションを実行できるようにするために、セカンダリカードとして使用したUSBNICカードを持っていました。
ソフトウェア:ハイパーバイザー
仮想化が必要であり、そのためにはハイパーバイザーが必要です。ハイパーバイザーはタイプ1とタイプ2に分類されます。これについて詳しくは、記事をお読みください。
要約すると、タイプ1ハイパーバイザーを使用する場合は、より技術的である必要がありますが、より詳細に制御できるため、仮想マシンでGPUやその他のリソースを使用できます。
タイプ2ハイパーバイザーを使用すると、制御が少なくなるため処理が容易になりますが、GPUパワーをVMに渡すなどの実行はできません。ビデオを操作および編集したり、ゲームをプレイしたりするVMが必要な場合は、タイプ2ではそれを実行できません。それが目的でない場合は、タイプ2で十分です。
>以前はVirtualboxを使用していて、メインのホストマシンを自分のメディアサーバーとして使用していました。これはうまくいきました。メインマシンはビデオトランスコーディングが可能でした。しかし、実験のために別のメディアサーバーを試したいと思ったとき、うまくいかない可能性のある実験のためにメインサーバーに影響を与えなければならなかったため、苦労し始めました。
これにより、タイプ1ハイパーバイザーに移行して最初からやり直すことになりました。オープンソースが大好きなので、ハイパーバイザーとしてProxmoxに移動しました。自宅にWindowsマシンさえないため、VMWare ESXIを実装するのが難しすぎることがわかりました。そのため、ISOイメージを作り直して、正しいハードウェアドライバーを挿入してインストールすることさえできませんでした。
>Homelabは稼働していますが、今は何ですか?
私はそれを設定し、使用したいものに基づいて最初のセットを作成し始めました。メディアサーバーが欲しかったのですが、電源(内部GPUを搭載したIntel i5)に制限があり、いくつかのものをホストしたいと思っています。それで、私はそれを私のためにどのように機能させるかを決定(そして研究)しなければなりませんでした。
PlexまたはJellyfinサーバーをホストし、トランスコーディングが可能なVMが必要な場合は、GPUをこのメディアサーバーに渡す必要がありました。それでは、少なくとも同時にではなく、ゲーミングPCに使用できなくなります。 GPUを渡すことができるのは一度に1つのVMのみです。
子供や妻が映画やテレビ番組を見たいのと同時に遊びたいと思うかもしれないので、これは問題でした。だから私はそれを回避しました。
私はファイルをホストするDebianを使用して基本的なNFSサーバーをセットアップしました(その軽さのために)。私が所有するすべてのビデオファイルを処理して、ほとんどのデバイスがトランスコードする必要のないユニバーサル形式にするだけです:MP4。
これには、ファイルの上にいる必要があり、メディアサーバーにインデックスを付ける前に、常にファイルを変換する必要があります。 cronとhandbrake-cliを使用して簡単に自動化できます。 cronスクリプトを作成する必要もありませんでした。GitHubで入手できる多くのスクリプトの1つを検索しました。
ファイルがNFSサーバーに一元化されたため、VMは不要になりました。メディアサーバーを実行するためにコンテナのみを使用し、使用されるリソースの量は可能な限り最小限に抑えました。 NFSサーバーをコンテナー内のフォルダーとしてマップしました!
次に、ファイアウォールについて、pFSenseをセットアップしました。ここでも、最適なリソースを共有するために、コンテナーを使用しました。
次に、ゲーミングマシンの場合、WindowsVMをセットアップします。その理由は、Steamをセットアップし、GOG.comからゲームをプレイできるようにしたかったからです。どちらも、他のどのシステムよりもWindowsをサポートしています。したがって、このためにVMをセットアップし、GPUパススルーを使用してセットアップしました。これにより、仮想マシンがInteli5のGPUパワーを利用できるようになります。
この記事の冒頭で述べたように、私は必ずしも最適な方法や最善の方法を実行したわけではありません。予算に合わせて、そこから問題や問題を回避しました。
ハードディスクが1つしかない場合、ディスクに何かが起こった場合、私は危険にさらされます(そして、ハードディスクは人間のようなものです。ハードディスクはその特定の瞬間から生まれ、死に始めます)。バックアップしないと多くのものを失うことになります。すべてを保存するのに十分なディスク容量がないため、すべてのVMをバックアップしません。
また、ディスクが1つしかないため、読み取り速度はそれほど速くありません。 RAID構成を使用すると、ディスクの読み取りが最適になり、したがって高速になります。それに加えて、いくつかの点で多くのIO遅延があります。これは、複数のVMとコンテナが同じNFSサーバーにアクセスしているためです。重複を避けるために、自動化されたタスクまたはcronを異なる時間に設定するように注意しないと、データが破損する可能性があります。
私のGPUは、Intelの統合されたものであり、非常に基本的なものに適しているため、古いNVIDIAであっても、実際のGPUがあれば理想的です。それでも、お金が問題になるだけでなく、私は小さなmini-ITXケースを使用しているので、適合する小さなモデルを探す必要があります。
最後に、このような状況でハードウェア、特にハードディスクを使用すると、平均寿命が短くなりますが、多くの使用を計画しておらず、家庭での使用は中程度であるため、現時点ではこのアーキテクチャを維持する価値があると思います。