RouterBoard RB3011UiAS-RM 導入

自宅のルータは長らく iptables, dnsmasq あたりで構成した Ubuntu VM で実施してきたが、障害時の対応が面倒なのに加えて、サーバメンテナンス中という何かと急いでぐぐりたい場面で自宅インターネットが使えないという致命的な問題があったので、以前名前を聞いておもしろそうだった MikroTek 社の RouterBoard に移行した。Linux ベースの RouterOS なるものを搭載していて、 RB3011UiAS-RM は ARM ベースとのこと。ネットワーク機能も含めてなにかと仮想化がもてはやされるこのご時世、 VM からアプライアンスに移行するのは時代に逆行しているような気もするけど、自宅だとスケールメリットはおろか冗長構成ですらデータ保全ぐらいしかしないので、シンプルなアプライアンスがよいと判断。ちなみに、 1U Rackmount と書かれているが、この機種は奥行きが狭いのと、 1U ラックの横幅として言われる 19 インチ(482.6mm)はサーバルームで見るとでかそうに見えるが意外と家における大きさなのもあって、ラックサーバを置く気にならない自宅でも意外と現実的な大きさだった。ラックマウント用の金具の他に、普通にその辺に置く用のゴム足も付属した。

今回は、 RN3011UiAS-RMBaltic Networks から購入した。購入したときは取り寄せが必要で一か月くらいかかるとのことだったが、今見ると In Stock なので時期によるかもしれない。購入時、発送方法は料金だけを見て無料だった “Pick up at Lisle warehouse” を選んだが、「請求先も発送先も両方日本なので、この選択肢はおかしい。これらの選択肢の中から適切なものを指示してほしい」というメールがきて、返信すると対応していただけた。あとで気付いたのだけど Lisle は Baltic Networks の拠点の地域なので、これは Lisle warehouse という名前の業者に関する何かではなく、「Lisle の倉庫まで取りに行く」という意味だったのかもしれない。ちなみに AC アダプタのプラグは US 用で、日本と同じ形で 100V にも対応していたのでそのまま使用できた。品物 $145.00, 送料(FedEx International Economy) $49.59 で計 $194.59。

左 5 ポート、右 5 ポート、 SPF 1 ポートで、基本的にはポートごとに設定をすることができるようだ。ただ、左右それぞれ最大一つ master port を選ぶことができ、左右それぞれ master port を含むポートを 5 ポートの中から任意で選んで master port にぶら下げるとそれらは同一の L2 セグメントとして wire speed で通信できるようだ(この場合 slave port についてはちゃんと設定がいじれないようになっているっぽい)。左右をまたぐ場合は bridge を構成して実現するようになっている。初期設定では ether1 が DHCP で外、それ以外は中というよくある自宅ネットワークを想定したものになっており、 bridge の下に ether1 以外を治める左 master port、 右全部の master と SPF がぶら下がっていた。

まだあまりいじれていないが、メニューを見て色々できるな、と思ったのと同時に、例えばファイヤーウォールの設定画面で言えば iptables の設定で登場する用語がそのまま登場していた。DNS, DHCP に関しては GUI でいじれるが、 dnsmasq みたいに DNS が DHCP と連携するみたいな機能はないのでそこは手動でどうにかするしかなさそう。だいたいの設定は Web 画面でいじれそうで、試していないものの(VPN 等に使うと思われる)証明書発行用 GUI も Web にあった。ターミナルもブラウザから開くことができたほか、 ssh などでも使えるので、通常はルータへの接続のためにシリアルケーブルを用意する必要はなさそうだった(内蔵の液晶で IP アドレスもわかるし)。

とりあえず、最低限のファイヤーウォールだけ設定して、普通にルーティング(IPv4 で、ネットワークは異なって RouterBoard のポートも別だがマスカレードではないルーティング)経由で iperf してみたところ、

------------------------------------------------------------
Client connecting to ***, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local *** port 54934 connected with *** port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.05 GBytes   901 Mbits/sec

さすがにただのルーティングは充分速度が出るようだった。

