サーバー

Raspberry Pi Zero で温度センサーと赤外線センサーを使ってサーバーとネットワーク機器を自動で冷やしてみた

Raspberry Pi Zero を買って放置したまま1年経ち、 夏を前にサーバーの冷却を考えていたのでタイトル通り、 Raspberry Pi と 温度センサー&赤外線センサーを使って夏を乗り切ろうっていう記事です。 ちなみに結局温度センサーは接続したものの 今回はCPUの温度やSSDの温度をトリガーとして赤外線センサーを使うので 使いませんでした?   Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO500)ちなみに僕は電子工作に関して全く知識がありません。 抵抗値の計算すらできません。それでもできたのでネットは偉大ですね。     買ったもの Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO400)・1/2W 100Ω ・1/2W 1kΩ ・ADT7410 温度センサー ・OSRB38C9AA 赤外線リモコン受信モジュール ・OSI5LA5113A 赤外線LED ・OSI5FU5111C-40 赤外線LED 何となく2種類買った ・EIC-801 ブレッドボード ・ブレッドボード・ジャンパーコード     接続 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO320)基本的に赤外線LEDは1つが良い(波形が安定する?)らしいのですが 赤外線LED自体の有効照射範囲(?)が15°とかなので3つぐらい設置してみました。 ちなみに抵抗の接続の仕方などは計算ツールみたいのを使った結果を 何となく配置しただけです。 ジャンパーコードは オス – オス を買い忘れたので 抵抗の足を使いました?     WiringPiで制御する ここがとても参考になりました。 http://www.feijoa.jp/laboratory/raspberrypi/infrared2/ LIRCがも何のか分かってないけど ネットで引っかかるLIRCを使った記事ではうまくいきませんでした。     シェルスクリプトでエアコンを操作する [crayon-5b270e693fe59156381197/]     Zabbixのメディアタイプに登録する Zabbixのメディアタイプに登録します。 手順は面倒なので割愛です。     トリガーを作成する 今回はサーバー、ルーター、スイッチのCPU温度のいずれかが 60℃を超えたらエアコンがONになるって感じ。     アクションを作成する トリガー名にEaconを含めておけば、アクションもこんな感じで設定できます。     動作確認 動画を撮って載せるのは面倒くさいのでしないんですけど エアコンを切って家をでるとSlackから通知がきます。 数分後に温度を確認すると60℃を下回っていい感じ。   素晴らしい~~~ ただ、このまま運用すると 60℃超える → エアコンON → 59℃辺りになる → エアコンOFF(ループ) となるので閾値だったり、トリガー条件をもうちょっと考えないとダメですね。

EdgeRouter ER-8のファンを交換してみた

分解のいよいよ夏だなとそんな気温が続きますね。 サーバーの冷却は大丈夫でしょうか? 前回、EdgeRouter ER-8 を購入したのですがデフォルトのファンが そこそこうるさい(C3750E程じゃない)のでファンを交換してみました。 EdgeRouter ER-8を買ってセットアップしてみた   換装するファン Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO320) 「ワイドワーク 40mm角DCファン  超静音タイプ 回転数3000rpm 4020LL12S/A」 です。Amazonで1個 1,473円でした。   ファンを交換する Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO500) 分解はネジを外すだけなので簡単でした。   Canon IXY 430F (4.3mm, f/2.7, 1/20 sec, ISO1000) メモリにも簡単にアクセスできました。 DDR3だかDDR2の2GB メモリです。 CPUが64bitで、EdgeOSも64bitなのでもしかしたら4GBで動くかも? 使う機会はないと思いますが。   Canon IXY 430F (4.3mm, f/2.7, 1/25 sec, ISO800) ファンコネクタは3pinなのでご注意ください〜 3pinなので上で紹介したファンを購入しました。   Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO640) デフォルトで乗ってるファン   Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO500) 交換した めちゃくちゃ静かになって風量もめっちゃ少なくなりました!

激安3D NANDなNVME SSD「ADATA ASX8000NP-128GM-C」を2台でベンチマークとってみた

ベンチマークを”とる”の漢字ってどれが正しいのか 毎回迷う。 3D NANDでNVME SSDを2つ手にしたので fioを使ってベンチマークを取ってみたいと思います。   構成 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO100) Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO100) ADATA ASX8000NP-128GM-C ×2(M.2 -> PCIe変換カード) RAIDZ-1(ZFS) Proxmox(Debian) Xeon E5-2650 Memory 32GB 今回はブートディスクではなく、ZFSを使ってRAID1環境です。 RAID0ではないのでご注意ください。   ベンチマーク 今回はWindowsではなくLinux環境なので fioを使ってベンチマークを行いました。 オプションとしてbs=4k, jobs=64となっています。 ※書き込み速度に関してはチューニングをしていないので 信用しないでください。   シーケンシャル リード [crayon-5b270e69402d7462777261/] IOPS : 701270 bw : 2739.4MB/s   シーケンシャル ライト [crayon-5b270e69402ea764500638/] IOPS : 258093 bw : 1008.2MB/s   ランダム リード [crayon-5b270e69402f2419529591/] IOPS : 731567 bw : 2857.8MB/s   ランダム ライト [crayon-5b270e69402f9302912335/] IOPS : 14872 bw : 59489KB/s   まとめ 種類 IOPS スループット(MB/s) レイテンシ(usec) Seq Read 701270 2739.4 50usec Seq Write 258093 1008.2 100usec Rand Read 731567 2857.8 20usec Rand Write 14872 59.49 50msec ※書き込み速度に関してはチューニングをしていないので 信用しないでください。 書き込み速度に関してはZFSのsyncがenableな状態でとったので 激遅になっています。 購入当時、このSSDは9,000円を切る価格で3D NAND + NVME 1.2が搭載されており コストパフォーマンスが優れているSSDだと思います。 それでも10,000円を切っているのでオススメです。 熱はそこそこ高く、冷却もきちんとしないと サマールスロットリングが発生してしまうので注意が必要です。

