ホーム >  RaspberryPi >  ラズパイAIサーバを作る(ストレージサーバ編 ラズパイ準備)


Posted:2017/10/02 9:00:19 AM|Category : RaspberryPi

ラズパイAIサーバを作る(ストレージサーバ編 ラズパイ準備)

ファイル保存用のストレージサーバを作ります。まず、ストレージサーバに使用するラズパイの準備を行います。

ラズパイで作るストレージサービス

ラズパイ3を使って、ストレージサービスを作ります。いきなり商用レベルのサービスを作るには多くの時間とコストがかかりますので、まず以下の特徴をもつ小規模な機能を作ります。

  • 個人または小グループでの利用を想定。
  • ファイルの出し入れ機能の提供。

ファイル保存 ストレージサーバにファイルを保存する。保存先ファイルが存在する場合は上書きする。
ファイル削除 ストレージサーバに保存されているファイルを削除する。ファイル名はURLで指定する。
ファイル・データ取得 ストレージサーバに保存されているファイルの内容を取得する。ファイル名はURLで指定する。
ファイル一覧取得 ストレージサーバに保存されているファイルの一覧をファイル名のリストで保存する。
ファイル情報 ストレージサーバに保存されているファイルのサイズ・更新日時情報を取得する。ファイル名はURLで指定する。

準備

用意するものは以下の3点のみです。

  • ネットワーク・インターネット接続環境
  • RaspberryPi3
  • クライアントPC

ネットワーク・インターネット接続環境

必要なソフトウェアを入手するため、インターネット環境を用意します。また、ラズパイと通信して操作するためにネットワーク環境が必要です。

RaspberryPi3

ストレージサービスのサーバとしてRaspberryPi3ModelBを使用します。RaspberryPi2ModelBでもかまいません。

RaspberyyPi Raspberry Pi 3 Model B (Element14)
OS RASPBIAN JESSIE LITE

クライアントPC

操作開発用のクライアントPCを用意します。windowsでもmacでも可能ですが、今回はubuntuを利用します。

OS Ubuntu 16.04.1 LTS 64bit

初期設定・IPアドレス固定

ラズパイをサーバにするため、Linux(RASPBIAN JESSIE LITE)をインストールし、ネットワークを利用します。

①SDカードにRaspberryPiのOSを書き込んでください。

Ubuntuで、RaspberryPiのOSをSDカードに書き込む

②電源を接続し、ラズパイを起動します。ラズパイを直接操作できるようにディスプレイとキーボード、マウスを接続します。また、LANケーブルを接続します。

③ラズパイを操作できるようになったらログインします。初期ログインのユーザ名・パスワードは以下のとおりです。

ユーザ名 pi
パスワード raspberry

④OSをアップデートします。

sudo apt-get update
sudo apt-get upgrade

⑤ついでに自動アップデートを有効にします。

sudo apt-get install unattended-upgrades apt-listchanges
sudo dpkg-reconfigure -plow unattended-upgrades
unattended-upgrades 有効にすると、セキュリティ上重要なアップデートを自動で実施します。
apt-listchanges パッケージの変更履歴の通知ツール
dpkg-reconfigure インストール済みパッケージを再設定します。

以下のようにがunattended-upgradesの設定表示されますので、「yes」をクリックします。

⑥ipアドレスを確認します。

ifconfig

「inet addr」の部分を確認します。私の環境では、「192.168.11.5」とします。

⑦ipアドレスを固定します。

sudo nano /etc/dhcpcd.conf

以下の内容を最終行に追記します。

interface eth0
  static ip_address=192.168.11.5/24
  static routers=192.168.1.1
  static domain_name_servers=192.168.1.1
192.168.11.5 固定IPアドレス
24 ネットマスク(255.255.255.0)
192.168.1.1 ブロードバンドルーターのアドレス

⑧設定を反映させるため、以下のように実行します。

sudo service dhcpcd reload

クライアントPCからラズパイへリモートアクセス

①クライアントPC(Ubuntu)に以下の「arp-scan」パッケージをインストールします。

sudo apt update
sudo apt install arp-scan

「arp-scan」パッケージは、同一Network内で使用されている「IP/MACアドレスの」一覧を取得するコマンドです。

②同一LAN内のラズパイのipアドレスをスキャンしてみます。

sudo apt arp-scan -l

以下のように表示されます。2行目がラズパイのipアドレスです。

192.168.1.1	xx:xx:xx:xx:xx:xx	(Unknown)
192.168.11.5	xx:xx:xx:xx:xx:xx	(Unknown)

③以下のコマンドでssh接続します。

ssh pi@192.168.11.5

あれ?ポート22の接続が拒否されてしまいました。リリースノートを確認すると、11/25版で、SSHはデフォルト無効になってしまいました。ラズパイ側でSSH接続を許可する必要があります。

ssh: connect to host 192.168.1.6 port 22: Connection refused

ラズパイのSSH接続を許可する

①ラズパイから以下のコマンドで環境設定UIを起動します。

sudo raspi-config

②「5 Interfacing Options」 →「P2 SSH」と進みます。

「YES」を押します。

再度SSH接続

①以下のコマンドで再度ssh接続します。

ssh pi@192.168.11.5

以下のようなメッセージが出ますので、「yes」を入力します。

The authenticity of host '192.168.11.5 (192.168.11.5)' can't be established.
ECDSA key fingerprint is SHA256:n/xxxx.......

メッセージを訳すと、

ホスト ‘192.168.11.5 (192.168.11.5)’の真正性は確立できません。
ECDSAの鍵の指紋は、SHA256:n/xxxx……です。接続を続行してもよろしいですか(はい/いいえ)?

③piユーザのパスワードを入力してログインします。

Myサーバ配布ファイルのダウンロード・配置

ストレージサーバのテンプレートを拝借します。クライアントPCでダウンロードしてLANに接続したラズパイ3にファイルを送ります。

ラズパイにMyサーバ配布ファイルの配置ディレクトリ作成

①ラズパイ側の作業です。以下のように、ホームディレクトリ直下にMyサーバ配布ファイルを配置する場所を作成します。

mkdir ~/CQ/download

「~/」は、ホームディレクトリです。piユーザの場合は、「/home/pi」です。

クライアントにMyサーバ配布ファイルをダウンロードしてラズパイへ転送

①クライアントPCの作業です。Myサーバ配布ファイルをダウンロードします。

Myサーバ配布ファイル

②SSH接続ができましたので、以下の「scp」コマンドでファイルをラズパイのディレクトリにコピーします。

scp MyServer-0.2.tar.gz pi@192.168.11.5:~/CQ/download

ラズパイにMyサーバ配布ファイルの展開

①ラズパイ側の作業です。以下のように、Myサーバ配布ファイルを展開します。

tar zxf ^/CQ/download/MyServer-0.2.tar.gz

以下のような構成です。

  • MyServer/
  • MyStrageServer/
  • golang
  • myserver.env
  • start.sh
  • stop.sh
MyStrageServer ストレージサービス
golang Go言語配置場所
myserver.env 環境変数設定ファイル
start.sh 起動スクリプト
stop.sh 停止スクリプト

次回

次回は、準備したラズベリーパイにGo言語開発環境を作成します。

ラズパイAIサーバを作る(ストレージサーバ編 Go言語開発環境作成)


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告