また、実際に RB3011UiAS-RM 自身で IPv4 マスカレードするように構成して、インターネット(上流に IPv4 を IPv6 にトンネルする ISP 支給のルータがいるので PPPoE ではない)に繋いで www.speedtest.net で試してみたところ、

500Mbps 以上のスループットが出せることが確認できた。ファイヤーウォールの項目数を増やすとどうなるかはわからないのと、そもそも普通の ISP 経由のインターネット経由なのでこれが上限でもない(事実導入前と比べて遅くはなっていない)ので資料としては不充分なものの、自宅のインターネット用としては充分な速度が出ると言えそうだった。

内蔵液晶パネルに何を表示するかは選択可能だが、 Informative Slideshow だと全ポートの合計スループットから電圧、ファームウェアバージョン、時刻まで色々と出してくれる。一方、 Slideshow だとポートごとのグラフを出してくれるようだ。実用的というよりかは眺めていて飽きないという内容といえる。ちなみに、液晶自体は自動パワーオフの時間が設定可能だが、どちらかというと電源ランプの青色 LED が眩しいので(我が家のように)寝床と隔てがない空間に置く場合は、人によって(例えば僕のような場合)は直接光と壁への反射について対策をしたほうがよい。

ちなみに設定は困ってぐぐったら割と MikroTik Wiki が出る。ちなみに設定だいたいをエクスポートする /export というコマンドもあるようだ。

一方、最初に困ったのは AC アダプタで、運よく米国のサイトから仕入れたため AC アダプタもそのまま使用できたが、 DC 側が接触が微妙なようで、少し抜ける側に力が加わっただけで DC 入力が途絶えるようだ。力を加えようと思わないのに途絶えるほどではないのと、アダプタと本体どちらの不具合か、または仕様かもわからないのにどれほどかかるかわからない海外への依頼をするのも面倒なので運用でカバーすることにした。本体裏には謎の溝がありアダプタの DC ジャック付近のケーブルはそこにかませて仮固定できる。また、電圧は 10-28V (付属アダプタの出力は 24V)と幅広く受け付けているので直径さえあえば適当な AC アダプタを使うことはできそう。

また、この機種は感圧式タッチパネル付き液晶画面を備えているが、購入当初は(初期設定で 1234 の)暗証番号の入力すらも困難な状態だった。これに関しては Web UI 経由で Recalibrate を押し、その後タッチパネル側で指示に従ってキャリブレーションすることで完全に解消された。

まだ設定は完了していないが、一通り安定導入後も遊び用のポートを空けておいていじってみたいと思えた。

(2017/8/16 追記)証明書の署名操作(実際には秘密鍵の生成から実施している可能性がある)で分単位から十分単位の時間がかかるようだ。WebUI だとすぐ、ターミナルだと一定時間経った後にレスポンスがあるが(後者はタイムアウトとの表示)、実際には証明書の生成作業を行っており、先ほどレスポンスが返ってきた操作は終わっていない、かといってテンプレートの削除は Template being used! というエラーメッセージになる、そして数分待つと削除できる、という状態になった。WebUI の Tools > Profile で様子を見ることができる。見る限り、 CPU を 100% (コア単位)使っているようなのだが、この機械はデュアルコアなので 200% まで使えるので複数同時に走らせたりしなければ大丈夫そうだ。ARM CPU にしても秘密鍵生成、電子署名ってそんな時間かかる……?とは思うが、かかるものは仕方がないのでそういうものと思って使うのがよさそう。

