paint-brush
32 コアの Raspberry Pi クラスターをゼロから構築する手段 に@alejandroduarte
27,896 測定値
27,896 測定値

32 コアの Raspberry Pi クラスターをゼロから構築する方法

Alejandro Duarte9m2022/07/18
Read on Terminal Reader
Read this story w/o Javascript

長すぎる; 読むには

Raspberry Pi は、モニター、マウス、およびキーボードを接続し、GUI を備えた Linux ベースのオペレーティング システムをインストールできるミニコンピューター ボードです。 GUI を使用せずに「ヘッドレス」モードで使用して、データベース サーバーなどを実行できます。このようなクラスターは、分散システムを試すのに最適な方法です。この記事では、32 コアの 8 ノード、64 GB の RAM、2 TB のストレージを備えた Raspberry Pi クラスターを構築する方法を紹介します。

Company Mentioned

Mention Thumbnail
featured image - 32 コアの Raspberry Pi クラスターをゼロから構築する方法
Alejandro Duarte HackerNoon profile picture
Raspberry Pi は、モニター、マウス、およびキーボードを接続し、GUI を備えた Linux ベースのオペレーティング システムをインストールできるミニコンピューター ボードです。または、GUI を施用せずに「ヘッドレス」モードで施用して、データベース サーバーなどを実行することもできます。 Raspberry Pi にはがあります。マインクラフト サーバーの構築からスマート ミラーまで、将会性は無限大です。


ミニコンボード


MariaDB を発見し始め、データベース クラスター、 、およびについて学んだときから、Raspberry Pi クラスターを構築するというアイデアが頭の片隅にありました。このようなクラスターは、发散システムを試すのに最適な技术です。


この記事では、下例を利用して Raspberry Pi クラスターを構築する的办法を紹介します。


  • 8 ノード
  • 32コア
  • 64 GB の RAM
  • 2TBのストレージ

何が必要

一个人のクラスターを構築する場合は、8 つの Raspberry Pi デバイスを購入する用不着はありません。学習するにはデバイスが 1 つあれば三十分です。この記事の手順は、 ただし、 维护、 、 、 、などのスキルを本当に向下させたい場合は、クラスターを構築するために少なくとも 3 つのデバイスを深刻含义することをお勧めします。


8 x Raspberry Pi 4 Model B (8 GB RAM)


それを念頭に置いて、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などを使用します。デバイスにrpi01rp02rp03などの名前を付けます。


[ SSH を有効にする] と [パスワード認証を使用する]オプションをオンにします。ユーザー名を設定し (デフォルトのpiのままにします)、安全なパスワードを設定します。


[ワイヤレス LAN の構成] オプションをオンにして、WiFi 接続の名前とパスワードを入力します。ロケール設定も構成します。


これは microSD カードごとに 1 回行う必要があるため、[画像のカスタマイズオプション] フィールドを必ず [常に使用する] に設定してください。このようにして設定が保存され、次のカードのプロセスが簡単になります。


Raspberry Pi イメージャーの高度なオプション


これで、 SAVEをクリックしてからWRITEをクリックしてプロセスを開始できます。完了したら、カードを取り出して Raspberry Pi デバイスの 1 つに接続し、箱に戻して、箱に番号01の印を付けます。すべてのデバイスに対してこのプロセスを繰り返します。

クラスターの組み立て

クラスター ケースの種類によって、組み立て手順が異なる場合があります。ケースに付属の説明書に従うか、オンラインで写真图片を探して、デバイスをレイヤーに配制する做法を明確に了解してください。


クラスターの組み立て


どの结构件を真正に組み立てるかは、先を見越して決めることをお勧めします。たとえば、私が選んだケースでは、レイヤーに Raspberry Pi デバイスをマウントする前に、放凉ファンを取り付ける有必要がありました。


Raspberry Pi をマウントしたら、Sharpie を运用してその番号介绍をレイヤーに書き込みます。これは、过去、再構成やハードウェアに触れるその他の管理制度タスクのために microSD カードを取り出す一定がある場合に役立ちます。


搭載されているすべてのデバイス


すべてのデバイスをマウントしたら、USB ケーブルを Raspberry Pi デバイスとマルチ USB 充電器に接続します。有需要に応じて、有需要に応じて USB 充電器の代わりにとを使用的することもできますが、それについてはお任せします。それは間違いなくチェックする価値があります。


Raspberry Pi ラックの横に充電器 (または有需要に応じてネットワーク スイッチ) を配备することも、ラックに取り付けることもできます。充電器をケースの側面に加固するために輪ゴムを施用しました。うまくいきました。


USB ケーブルを差し込むと、これらすべてのミニコンピューターを起動する準備が整います。充電器を接続し、電源を入れます。的使用する Raspberry Pi モデルによっては、起動に時間がかかる場合があるため、しばらくお待ちください。その間、LED の点滅とファンの始動をお楽しみください。


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 ) など、さまざまなことができます。


raspi-config による手動設定

Ansible による自動設定

クラスターに複数の Raspberry Pi がある場合は、 などのツールを应用して構成プロセスを自動化することをお勧めします。 Ansible を应用すると、反復的なタスクを実行することなく、複数のマシンでコマンドを実行できます。たとえば、各 Raspberry Pi でファイルシステムを拡張するとします。これは、次のようにコマンド ラインから実行できます。


 sudo raspi-config --expand-rootfs


自動化がなければ、 rpi01.localに SSH で接続し、上記のコマンドを実行して、SSH セッションを終了する必要があります。 rpi02.localpr03.localrp04.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 については他にもたくさんあります。


ここでは、を运行して表面上をなぞっただけですが、たとえば、クラスターをどのような状態にしたいかを含むを制作できます。を調べて、楽しんでください!


も掲載

바카라사이트 바카라사이트 온라인바카라