18
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VoicyAdvent Calendar 2020

Day 11

RaspberryPI4をサーバーにして遊び倒す。その1

Last updated at Posted at 2020-12-12

この記事は Voicy Advent Calendar 2020 の 11日目の記事です。
前日は @yamagenii さんの 一瞬で作るストリームデータ収集基盤でした。明日は, @y_katsumura さんの 採用から組織開発は始まっている 〜エントリーマネジメントの重要性〜 です。
#はじめに
とりあえず買ったはいいがどうやって使うか迷いがちなRaspberry。

Raspberry Pi4は1GbEをフルスピードで扱えたり、USB3.0に対応するなどIO周りが強化されていて省電力なファイルサーバーとして使えそうな構成になっています。最近のアップデートは、64bitOSでUSBBootにも対応しているので、SSBから起動することによって、SDカードの書き込み最大回数をきにすることなく、またSSD化でディスクアクセス速度の向上もできるので、大分実用的に運用できるようになってきてるように思います。

ということで、なにを作ればよいかわからない人は、とりあえずサーバーにしてあそんでみるのはどうでしょうか。実用的だし、学習にもぴったりです。

この記事では、RaspberryPi4をNAS、クラウドストレージ、ストリーミングサーバーとして活用するところまで書いていきます。
書いているうちに長くなってきたので、2つに分けます。

#必要なもの

  • Raspberry Pi4
  • Boot用のSSD (容量お好みで。うちは32GB使っています)
  • USB接続のSSDケースか、SATA-USB 変換ケーブル
  • データ用のHDD/SSD
  • USB3.0対応のHDD/SSDのケース

Raspberry Piのセットアップ

軽量化の為にデスクトップ機能は省きます。
Raspberry Pi OS Lite 64bit版をダウンロードして、EtcherでSSDにコピーしましょう。

WiFi設定とsshの有効化

コピーしたSSDのbootにWiFi設定とSSHの有効化をします。
有線でつないでいる場合には、WiFi設定は飛ばしてかまいません。

SSHの設定は、bootにsshのファイルを作成するだけで有効になります

$touch boot/ssh

WiFi設定は/bootにwpa_supplicant.confファイルを作成します。

$vi boot/wpa_supplicant.confg
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="<アクセスポイントのSSID>"
    psk="<パスワード>"
}

起動して初期設定とアップデート

起動の際に、SDカードがない場合は、USBを読みにいくので、SSDをUSBにつなげて起動して、必要な初期設定を実行します。
ここでアップデートもして、一度再起動します。

sudo apt update
sudo apt dist-upgrade
sudo reboot

Openmediavalut5をインストール

piユーザーで行ってください。
インストールに時間がかかるのでインストールされるまで待ちます。
ドキュメントによると30分かかることもあるらしいですが、そんなにはかからなかった気がします。

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

インストールが終わったら、もう一度再起動します。

sudo reboot

再起動から復帰したあと、今までのインストール作業がうまくいっていれば、ブラウザからのアクセスでログインできます。
IPアドレスが判明してる場合にはそのIPアドレスから、そうでなければ「ホスト名.local」からアクセスできるはずです。
デフォルトのホスト名だと下記になります。

http://raspberrypi.local

ブラウザからアクセスしたらログイン画面がでるので、初期ユーザー名と初期パスワードでログインします。

  • 初期ユーザー名:admin
  • 初期パスワード:openmediavault

スクリーンショット 2020-12-12 105147.png

こんな画面がでたら成功です

スクリーンショット 2020-12-12 105553.png

#NASの設定
左側のペインの項目から設定していきますが、ペインの項目すべてを設定しなくても、NASとして動作させられます。
最低限として以下の項目を設定します。

  • 基本設定としてシステムのすべて
  • ストレージのディスク、SMART、ファイルシステム
  • アクセス権の管理のユーザー、共有フォルダ
  • サービスのSMB/CIFS
    順々に設定していきます。

##システム

###一般設定
システム→一般設定→Web管理者パスワード
からログインしたadminのパスワードを変更します。新しいパスワードを入れて保存、適用します。
スクリーンショット 2020-12-12 115449.png

###日付と時刻
タイムゾーンのプルダウンから、自分の環境に合わせて選択します。
スクリーンショット 2020-12-12 110614.png

###ネットワーク
ネットワークでは一般とインターフェースのタブから設定を変更します。

一般では、ホスト名とドメイン名を任意のものに変更します。
スクリーンショット 2020-12-12 110152.png

インターフェースでは、自分のネットワーク環境に合わせてネットワーク接続の設定をしていきます。
スクリーンショット 2020-12-12 110711.png

###モニタリング
システム→モニタリングから設定します。
モニタリングは有効(緑色)にするだけです。
SMARTの設定を有効にするのに必要です。

スクリーンショット 2020-12-12 115913.png

