2017年10月28日(土) - 19:05 | カテゴリ:
Linux
今までLinuxしか触っていなかったのだが、
「食わず嫌いは悪かろう」と思い半年前辺りからラズパイも弄るようになった。
ただ、いつもの如くとりあえず購入してから用途を決めようと思っていた為、
起動させただけの箱物と化していた。
………
そんな中、ふとTwitterを見ると『Crystal Signal Pi』なるソリューションを発見。
コンセプトはその筋では有名な警子ちゃんみたいなパトランプをラズパイで実現するモジュールだった。
「余っているラズパイあるし、監視アラートに気付かない事も解決出来そうだな…」と考え、
物は試しと1セット分をamazonでポチってみた。

今回購入したCrystalSignalPiは左のラズパイ
右奥のラズパイはIPv6でRA・DNS・DHCPなどを提供する為に利用中
実験用途ならラズパイ程度で十分なので、こちらも重宝している。
インフィニットループ > Crystal Signal Pi
実際に購入したのは4月頃でずっと放置していたのだが… ヘ(゚∀゚ヘ)
纏まった時間を取る事が出来たので組立&チューニングをやってみた。
今回購入したのは、はんだ付け済となる通常版。
はんだ付け自体を楽しみたい人や、数円でも安くしたい人はキット版がオススメ。



毎度のラズパイ本体&電源ケーブル&SDカードセット。
そして、今回の主役となるCrystalSignalPiの通常版。
実際には基盤本体と専用ケースが付属しており、上記の4セットを組み立てれば完成する

完成品がこちら。組立は30分程だった。
PC自作出来る人なら問題無く組立できるレベル。



CrystalSignalPiに付属されているプラ板で基盤を挟み込むイメージで実装する。
ラズパイ基盤とCrystalSignalPi基盤の間はそれなりに空間があるので、
ラズパイ基盤のCPUにヒートシンクを載せる事も可能。というより、載せた方が放熱面で良い。
裏面は付属のゴム足を両面テープで取り付けるだけ。


画像を見るとわかるが、実装都合で上のプラ板が大きく湾曲する。
ただ、この状態で正常らしいのでこのまま使うしかない。
発光体となるプラ棒の固定は、ゴムチューブで挟み込む形となる。
これが結構抜けやすい為、接着するなり対策を考えないと行けないかも。
筆者は耐久度測定も兼ねてそのまま利用中。


完成品の大きさはこんな感じ。横幅・奥行はラズパイ基盤とほぼ同じ
高さは結構あるので、置き場所には注意が必要。
ラズパイを壁に貼り付けるなど縦置きする場合は結構邪魔になる。
その場合、アクリル棒を切断するか、短い物に換装すれば良い。
まだ自鯖監視アラートとの連携とかは出来ていないが、
curlでAPIを叩けば光る安心仕様な事もあり楽に実装出来る筈。
あと設定上はフルカラーに対応しているので、色によってアラート種別を行う事も可能。
ただし、設定は出来ても実際にはフルカラーで光らない(白が出ないなど)ので、
大雑把な分別にしか使えないかも。
ヤフオクで中古のパトランプを購入した方が安いのだが、
自由度はこちらの方が圧倒的に高いので、自力でスクリプトを挟み込んだりしたい人は、
是非CrystalSignalPiにチャレンジして欲しい。
………
余談だが、当初使っていたTEAM製のSDカードは構築過程で色々書き込んでいたらお亡くなりになられた…
ログ領域のメモリ化など対策していたが、偶然ハズレを引いてしまったのかもしれない。
という事で、安心のSanDisk製品を新たに購入。