(2017/8/28 追記)AC アダプタがゆるい問題は、秋月電子通商で外径 5.5mm 、内径 2.1mm で中央がプラスの、24V/1.5A の AC アダプタ(1,500 円)を買ってきたところ解決した。少なくとも今のところ、店舗の張り紙によると取り扱っているのはこの大きさ/極性しかないらしいので、大きさがあうものが取り扱われていたのは運がよかったということか。
なお、オンラインにあった説明書で 5.5mm/2mm と書かれていた。また、 [solved] Power connector problem in RB2011-RM and RB3011-RM – MikroTik RouterOS に同様の現象で悩んでいる状況の書き込みがあり、色々と分析がなされていたが、新機種にバンドルされた電源ユニットはゆるすぎて、旧機種のものが新機種にもちょうどよいというコメントや、内径が 2.5mm のアダプタだとゆるくなって、 2.1mm のものが正しいというコメントが書かれていた。秋月電商のアダプタは店の張り紙で内径 2.1mm と明記されていて確かにそのくらいに見えて、自信はないが 2.1mm より大きいような気はする(下の写真は付属品の方)。

HP MicroServer Gen8 導入

従来使用してきた hp ML115 Gen 5 もそろそろ寿命が近そうだったところで、 hp MicroServer Gen8 が安くで売られているのを見つけたので購入し、移行した。Amazon の HP ProLiant MicroServer Gen8 販売ページでは、在庫が安定しないようだが Celeron モデルが株式会社ゼット(zmart.jp)の販売で 38,458 円で入手できた。

Microserver Gen8

在庫及び配送は Amazon が担当し、販売元は並行輸入品を廉価販売する株式会社ゼットが担当するようだった。機械はチェコ製(本体裏面では「MADE IN CZECH REPUBLIC」「捷克制造/捷克製造」)らしい。(欧州製にも関わらず一部記載は英語/中文簡体/中文繁体で、また一部記載は欧米の言語色々だった。謎。)

こちらの販売元で購入したものは、並行輸入品につき、電源コードが日本用ではなかった(付属品一覧を見る限り英国用と欧州用の二本?)ため、電源コードは別途自前で購入する必要があった。ディスプレイ付属のケーブルを流用できる端子だったので、とりあえず家にあった別の機器の流用で動作確認しつつ電気屋で買った。

メインメモリ

標準では 4GB のメモリが付属したが、2スロットで16GB(8GB×2)にまで増設できる。32GBは検索したところだと成功例がヒットせず、失敗例が多くあるようだ。ということで、HP Microserver Gen8を購入 | 三日坊主の軌跡を参考に、このページで動作実績のあるKTH-PL316E/8Gを二つ購入し、計16GBのメモリを認識させることができた。iLO と組み合わせた場合 HP 純正でないためアラートがくるとリンクした動作実績に書いてあったが、それはスルーした。

どこを分解すればメモリを交換できるかよくわからなかったので検索したところ、MicroServer Gen8 のメモリを交換している YouTube 動画がヒットした。

HDD

簡単と見せかけて、最初に購入した HGST の 6TB のディスクは騒音の問題に悩まされた。x64 な Ubuntu に搭載する HDD に相性問題なんかないだろうと思いながらも一応勧められるままにツクモの交換保証に加入していたが、この保証は「思ったよりうるさい、家に置くにはうるさすぎる」みたいな理由でも期間内なら別の機種への交換が可能(価格が上がる場合は差額、下がる場合はそのまま)で、しかも回数に制限がないため、思わぬ形で救われた。結局、 Western Digital Red 6TB (WD60EFRX 、Pro ではない方)に落ち着いた(まあこれでもシーク音はまあまあ鳴るが、僕の中では許容範囲)。

音の問題はそもそも感じ方や使い方に個人差がある上、静かな方のディスクでもうるさいと言っている人がいる一方でシーク音が大変うるさいディスクでもアイドル時に静かなためか静かと評価する人がいるのでレビューの見方が難しい。とはいえ傾向はあるので、最終的にはレビューを複数サイトでちゃんとみてればもう少しスムーズにいけたな、とは思った。

後で気付いたことだが、Linux mdadm で高速に RAID1 array を構築する – Qiita 等で記述されているように、特にオプションを指定しないまま mdadm で RAID 1 を構築するとどういうわけか「多分二つのディスクの内容は一致すると思う」みたいな状態から開始するらしく、同期が完了するまでは両ディスクから読み込んだうえで片方のディスクで書き込みなおすためにシークが大量発生するようだ。このせいで騒音が増大していたともいえるし、このお陰で本格的にデプロイする前から騒音に気付けたともいえる。

