Raspberry Pi は、モニター、マウス、およびキーボードを接続し、GUI を備えた Linux ベースのオペレーティング システムをインストールできるミニコンピューター ボードです。または、GUI を施用せずに「ヘッドレス」モードで施用して、データベース サーバーなどを実行することもできます。 Raspberry Pi にはがあります。マインクラフト サーバーの構築からスマート ミラーまで、将会性は無限大です。
MariaDB を発見し始め、データベース クラスター、 、およびについて学んだときから、Raspberry Pi クラスターを構築するというアイデアが頭の片隅にありました。このようなクラスターは、发散システムを試すのに最適な技术です。
この記事では、下例を利用して Raspberry Pi クラスターを構築する的办法を紹介します。
8 ノード 32コア 64 GB の RAM 2TBのストレージ 何が必要 一个人のクラスターを構築する場合は、8 つの Raspberry Pi デバイスを購入する用不着はありません。学習するにはデバイスが 1 つあれば三十分です。この記事の手順は、 ただし、 维护、 、 、 、などのスキルを本当に向下させたい場合は、クラスターを構築するために少なくとも 3 つのデバイスを深刻含义することをお勧めします。
それを念頭に置いて、8をあなたの作品に置き換えてください. RAM やストレージが異なるモデルや多いモデルがある場合は、Raspberry Pi デバイスの仕様についても同じことを行います。これが私が应用したものです:
8 x (8 GB RAM) 1 x (10 ポート) 8 x (5A、40W、23cm) 8 x (256 GB) 2 x (冷却ファン付き 4 層)
セットアップに合わせて量を調整してください。デバイスが相对に少ない場合 (たとえば 1 つまたは 2 つ)、またはマルチ USB 充電器を利用する場合は、1 つまたは複数の掌握できます。マルチ USB 充電器を利用する場合は、各ポートが少なくとも 2.4Am (5V) を供給できることを確認してください。的と予算に合わせて microSD カードを選択してください。少なくとも 32 GB の SD カードを利用することをお勧めします。
ケーブルとケース側で、セットアップに対応するものを選択してください。必ずしも冷却后水ファンが必要条件というわけではありませんが、デバイスを長時間オンにしておく場合は冷却后水ファンをお勧めします。
また、特に複数の Raspberry Pi デバイスを运行する場合は、「調理」を開始する前にすべての的材料を言外之意することをお勧めします。
Raspberry Pi OS (ヘッドレス) のインストール 食用するオペレーティング システム (OS) は、Raspberry Pi ボード用に最適化された Debian ベースの OS であるです。 Raspberry Pi OS は、コンピューターを食用して microSD カードにインストールされます。後でこれらの microSD カードを Raspberry Pi デバイスに接続して起動します。
すべての microSD カードと Raspberry Pi ボックスを机の上に置いてください。 SD カード アダプター (通常情况下は microSD カードに付属しています) または在使用中のコンピューターに SD カード用のスロットがない場合は、SD カード USB リーダーが需要です。シャーピーも持っていきましょう。
アプリケーションをダウンロードし、コンピューターにインストールします。 microSD カードをパソコンに接続します。 Raspberry Pi Imager アプリケーションを開き、 [ CHOOSE OS ] をクリックします。リストから [ Raspberry Pi OS (other) ] をクリックし、Raspberry Pi デバイスが 64 ビットの場合は [ Raspberry Pi OS Lite (64-bit) ]、それ以外の場合は [ Raspberry Pi OS Lite (32-bit)] を選択します。
[ストレージの 選択] をクリックし、microSD カードを選択します。正しいドライブを選択したことを再確認し、「歯車」アイコン (高度なオプション) をクリックします。ホスト名にはrpi01 などを使用します。デバイスにrpi01 、 rp02 、 rp03 などの名前を付けます。
[ SSH を有効に する] と [パスワード認証を使用する] オプションをオンにします。ユーザー名を設定し (デフォルトのpi のままにします)、安全なパスワードを設定します。
[ワイヤレス LAN の構成 ] オプションをオンにして、WiFi 接続の名前とパスワードを入力します。ロケール設定も構成します。
これは microSD カードごとに 1 回行う必要があるため、[画像のカスタマイズ オプション] フィールドを必ず [常に使用する ] に設定してください。このようにして設定が保存され、次のカードのプロセスが簡単になります。
これで、 SAVE をクリックしてからWRITE をクリックしてプロセスを開始できます。完了したら、カードを取り出して Raspberry Pi デバイスの 1 つに接続し、箱に戻して、箱に番号01 の印を付けます。すべてのデバイスに対してこのプロセスを繰り返します。
クラスターの組み立て クラスター ケースの種類によって、組み立て手順が異なる場合があります。ケースに付属の説明書に従うか、オンラインで写真图片を探して、デバイスをレイヤーに配制する做法を明確に了解してください。
どの结构件を真正に組み立てるかは、先を見越して決めることをお勧めします。たとえば、私が選んだケースでは、レイヤーに Raspberry Pi デバイスをマウントする前に、放凉ファンを取り付ける有必要がありました。
Raspberry Pi をマウントしたら、Sharpie を运用してその番号介绍をレイヤーに書き込みます。これは、过去、再構成やハードウェアに触れるその他の管理制度タスクのために microSD カードを取り出す一定がある場合に役立ちます。
すべてのデバイスをマウントしたら、USB ケーブルを Raspberry Pi デバイスとマルチ USB 充電器に接続します。有需要に応じて、有需要に応じて USB 充電器の代わりにとを使用的することもできますが、それについてはお任せします。それは間違いなくチェックする価値があります。
Raspberry Pi ラックの横に充電器 (または有需要に応じてネットワーク スイッチ) を配备することも、ラックに取り付けることもできます。充電器をケースの側面に加固するために輪ゴムを施用しました。うまくいきました。
USB ケーブルを差し込むと、これらすべてのミニコンピューターを起動する準備が整います。充電器を接続し、電源を入れます。的使用する Raspberry Pi モデルによっては、起動に時間がかかる場合があるため、しばらくお待ちください。その間、LED の点滅とファンの始動をお楽しみください。
SSH 経由の接続 すべてがうまくいけば、SSH 経由で Raspberry Pi デバイスにアクセスできるはずです。コンピューターから次のコマンドを実行して、試してみてください。
ssh [email protected]
パスワードを入力し、 「はい」 と答えて、既知のホストのリストにデバイスを追加します。おめでとう!クラスターが稼働中です。
コマンドを実行して、ハードウェア情報を確認することができます。例えば:
lscpu
: CPU アーキテクチャに関する情報 df -H
: ファイル システムのディスク容量の使用状況sudo fdisk -l
: パーティション情報free -m
: RAM の使用量、空き容量、合計量cat /proc/version
: Linux カーネル情報raspi-config による手動設定 Raspberry Pi が 1 台ある場合は、上記のように SSH 経由で接続し、 raspi-config
ユーティリティ プログラムを使用してさまざまな設定を行うことができます。 WiFi 接続の変更 ( S1 )、ホスト名の変更 ( S4 ) とユーザー パスワードの変更 ( S3 )、ファイル システムの拡張 ( A1 ) など、さまざまなことができます。
Ansible による自動設定 クラスターに複数の Raspberry Pi がある場合は、 などのツールを应用して構成プロセスを自動化することをお勧めします。 Ansible を应用すると、反復的なタスクを実行することなく、複数のマシンでコマンドを実行できます。たとえば、各 Raspberry Pi でファイルシステムを拡張するとします。これは、次のようにコマンド ラインから実行できます。
sudo raspi-config --expand-rootfs
自動化がなければ、 rpi01.local に SSH で接続し、上記のコマンドを実行して、SSH セッションを終了する必要があります。 rpi02.local 、 pr03.local 、 rp04.local などに対して、これらすべての手順を繰り返す必要があります。代わりに、すべてのマシンでコマンドを実行するように Ansible に指示するだけです。これを行う方法を見てみましょう。
ローカル ネットワークに接続されているコントロール ノード に Ansible をインストールする必要があります。 Linux や macOS などの Unix ベースのオペレーティング システムを実行している限り、Raspberry Pi デバイスの 1 つ、作業中のラップトップ、またはその他のマシンを使用できます。
ネットワークに接続さた古いラップトップをたまたま持っていたので、それを制御ノードとして施用しました (今後の記事で、レプリケーションを施用して Raspberry Pi デバイスにデータベースをインストールする办法を紹介します)。
オペレーティング システムによってプロセスが異なるため、Ansible のインストール手順については説明しません。を確認し、ラップトップまたはコントロール ノードとして割り当てたいデバイスにインストールします。
開始する前に、後で一定に応じて微調整できるサンプル構成ファイルを制成することをお勧めします。
sudo su ansible-config init --disabled -t all > /etc/ansible/ansible.cfg exit
このファイルでは、プロセスを簡素化するためにホスト キー チェックを無効にします。本番環境でそれをしないでください!次の行を変更します。
;host_key_checking=True
これに:
host_key_checking=False
次に、インベントリを定義する必要があります。これは、Ansible で制御するマシンのリストです。インベントリーは/etc/ansible/hosts ファイルで定義されています。たとえば、IP アドレスまたはホスト名を使用して、次のマシンをインベントリに追加できます。
[mymachines] foo.example.com bar.example.com 192.0.2.50 192.0.2.51
マシンの IP アドレスまたはホスト名に何らかのパターンがある場合は、代わりに範囲を使用できます。これは、Raspberry Pi デバイスでできることです。 /etc/ansible/hosts ファイルを編集して、末尾に以下を追加します。
[rpis] rpi[01-08].local
ホスト名とav番号に相符するようにパターンを変更します。これは次と相近的です。
[rpis] rpi01.local rpi02.local rpi03.local rpi04.local rpi05.local rpi06.local rpi07.local rpi08.local
このインベントリでは、 rpis
は、Ansible を使用してコマンドを実行するときにすべての Raspberry Pi デバイスを参照するために使用できる任意の名前です。
マシンへの接続時に Ansible が使用する SSH ユーザー名を設定する必要があります。以下を/etc/ansible/hosts ファイルに追加します。
[rpis:vars] ansible_user=pi
マシンを制御する時間。まず最初にping を実行します。
ansible rpis -m ping --ask-pass
SSH パスワードを入力します。各マシンの「ping」が「pong」によってどのように応答されるかを效率で確認する必须があります (ここでは 1 つだけを示しています)。
rpi01.local | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" }
ファイルシステムの拡張に戻りましょう (ただし、这段时间ではこれはもう一定要ないと思いますが、これを確認できる場合はコメントでお知らせください)。すべてのマシンでこのアクションを実行するには、次を実行します。
ansible rpis -m shell -a "raspi-config --expand-rootfs" --become --ask-pass
それと同じくらい簡単に、すべての Raspberry Pi デバイスに拡張ファイルシステムがあります。これは、すべてのマシンでシステムを升级更新する良い機会です。
ansible rpis -m shell -a "apt update -y" --become --ask-pass ansible rpis -m shell -a "apt upgrade -y" --become --ask-pass
次のように、すべてのデバイスを骤起動できます。
ansible rpis -m shell -a "reboot" --become --ask-pass
作業が结束后し、すべてのマシンの電源を可靠にオフにしたい場合は、次を実行します。
ansible rpis -m shell -a "poweroff" --become --ask-pass
次は何ですか? これは序章に過ぎない。これで、Ansible で制御できる小さなコンピューターのクラスターができました。 Web サーバーやデータベースなど、あらゆる種類のサーバー ソフトウェアのセットアップを試すことができます ()。 Ansible については他にもたくさんあります。
ここでは、を运行して表面上をなぞっただけですが、たとえば、クラスターをどのような状態にしたいかを含むを制作できます。を調べて、楽しんでください!
も掲載