完全なホームサーバーの構築-基本

出版:オリバー-オン06.09.202106.09.2021

あなた自身の家サーバーの重要なソフトウェアそしてデータを自己催すことに多くの利点があるが、始めるべき困難な仕事である場合もある。 私は数年前から自分のサーバーを実行しており、ここでハードウェアとソフトウェアの選択肢について説明します。 これは、独自の小さなサーバーを設定する方法についての完全なガイドになります。

なぜあなた自身のサーバーを構築する必要がありますか?

場合によっては、そうしないでください。 いくつかの非常に高価な、専門的なまたはハード(電子メールのような)サービスを設定するには、実際には外部プロバイダの方が良いかもしれません。 あなただけの非常にまれにあなたのサービスを使用するか、これをホストするために必要な知識のいくつかに飛び込むことを喜んでいない場合は、また、あなたのための適切な場所ではないかもしれません。

怖がってはいけませんが、あなた自身でソフトウェアをホストすることは、今日のように単純ではなく、多くの利点があります。 たぶん、最も重要なのは、それはあなたがもう少し独立になります。 技術の巨人は、あなたのデータを取得するような簡単な時間を持っていないし、クラウド内またはあなたのインターネットプロバイダといくつかの問題は、(ローカル)あなたのデータやサービスにアクセスすることからあなたを停止しません。

サービスがあなたの人生のますます重要な部分を制御している時(スマートホームシステムのように)、この制御と独立性は非常に貴重なものになります。 長期的には、長期的にはより費用対効果の高いものになることさえあります。 確かにハードウェアを購入することは投資ですが、クラウド内のデータのテラバイトをホストすることはあまりにも多くの費用がかかります–永遠に。

最後に、それはあなたが技術について多くのことを学ぶのに役立ち、あなたは常に新しいソフトウェアを試して自由である非常に楽しいプロジェ そこにはオープンソース&フリーソフトウェアがたくさんあります!

あなたのサーバーで何をしたいですか?

何かを構築する前に、自分自身に尋ねることが重要です:このサーバーで何を計画していますか? あなただけの多くのデータなしでローカルに小さなサービスのカップルをホストするために探している場合、結果は完全なストレージサーバーとは非常に異

ローカルサービスが必要な場合は、ほとんどの場合、新しいRaspberry Piを入手し、おそらくデータ用の外部SSDを入手することをお勧めします。 それらは安く、エネルギー効率が良くセットアップし易いです。 この記事では、Raspberry Pi4に基づいた小さなスマートホームサーバーとハブについて詳しく説明しました。 小さなデータストレージ用のSSDを追加することも非常に簡単です。

より強力なソリューションを探している場合や、大量のデータを保存する必要がある場合は、別のプラットフォームを使用することをお勧めします。 一部の人々は、NASまたは古いサーバーハードウェア(非常にうまく動作することができます)を使用しますが、私はいくつかの特別な特性に焦点を当てた通常の

  • 良好なネットワーク接続(1gbit/sまたは多分10)を持っていることを確認してください
  • エネルギー効率の高いコンポーネントを使用し、サーバーを配置したい場所に応じて、無音のもの
  • アイドル時にエネルギーを無駄にしないように十分に強力なCPUを取得
  • 通常、グラフィックスカードは必要ありません
  • 十分なRAMを取得しますこれは、サーバーにとって非常に重要です
  • ストレージ用に十分なhdd&SSDを保持でき、優れた冷却性を持つメインボードとケースを取得します
  • 高品質の 私はWD redシリーズをたくさん使用しています(SMRバージョンには注意してください)、Seagate Ironwolfシリーズについても良いことを聞いたことがあります
  • コンポーネ あなたはこれがビルドされたいと思うでしょう&忘れて
  • 高品質の電源アダプタを手に入れてください!
  • 私は個人的にハードウェアRAIDコントローラを避けるだろう

あなたはホームサーバーを構築するために探している場合は、ブログをサポートするために、これらの また、これについての国際的な記事の多くを見つけることができます。 サーバーのいくつかのバージョンを構築した後の私の個人的な学習は、常にあなたが今、そして非常に近い将来に必要なものを計画することです。 あなたが10年に必要とするかもしれない何かのために造ってはいけない。 それまでに利用可能なより良いハードウェアがあるでしょう。 これに対する唯一の例外は、ストレージである可能性があります。 それはあなたが後でより多くのストレージを追加することができますので、左のSATAポートのカップルを持っていることは常に良いアイデアです。

ソフトウェアスタック

サーバー用に作られた多くのソフトウェアがあり、すべての選択はあなたの好みとユースケースに依存します。 以下は、私の自由な時間にこの問題に取り組んで数年後の私の個人的な意見です。