CloudFlareのSSLオプションは遅いのか

CloudFlareって無料で使えて機能も多くてよく使っています。 目玉な機能の1つにSSLが無料で使える機能がありますが ベンチマークを取る機会があったので記事にでもしようと思います。   CloudFlare -> Crypto SSL CloudflareのSSLオプションには3種類あります。 Flexible SSL CloudFlare – Origin server 間は HTTP で通信し、 エンドユーザーと CloudFlare 間は HTTPS で通信する   Full SSL エンドユーザー – CloudFlare 間だけでなく、 CloudFlare – Origin server 間も HTTPS で通信する(オレオレ証明書でOK)   Full SSL (strict) Full SSL と同様 オレオレ証明書ではなく認証局から発行されたきちんとした証明書が必要     ベンチマーク 今回はFull(strict)以外で比較を行います。 DBと連携しているAPIサーバーに対して、 インターネットの向こう側からGo言語で書かれたheyというツールを使って ベンチマークを行います。 CloudFlare の Cache 機能は全て無効の状態です。 https://github.com/rakyll/hey $ hey -n 6000 -c 600 -q 10 -m POST -D ./a.json -T "application/json" -h2 https:// 同時接続数600 &トータル6000リクエスト & 10秒以内 Requests/sec と Response timeの平均を見ていきたいと思います。   HTTP + CloudFlare(Proxied) [crayon-5b270e6940640328761791/] Requests/sec : 1193.3303 Average: 0.4119 secs   HTTP (No Proxied) [crayon-5b270e6940649302977898/] Requests/sec : 1269.1202 Average : 0.3751 secs   HTTPS + CloudFlare(Flexible) [crayon-5b270e6940652557240926/] Requests/sec : 1127.3389 Average : 0.4390 secs   HTTPS + CloudFlare(Full) [crayon-5b270e6940657096494593/] Requests/sec : 1169.9248 Average…

EdgeRouter ER-8の温度をZabbixで取得する

前回の記事を書いた後、ZabbixでEdgeRouter ER-8の温度を取得することができたので 記事にしたいと思います。 EdgeRouter ER-8を買ってセットアップしてみた   EdgeRouter ER-8 にSSHできるようにする Webでログインしたら、フッターっぽいところに system タブがあるので そこを開いてSSHを有効化します。 ちなみにこの時点でWAN側のポートが開くので要注意です。   ホームディレクトリにスクリプトを設置する これに実行権限を与える chmod +x get_temperature.sh   Zabbix server で zabbixユーザーがSSHできるようにする 僕の環境では zabbix ユーザーは /bin/false な状態だったのでいくつかコマンドを実行 [crayon-5b270e6940a25519366865/]   また、一度known_hostsに EdgeRouter を追加するためにzabbixユーザーでSSH [crayon-5b270e6940a32108167662/]     Zabbix server の外部スクリプトとしてスクリプトを設置する [crayon-5b270e6940a34380234595/] これをZabbixのexternalscriptsフォルダの中に入れる zabbixで実行できるようにしておく [crayon-5b270e6940a36190457815/] zabbix server の再起動 # systemctl restart zabbix-server   Zabbix にアイテムを追加する こんな感じに追加する。 引数の部分はCPU以外にもBoardCPUととPHY、BoardPHYが取得できます。   確認する EdgeRouterのCPU温度をZabbixで取得できたぞーーー pic.twitter.com/ES5KLXss4X — らりるれるいすにゃん (@lu_iskun) 2017年5月11日

EdgeRouter ER-8を買ってセットアップしてみた