あと、交換後の HDD の片方が初期不良だったようで、なんだかインストーラが変な動きをするのでエラーログなどから片方のディスクがおかしいと判断、基本的に書き込みエラーだったので USB-SATA 経由で Western Digital の Data Lifeguard Diagnostic for Windows の全クラスタデータ削除に突っ込んでみたところ、数分で FAIL となった。仕方がないので秋葉原にあるツクモのサポートセンターに持ち込んで症状を伝えたらその場で交換していただけて、そちらを入れたら問題なかった。ちなみにツクモはサポートセンターと販売店が別ということを知らなかったので、ツクモの販売店に20:10ぐらいに持ち込んだら、20:00までにサポートセンターに持ち込めば対応していただける旨を教えていただけた。何をするにも下調べが大事。

HDD が初期不良であった場合のエラーログについては、 Ubuntu のインストーラのメニュー画面の中に「syslog を HTTP で公開する」みたなオプションがあることを初めて知った。LAN 内の他の端末でブラウザで見たりダウンロードしたりできて便利だった。

(今回やたらお世話になったので色々ツクモを称賛してるけど別にツクモの中の人とかじゃないよ)

インストール

Ubuntu インストールにあたってはハードウェア固有の罠はなかったはず。通常通りソフトウェア RAID を構築して OS をインストールすればよい。

Ethernet

まず、LAN端子は、二つとされていながらiLOなるネットワークベースの技術も搭載されていると書かれていた。公式ウェブページから想像つきにくいまま購入したが、結局は「通常のLAN端子2つ」「OSから見えず、iLOが使う端子一つ」の計3つが搭載されていた。(いずれも Broadcom チップらしい)

Ubuntu 16.04 では eno1/eno2 として見えたが、その順序について少し厄介だった。最初1と書かれた端子にのみケーブルをつないでいたところ、ケーブルが刺さっている方が eno1 となった。ところがその後で 2 と書かれた方にもケーブルを刺して再起動したところ、これまで eno1 と書かれていたものが eno2 になり、新しく刺したほうが eno1 として認識された。謎。

謎のランプ

先ほどの写真にも写っているしそもそも公式の画像でもだいたい写っている通り、このサーバの下部には謎の青いランプがある。飾りかと思っていたら、添付文書では正常稼働の確認の文脈でこのランプが青く光っていることの確認が電源ランプの確認と別に書かれていた。「Health LED bar」とか名前がついており、電源ボタンについているランプとは別物らしい。

その他

  • hp ML115 Gen5 と比べても通常時のファンの音が大変静か(ただし、比較対象の hp ML115 Gen5 はリアケースファンが 2000-5200 rpm で、僕は気にしなかったがアイドル時でもうるさいという人は多いはず)
  • 起動してから OS に制御が渡されるまではファンの回転数が制御されず普通にそこそこファン音がするのは hp ML115 Gen5 と同様(とはいえ、さすがに同じ状態の hp ML115 Gen5 よりは静か)
  • BIOS が色々検査している画面が妙にグラフィカル
  • カタログの時点でわかるが念のため追記:HDDはホットプラグ非対応。HDDを交換しようとすればまあ気付くであろう位置に注意書きがある。
  • カタログの時点でわかるが念のため追記:光学ドライブは別売りオプション。先ほどの写真の通り、なくとも見栄えが悪いというほどではない。
  • 今回は Ubuntu で使用したため実体験と全く関係のない話だが、 hp が公式にカスタムした ESXi イメージを配布している(添付文書にリンクあり)ため、どうやら ESXi からオンボード RAID が使えるらしい。ただし、HP ProLiant MicroServer Gen8を買って地雷を順番に踏んでった話 – なおたこブログにはパフォーマンスに難がある旨が記されている。
  • 日本用電源コードすら付属しない並行輸入品でも、 BIOS 画面は English/日本語 の二択だった。謎。
  • iLO は便利そうなのに試しすらしないで稼働開始してしまった。すみません。