ラズパイに書き込み速度を求めるのは色々と違うので、今回は耐久性を優先した。
どれ程違いが出るか未知数だが、書き込み耐久が96テラあるので数年は保つだろう。
« 続きを隠す
2017年10月14日(土) - 22:27 | カテゴリ:
Linux
今年は自鯖のハードウェア障害が多いな~ (´;ω;`)
現・自宅サーバ1号機を構築してから使い続けてきた、
Intel製4ポートNICが故障した。
当時、それなりに高価だったので部材在庫を確保していなかった為、
即時復旧は出来なかった。
という事で、暫定としてサブ鯖に仮想環境を寄せつつ、
処理速度が必要な物のみUSB-NICで縮退構成を取っていたのだが、
先日、4ポートNIC(本番用・保守部材)をゲットしたので入れ替えを行った。

上:今回購入したNIC『Intel PRO/1000 PT』
下:故障したNIC『Intel PRO/1000 VT』
写真を見れば判る通り、ほぼ同じ型番の物を購入。
購入したPT番の方は、自鯖2号機で絶賛稼働中の物と同じなので、
稼働実績と保守部材の共有化の観点からチョイスした。
…ぶっちゃけ、2枚1セット品が安かったという理由もあるが
載せ替えてみた所、問題無くCentOS6でLinkUPしたので良かった良かった。
壊れた方を色々と検証もしてみたのだが、恐らくチップがご臨終した可能性が高そう。
4ポートとも電力供給はされるのだが、2ポート(同チップ接続)はLinkUPしなく、
残りの2ポートはLinkUPするが、10Mbps-Fullしか使えない状況だった。
10Mbps-Full固定状態の場合、オートネゴシエーションでミスっている可能性もあるので、
ネゴを切ったり、別のL2SWに接続したりもしたが、解消しなかったので故障と断定した。

ちなみに、新NICのチップはこんな物が積んであった
………
今回、結構困ったのが縮退運転に入るまでのメールサーバ稼働確保だった。
メール配送のゲートウェイはMXレコードに4IPを載せる事で冗長化を図っているのだが、
IMAP/POP3側のサーバはActive/Standbyな冗長化が後回し状態だった。
というのも、基本的には仮想環境の方で切り替えを行う設計方針なので、
(NICが生きている限りは)勝手に切り替わるので仮想サーバの内部は放置していた。
が、今回はNICがボード事倒れた為、切り替わりすら出来なくなった…
という事で、本来は来年以降にしようと思っていたサーバ冗長化について、
流石に不味かろうというのと、今年やりたかった事は粗方終わっているので、
IMAP/POP3鯖の刷新に着手しようと思う。
« 続きを隠す
2017年09月23日(土) - 23:22 | カテゴリ:
Linux
自鯖のWEBサーバ基板をバージョンアップする為に検証していたのだが、
MariaDB-10.2.8とPHP-7.1.9でmysqliのビルドエラーが発生した。
自鯖環境の本番機はパッケージ管理と自作プラグインを噛ませる都合で、
ソースコードからビルドしているのだが、上記のエラーが発生して敢無く撃沈したので備忘録。
最終的には、MariaDB-10.1.26とPHP-7.1.9の組み合わせにした。
直接の原因かわからないが、MariaDB v10.1とv10.2では、
ソースビルド時に必要となるheaderを格納しているディレクトリの構成が変わってた。
今まではinclude直下にファイルが置かれていたのだが、
include/server配下に変更となり、PHPビルド時に参照出来なかった模様。
もちろん、PHP側はwith-mysqli、with-pdo-mysql辺りをちゃんと指定しているが駄目だった (´・ω:;.:…
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:34 から include されたファイル中:
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:63:23: error: my_global.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:79:20: error: my_sys.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:82:21: error: my_list.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:83:22: error: m_string.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:86:21: error: m_ctype.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c: In function ‘zm_info_mysqli’:
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: ‘MYSQL_SERVER_VERSION’ undeclared (first use in this function)
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: (Each undeclared identifier is reported only once
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: for each function it appears in.)
|
- PHPのconfigure時に「CPPFLAGS=”-I/usr/local/mysql/include/mysql/server/”」を追加
/usr/local/src/php-7.1.9/include/../main/php_config.h:2193:1: 警告: ここが以前の宣言がある位置です
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c: In function ‘zm_info_mysqli’:
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: ‘MYSQL_SERVER_VERSION’ undeclared (first use in this function)
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: (Each undeclared identifier is reported only once
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: for each function it appears in.)
|
- デフォルトでconfigure実行、MakefileのINCLUDESに「-I/usr/local/mysql/include/mysql/server」を追加
MariaDB、PHPのビルドは正常に完了し、ApacheとのPHP連携も出来たのだが、
PHP経由でMariaDBに接続しようとするとエラーになった。
少なくとも、DigiLoogが稼働しているWordPress環境では真っ白エラーになったり、
真っ白エラーを全て解決しても画面描写出来なかった。
- PHP自体のソースコードにあるheader-includeを全て書き換え
Makefile改造時と同じく、PHPからMariaDBに接続する箇所でエラーになった。
結構頑張ってみたが、mysqliの知見が無く断念。
………
という事で結果は「諦めた」のだが、何時かはMariaDBのバージョンを上げる必要があるので、
時間ある時に再チャレンジしてみたい所。
ただ、現在開発しているMariaDB v10.3とPHP v7.2で直る可能性もあるので、
ひとまず経過観察しようと思う。