B(通称ラズパイ)を買ったので、動作確認済みパーツの紹介と基本的な構築方法をメモします。作業はWindows10から行っています。4のパーツ選定と購入先ラズパイ本体および、最低限必要なパーツは下記の組合せで購入しました。今回はラズパイをモニターレスで構築、運用するため、モニターやキーボードは用意していません。LANケーブルとSDカードの読み取り装置が別途必要になるので無い場合は用意しておきます。Amazon本体およびSDカードを購入するする際は聞き慣れない販売元からは購入しないようにしましょう。ラズパイのストレージにはmicroSDカードを使うので大きさを間違えないようにします。ラズパイ本体に偽物があるかどうかはわかりませんがmicroSDカードは偽物が出回っているようなので、よくわからない所から買ってしまうとドロンして連絡がつかなくなるという事も十分に考えられます。本体は安心大手のヨドバシカメラから購入。今回選定したmicroSDカードはAmazonで買うしかなさそうだったので、Amazonで慎重に選んで買いました。」と表示されていれば信用できますが、同じページでも1円だけ下げて偽物を掴ませてくる業者もいるようなので注意が必要です。最近のAmazonは買い物するのも面倒くさいですね。ケースと電源は中華製を選びましたが特に問題ありませんでした。ケースに関してはシンプルかつ堅牢な作りでしっかり放熱もするので満足しています。4の初期セットアップパーツが揃ったら下記の順でラズパイをセットアップしていきます。各種セットアップ、動作確認などに必要な物は下記よりダウンロードしてください。OSは公式提供のRaspbian(Debian)を使いますが、CentOS7等他のOSも使えます。最初にCentOS7をインストールしたらヘッドレスブラウザが入らなくて困ったので、Raspbianを選んでおいた方が無難だと思います。必要に応じてラズパイで利用するストレージはFAT16またはFAT32でフォーマットする必要がありますが、32GB以上のmicroSDカードはexFATでフォーマットされているため、これをFAT32フォーマットツールでフォーマットしてあげます。Formatterを使います。Imagerとちぐはぐな事をしていたみたいで、一応両方のソフトを一覧に載せました。Flashを使って診断しておきます。不良セクタがあると読み書きに影響が出るので初期不良なら早めに販売元に言えば交換して貰えると思います。microSDカードをPCのカードスロットに挿してツールを起動すれば不良セクタの診断ができます。どのドライブにmicroSDカードがマウントされているかはマイコンピュータより確認しておきましょう。診断中はこのように表示されるので終わるまで暫く待ちます。診断が終わった後はCrystalDiskMarkで念の為、SDカードのベンチマークも取得しておきます。大体スペック表通りです。偽物だとスペック表通りに速度が出ない事もあるそうです。microSDカードをFAT32でフォーマット今回は64GBのmicroSDカードを使うので、exFATからFAT32へフォーマットしてあげます。フォーマット前はexFATで認識されています。guiformatでフォーマットします。デフォルトの状態でスタートを押します。フォーマット完了後、FAT32で認識されていればOKです。Windowsを使ってmicroSDへ書き込みます。ディスクにmicroSDを選択して、Raspbianのイメージファイルを選択します。デフォルトではRaspbianのイメージが選択できないので、拡張子をすべての拡張子に変更して場所を選択します。選択後は「書込」を押せば処理が始まります。書き込み完了後、マイコンピュータよりmicroSDを選択してSSHを有効化させるために「ssh」という名前で空ファイルを作成し配置します。作業環境によっては拡張子無しのファイルを作るのが若干手間みたいなので、空ファイルをzip化した物を下記に置いておきます。解凍して利用してください。ダウンロード:sshこんな感じに配置すればSSHが使えるようになります。ラズパイの起動とSSH接続ラズパイ本体にケースを取り付け、microSD、電源ケーブル、LANケーブルを接続し起動します。LANケーブルはDHCPが有効なルーターの空きポートに繋げば、起動後に自動でIPが割り当てられるのでそれを次のいずれかの方法で探します。Liteを使うルーター、作業PC、ブロードキャストアドレスを除いて応答するIPが見つかったら片っ端からSSHしてみます。自宅だったらそうデバイスは多くないと思うので簡単に見つかると思いますが、数十台以上繋がっているようなら別ネットワークで試すかDHCPの割当ログをしっかり確認しておきましょう。Raspbianの初期ユーザとパスワードは下記になります。ユーザ:piパスワード:raspberryログインができた後は固定でIPを振るなり、MACアドレスで割り振るIPを指定したりすれば次回以降は楽になります。業務で使う物なら固定でIPを設定する所ですが、自宅用なのでOSでは設定せずにルーターの機能でMACアドレスを利用してIPアドレスを割り当てるようにしました。Raspbianでifconfigを叩けばetherの項にMACアドレスが出てくるので、eth0(ケーブル)、wlan0(Wi-Fi)のMACアドレスをルーターに設定しておくと便利だと思います。無事ラズパイにSSH接続できた後は下記の順でサーバを構築していきます。以降はコマンドで作業します。dist-upgrade必要なパッケージのインストール時刻同期用にchronyを、その他ネットワーク系のコマンドツール等をインストールしておきます。chronyvimの入れ替え最初からインストールされているvimは機能が少ないので、普通のvimを入れ直しておきます。vimついでにvisudoコマンドで利用するエディタを変更しておきます。nanoは使いにくいので使い慣れているvimでsudoの設定を出来るように変更します。お好みですがこのように設定を入れています。undolevels=100Wi-Fiの設定ラズパイは標準でWi-Fiモジュールを搭載しているので繋ぎます。サーバ用途とは言えLANケーブルが無い方が取り回しが良くなるので自分はWi-Fiで運用しちゃいます。接続パスワードを平文で保存するのはあれなので暗号化します。/etc/wpa_supplicant/wpa_supplicant.confこのように記述します。psk=n6jiczpcoz7ldbwxbsauru1vs2offuhgrqfg52zsy2tfznbech3j5gn7gslugyfj}OSを再起動してWi-Fiを有効化します。reboot無事、Wi-Fiに繋がった後はLANケーブルは撤去しても大丈夫ですのでお好みで。初期ユーザーpiのまま運用しても問題無いですが、外からもSSHで繋ぎたいので念の為新しく一般ユーザーを作成、デフォルトのpiユーザーの設定を少し変更します。sudo作成した後は新しいユーザーでSSH接続し直しておく。影響範囲がわからないのでpiユーザーは消さずに、パスワードを変更してsudoを使えないようにしておきます。pi更にsudoにインクルードされているpiユーザーの設定ファイルを削除します。これでpiユーザーはsudoを使う事が出来なくなりました。後から気付きましたがpiのユーザー名を変更した方がスマートだったかもしれません。rootパスワードの設定rootパスワードを変えておきます。rootセキュリティ設定sudoやSSH、ファイアウォールなどのセキュリティ周りを設定していきます。SSHのセキュリティ強化SSHのrootログインを禁止します。パスワード認証を止めて鍵認証へ変更すれば尚良いですがここはお好みで。いう設定もあるが、こちらはrootのみパスワード認証を禁止するという設定で鍵認証だとrootログインが出来るっぽい。(未検証)あとは必要に応じてiptables等をインストールしてファイアウォールの設定をしますが、自宅で使う場合はルーター配下にラズパイがいる事が多いと思うので普通だったら要らないかなと思います。ルーターでポート転送の設定を入れないとどのみちラズパイに繋がらないので。System入りのデスクトップ用パッケージを選択しているのでVNCで繋いでみます。VNCに興味が無い場合はここを飛ばして大丈夫です。Raspbianの起動モードをCLIからデスクトップへと変更します。最初これを知らずVNC接続が出来なくてハマりました。CLI」→「Desktop」の順に選択し設定します。設定後は再起動するよう求められるのでrebootします。再起動後は下記のコマンドでVNC用の接続パスワードを設定します。-virtual設定したらVNCサーバーを起動します。vncserver接続用のipアドレスとディスプレイ番号が表示されるのでそれをVNCクライアントのフォームに入力し接続します。例)192.168.1.10:1ラズパイのデスクトップに接続出来たらOKです。ラズパイは小型で頼りなさそうな見た目ですが中々にスペックが高いのでVNCで繋いでもサクサク動作します。リモートメンテ用のX環境を置きたい時にはラズパイが便利そうです。VNCを使い終わったらサーバを落としておきます。末尾にディスプレイ番号を指定USBポータブルHDDを接続する容量の大きなデータを扱う場合、microSDのストレージだけでは心許ないしディスクI/Oも遅いのでUSBポータブルHDDを増設してみます。Digital製の2TBのポータブルHDDが丁度余っていたのでこれで試してみます。USB3.0OSをシャットダウンしてから口が青いUSB3.0のポートにHDDを接続します。このHDDはUSB給電となっていて電源は要らないものの、既に複数のUSBデバイスを取り付けている場合は電力不足でHDDが動作しないかもしれません。その場合は、電源が独立したUSBハブを間に挟む必要があります。OSの電源を入れて起動したらrootにスイッチしてHDDが認識されているかを確認します。data正常に認識されましたのでマウントします。フォーマット等はせず、出荷当時のNTFSフォーマットのままマウントして使います。マウントされた自動マウントの設定もしておきます。blkidコマンドでPARTUUIDを調べます。PARTUUID="c06b6b99-351a-4c6d-804b-96809f76aeda"先程調べたIDを指定しfstabへ下記のように追加し保存します。0再起動してみて自動マウントされていればOKです。ddコマンドで簡単な書き込み速度のテストをしておきます。MB/s10倍位違います。ディスクIOが激しい処理を行う場合はUSBポータブルHDDの領域を使うようにした方が良さそうですね。簡易のファイルサーバーにするHDDを増設したのでラズパイを簡易のファイルサーバーにしてみます。Sambaを使うのでまずは必要なパッケージをインストール。設定ファイルはこんな感じに。nmbdSambaへ接続できるユーザーを作成し、接続用のパスワードを設定します。sambauserPCからSambaへ接続します。Windowsからだと接続方法は何通りかありますが、適当なフォルダを開いてアドレスバーに「¥¥192.168.1.10」の様に¥マークを頭に二つ付けラズパイのIPを打ち込みます。ユーザー名とパスワードを聞かれるので打ち込んで共有ディレクトリが見えれば成功です。CPU温度を監視する今回はファンレス状態でラズパイを動かしているのでCPU温度を監視しておきます。ヒートシンク一体型のケースなのでしっかり放熱は出来ているようですが、ソースコードをビルド中等は結構熱くなっているようです。コマンドでCPU温度を取れるようなので簡単なスクリプトを書き監視します。vcgencmdコマンドを実行するユーザーはvideoグループに所属させないといけないので変更します。rpuser次に温度を取得します。measure_temptemp=41.0'C監視アプリケーションにNagiosを使っているのでスクリプトを経由してグラフを書かせてみました。室温25度前後の部屋でアイドル時は大体40度前後で推移しているみたいです。ソースのビルド中は60度まで上がっていたのでファンレスの状態でフル稼働だと夏場が少し心配ですね。ちなみにCentOS7とRaspbianだと後者の方が若干CPU温度が低いです。専用OSだけあって最適化されている感じでしょうか。データのバックアップ諸々の構築が終わった後はmicroSDカードの故障に備え、ラズパイを丸ごとバックアップしておきます。OSの電源を落としカードをまた作業PCにセットして、データをイメージ化し別の場所に保管しておきます。運用中にmicroSDが壊れても新しいカードにこのイメージを書き込めば復旧が簡単になります。Windowsでも同じ事が出来るっぽいです。Imagerの例ですが、カードスロットにmicroSDを挿して読み込んだ後は、SDカードのドライブを選択しイメージの保存先を指定してReadボタンを押すだけです。microSDの容量と同じだけのイメージファイルが出来上がるので、HDDの空きには注意。今回は予備が無いのでやっていませんが、新しいカードにこのイメージを書き込んで復旧できるかテストしておいた方がベターかと思います。まとめラズパイの構築は以上です。Debian系のOSを触っていると玄箱をDebian化した時の事を思い出しますが、ラズパイはサクサク動作するしRaspbianの場合は使いたいパッケージがほぼあるので構築中にハマるストレスも無いです。必要最低限の構成だと諸々1.3万円でラズパイを動かせますのでちょっとしたサーバを建てたい時に重宝しそうです。