一週間家を出ずに外を出ると体調が優れなくなるので できるだけ昼間は外に出ることが重要なんだなと思います。   EdgeRouter ER-8 とは Ubiquiti Networks 社の製品 EdgeMax シリーズの有線ルーター EdgeRouter シリーズの1つです。 OSには Vyattaベースの EdgeOS というのが載っています。 コマンドもそのまま使えるので分からないこともWeb上で調べれば大体解決できます。 いくつか製品があってグレードがある中で ER-8 は 最上位の ERPro-8 の1個下のグレードです。 ここの Wiki を1回目を通すと良いです。 今回は Amazon.com で購入しました。 送料込みで38,000円でした。   内容物 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO250) 至ってシンプルで本体とルーターのみです。   外観 Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO200) 全面もシンプルです SFPは搭載しておらず、eth0 – eth7 はGigabitEtherです。   Canon IXY 430F (4.3mm, f/2.7, 1/30 sec, ISO160) 背面はファンが2つ、ミッキー型の電源があるのみ。 どこもかしこもシンプルです。   設置 Canon IXY 430F (4.3mm, f/2.7, 1/25 sec, ISO800) 今回は eth0 を PPPoE として eth3 と eth6 のみを使うように。 真ん中にあるスイッチはヒートシンク的な役割。     設定 基本的な設定はWeb上で行えます。 設定はWeb上だけでなく、シリアルコンソール、SSHでも可能です。 今回届いたルーターのファームウェアが古かったので最新のものを当てました。   PPPoE   ファイアウォール 結構事細かく設定できると思います。 設定したポリシーが有効な時間とかまで設定できちゃいます。 すごいね!   ポートフォワーディング ポート開放の部分 ヘアピンNATにも対応してます。   その他の機能 VLAN / OSPF / RIP / SNAT / DNAT / DHCP Server /…

ファイルサーバーに使うブートディスクはUSBメモリでも良いのでは感

大学4年生になったら履修する科目は無かったはずなんですが 今年も2年生に混じって微積IIを履修することになりました。   動機 今までファイルサーバーには8GB SSDを2つ載せてRAID1で組んでいたのですが ケース内を圧迫され、HDDを積めなくなるのは嫌だったのでUSBメモリで運用してみました。   使用するUSBメモリ SanDisk Extreme USB3.0 フラッシュメモリー 32GB 型番:SDCZ80-032G-J57 ファイルサーバーとだけで使用するなら8GBでも十分なんですが PT2/PT3とかMirakurunとか載せる場合は32GBぐらいないとキツイかもしれません。   CentOS 7.3.1611をUSBにインストールしてみた [crayon-5b270e6940bd8205199061/] インストール直後はちょっと言い過ぎたんですが インストール直後にyum updateした後は1.8GBぐらい使用していました。 余裕を持って32GBぐらいにしておくと良いかもしれない。   fioでベンチマーク USBメモリなので関係ないのかな?って思うんですが non-bufferredです。 Seq Read bs -> 4k, jobs -> 64 [crayon-5b270e6940bdd572357066/] IOPS: 15173   Seq Write bs -> 4k, jobs -> 64 [crayon-5b270e6940be1881979943/] IOPS: 11914   Rand Read bs -> 4k, jobs -> 64 [crayon-5b270e6940be5262861690/] IOPS: 3057   Rand Write bs -> 4k, jobs -> 64 [crayon-5b270e6940bea693993497/] IOPS: 1604   まとめ 種類 IOPS スループット(KB/s) スループット(MB/s) レイテンシ Seq Read 15173 60693 60.7 10msec Seq Write 11914 47660 47.7 10msec Rand Read 3057 12231 12.2 50msec Rand Write 1604 6416.6 6.4 50msec ファイルサーバーでしか使わないなら必要十分だと思います。 心配性の人はUSBを数本用意してRAIDで運用したら楽しいかもしれません?

コンテナをZabbixで監視する

今までずっとKVMを使ってきましたがコンテナ型の方が軽いし速いしで 最近はコンテナ(LXC Container)を使っています。 コンテナ型はKVMと違ってエミュレートされず、cgroupでリソース管理がされるため Zabbix-Agentを入れるだけではダメなんです;;   [blogcard url=”http://www.zabbix.com/img/zabconf2015_jp/presentations/04_zabconf2015_watanabe.pdf”][/blogcard] 詳しいことは上記で説明されています。     コンテナをZabbixで監視する 既に有志がLXC用のZabbixテンプレートを作成していて公開されていますが 私の環境ではネットワークトラフィックのIn/Outが取得できませんでした(何でかは忘れた)   [blogcard url=”https://github.com/rluisr/Zabbix-LXC”][/blogcard] ということでフォークして手直しした。     Zabbix-LXC 変更点 コンテナに1つ以上のNICがある場合でもIN/OUTの転送量が取得できる(合算) 転送量がきちんと取得できるように(?) Proxmoxを使用している場合にZabbixに登録される表示名にホスト名を指定(そのまんまだとid (ex 100, 101とか)で登録される)   インストール方法 [crayon-5b270e6940e03461945658/]   テンプレートのインポート [crayon-5b270e6940e10121517510/] の2つインポート   コンテナの登録はLLDによって勝手にされるので放置してるだけで大丈夫だと思います。 オリジナルのレポジトリはPerlでディスカバリースクリプト書かれていましたが、PHPで書き直したのでちょっとね…….。 ちなみにProxmoxはデフォでsudoとphpが入ってないのでご注意。