##ストレージ
###ディスク
外付けのHDDなどを制御します。
「編集」では、電源管理などのオプションが選べます。
「ワイプ」では、ストレージの内容を消去できます。新しいHDDをフォーマットしたりするのに使用します。

スクリーンショット 2020-12-12 120019.png

###S.M.A.R.T
設定タブで有効にするだけです。

スクリーンショット 2020-12-12 120214.png

その後、デバイスタブでHDDを選択して編集と押すと、有効化できます。
設定の際は、一台づつ、保存→適用してください。

スクリーンショット 2020-12-12 120324.png

##ファイルシステム
Linux系では標準になっているとおり、外付けのストレージはまずマウントをしないと使えません。
「デバイス」の項目にある「/dev/sda1, /dev/sdb1」などがストレージです。
「利用可能」の項目に「n/a」「マウント済み」に「いいえ」と表示してあれば、つながっていない状態です。
デバイスを選択して、マウントボタンを押してマウントします。

マウントできないとエラーがでる場合には

  • フォーマット形式が異なる
  • 別のシステムから移行したストレージ
  • 未フォーマット

などの場合が挙げられます。
一度ストレージの中身を真っ新にする必要があるので、ディスク項目のワイプでストレージの中身を削除することで、ここで利用可能になります。
ワイプする際のポイントとしては、接続するデータ用のストレージのフォーマットはext4にしてください。
ntfs、exfat等、他のファイルシステムでも一応は機能しますが、いまのところ細かい不具合やバグなんかで動作が不安定です。
設定する際は、1台づつ保存→適用するようにしてください。

マウントできると以下のように、「利用可能」の項目に「ファイルサイズ」、「マウント済み」に「はい」と表示されるようになります。

ストレージをマウントしただけでは、NASとしては利用できないので、後ほど、共有フォルダの設定をする必要があります。

スクリーンショット 2020-12-12 120749.png

##アクセス権の管理
samba上でネットワークドライブとして認識させるために、

  • ユーザーの作成
  • 共有フォルダの指定
  • sambaで共有する設定

上記の3つを設定していきます。

###ユーザー
ユーザーにはRaspberry Pi OSのデフォルトユーザーのpiがすでにいますが、ネットワークから参照するのに使う専用のユーザーを作成します。
アクセス権の管理→ユーザーから追加していきます。
名前とパスワード、グループを設定してください。グループはとりあえずusersの指定があれば大丈夫です。
スクリーンショット 2020-12-12 121809.png

###共有フォルダ
後ほど、sambaの設定で、sambaで共有するフォルダを選択しないといけません。
そのために、共有するフォルダを作成する必要があります。
アクセス権の管理→共有フォルダから設定していきます。

デバイスのプルダウンメニューに、さきほどマウントしたストレージがでてくるので、デバイスを選択して、名前とパスを設定します。
ストレージ全体を共有したい場合は、パスは「/」のみで大丈夫です。

スクリーンショット 2020-12-12 122130.png

##サービス
サービスにはFTP,NFS,RSYNC,SMB/CIFS,SSHといろいろと設定したい項目がありますが、とりあえずNASとして活用するにはSambaの設定だけあれば大丈夫です。

###SMB/CIFS
まずは、sambaサービスを有効にします。

スクリーンショット 2020-12-12 122545.png

次に、共有タブでSambaで共有するフォルダを選択します。
追加ボタンで出てきた項目のうち、さきほど設定した共有フォルダを指定します。
下にスクロールすると、その他、読み込み設定やパーミッションの設定もできるので任意に指定してください。単に共有するだけであれば、デフォルトのままで大丈夫です。
スクリーンショット 2020-12-12 122756.png

共有フォルダが追加されると、下記のようにリストにでてきます。
スクリーンショット 2020-12-12 122955.png

ここまでの設定が正しく反映されていれば、SAMBAで接続できるようになっているはずです。
NASとしての設定は以上です。

次に、クラウドストレージとストリーミングサーバーの構築に必要な環境をセットアップしていきます。

#DockerとPortainerのインストール
サーバーを追加していくにあたって、OpenmediavaultではDockerとPortainer(DockerのGUI管理)をサポートしていて非常に便利なのでインストールしていきます。
OMV-ExtrasのペインのDockerのタブに移動して、プルダウンからDockerとPortainerをそれぞれインストールします。

スクリーンショット 2020-12-12 111929.png

インストールが終了したら、Open Portainerのプルダウンメニューを使って、Portainerにブラウザからアクセスします。
ログインユーザー名とパスワードを設定するよう誘導されるのでそれに従い、設定していきます。
こんな画面が出たら導入成功です。

スクリーンショット 2020-12-12 112436.png

あとは、基本的には、Dockerを使って、好きなサーバーをずいずい構築していけばOKです。
クラウドストレージとストリーミングサーバーの導入については、その2に続きます。

RaspberryPI4をサーバーにして遊び倒す。その2

18
30
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
30

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?