まず、サーバーで使用しないものから始めましょう:Windows。 アップグレードは難しく、多くのソフトウェアが適切にサポートされておらず、高価です。 代わりに、Unix/Linuxソリューションを使用してください。 FreeNAS、OpenMediaVault、Unraidのような完全な解決策がありますが、Unraidはお金がかかり、他の解決策もあなたができることを制限しています。 彼らはあなたのために良い選択かもしれませんが、私はDIYのルートを行くと実績のある技術に基づいて、独自のソリューションを構築することを決私のホームサーバーは、管理のためのSSHアクセスを備えた最小限のUbuntuサーバー OS(LTSバージョン)で実行されています。 Zfsファイルシステムを使用して、キャッシュ、スナップショット、RAID、単純なバックアップなどの機能を提供しながら、ドライブを一つのビッグデータプー このプールでは、さまざまな用途のためにいくつかのファイルシステムを作成し、そのうちのいくつかは他のクライアントが使用できるようにネッ サーバー上でDockerデーモンを実行し、OpenHab、Grafana、Bitwarden/Vaultwarden、Nextcloudなどの一連のサービスをホストするためにいくつかのdocker-composeファイルを使用します。 リバースプロキシ(現時点ではTraefik)は、web上のどこからでも選択したサービスに到達することが可能になります。

zfsとスナップショットとsamba sharesDockerとソフトウェアのためのTraefikとストレージプールファイルシステムに基づいて私のホームサーバー stackhardware

外部バックアップは、USB経由で接続され、定期的に回転した追加のドライブを介して行われます。 いくつかのスクリプトと稼働時間モニターは、すべてがまだ正常に実行されているかどうかを定期的にチェックし、それ以外の場合はアラー インストールはほとんど自動化されており、新しいハードウェアで迅速に再実行できます(データがまだ利用可能な場合)。

サーバー自動インストールの設定方法

実際にサーバーを設定する前に、このプロセスを自動化することにしました。 これにより、より簡単に、より速く、より少ないエラーが発生しやすくなり、一種のドキュメントとしても機能します。 確実に迅速かつ容易にセットアップすることができる基礎プラットホームを持っていることは大きい利点である。 このようにして、他のすべてのデータと実際のサービスは、このシステムを独立して構成することができます。 私がすべて何か他のものに切り替えたいのであれば、それは比較的簡単でなければなりません。

自動化のために私はAnsibleを選択しました。 Ansibleは、いわゆるplaybookを書くことを可能にするソフトウェアです:サーバーをセットアップするために何をすべきかを定義する短いスクリプト。 これらのplaybookは、簡単なコマンドで呼び出すことができ、セットアッププロセスに必要なすべての手動手順を自動化します。 私はサーバーをセットアップしている間にAnsibleを自分で学んだので、playbookの方が良いと確信していますが、このシリーズの次の部分でGitHubを介してそれらとサーバー

私は実際のインストールの前にVMでこれらのスクリプトを数回実行し、すべてが意図したとおりに動作することを確認しました。 それ以来、私はしかし、新しい機能のカップルを追加し、既存のものの部分を再加工しました。 サーバーへの実際のインストールは非常に簡単でした。

まず、お気に入りのLinux OSをインストールする必要があります。 Ubuntu Server LTSを選択し、USBスティックを介してインストールしました。 システムは、より高速な起動時間のためにSSDにインストールされています。 インストール後、ネットワークのみを構成し(静的IPをお勧めします)、SSHを有効にし、サーバーを最終的な物理的な位置に移動しました。 今からは画面/キーボード/マウスは必要ありません、それは(何かがうまくいかない限り)ネットワークを介して管理することができます。必要なスクリプトをダウンロードし、Ansibleをインストールしてplaybookを実行します。

sudo apt install git ansiblegit clone https://github.com/OliverHi/zfs-homeserver.gitcd zfs-homeserver/ansibleansible-playbook setup_playbook.yml -K

これはsetup_playbookと呼ばれるプレイブックを実行します。サーバーをセットアップするyml。 もちろん、ここで任意のAnsible playbookを使用できますが、私のものは非常にシンプルで、このように見えます。基本的には、ローカルサーバー上で動作し、rootとして実行され、別のmain_varsで定義した変数を使用しています。ファイル:example.yml それは私が私のセットアップのために必要なパッケージのカップルをインストールすることから始めて、私はソフトウェアスタックのさまざまな部分 ZFSファイルシステムのセットアップ、ユーザーとフォルダーの作成、Dockerのセットアップなどが行われます。 あなたは常にあなたの好みに合わせてそれらをカスタマイズすることができます。

このシリーズの以下の記事では、ファイルシステム、ユーザー、samba共有、Docker、Traefikリバースプロキシの設定方法を説明します。 各パートでは、必要なAnsibleファイルを追加して自動的にインストールします。 すべてのコードは私のGitHubアカウントで利用可能になります。

ZFSとバックアップシステムの設定に関する次の投稿はここにあります。

コメントを残す

メールアドレスが公開されることはありません。