モチベーション / 2019年7月6日
結構お仕事がbusy状況になっててうちの方は放置プレイ状況が続いてますが、二ヶ月(!?)ほど前の、P4なサーバーの寿命が気になり…を放置もできず試行錯誤中です。つまり、何もしてないかというとそうでもなく、ぼちぼちやってる、というところ。サーバーに使うにはどのボードが良さげ?
NanoPi NEO、Raspi3、rock64と転がってるったって単に転がってるわけではないんですが、この中でNanoPi NEOだけがヘッドレスでかつ複数台あるので、ファーストターゲットです。今ではラインアップからはなくなってそうですが、NanoPi NEOにはNASとして使えるタイプのボードがあったこともあり。HDDのっける点では、rock64がUSB3対応してるんでその方が良いかもと逡巡しつつな状態ではあります。
まぁとにかく、NanoPi NEOにUSBなHDDをつなげて、モノは試し。
HDDは、使い古しですが1TなSATAがあるので、それを、外付けUSB3ケースに放り込んで使います。
NanoPiでは、直接USBからブート可能なストーリーが提供されていないようですので、microSDをすっぱり捨てることはできず、u-bootと/bootのために使うことにして、それ以外をHDDに移せれば良い、と言うことになります。
ツール
シナリオは、いっぱいになってしまったHDDのパーティション引越しするような感じではありますが、armbianを使っている場合は、armbian-configのINSTALLセクションで悩むことなく実行することができます。ただ、あらかじめパーティショニングされているHDDを流用したせいなのか、パーティショナーは起動せず、rootfs移動先のパーティションの指定→そのフォーマット→移動実施と言う具合に進みました。コピーが終わるとrebootするかと聞かれますんで、再起動してやります。終わり…?
もうちっと何かあるかなと思ってたんですが、なにもなくこれですんなりできてしまいます。後はrsync…。NanoPIは、3種の手持ちボードの中ではもっともメモリ容量が小さく、対ディスクのトラフィックが多いと「おっとっと」な応答になってしまいます。しかしまぁ、microSDにswapがあるのよりは良いような気はするんですが、どんなですかね…。しばらく仮運用してみたいと思います。
止るのはなぜ… / 2019年7月28日
約一日稼働すると、どうもhddが止って、再度スピンアップできない模様で止ってしまう。しかしこれ、hdd側の自動停止なのか、Linux側によるUSBの自動停止なのか釈然としない。とにかく、hdparmを確認してみると、APM levelは254が設定されているようで、offに設定を変更。
もう一つ、USB device側のautosuspendを止めておく。/sys/bus/usb見て、ドライブを探す。これ、デバイスのバスが変わるとそれに合わせて変更する必要があるので、udevで書きたいところですがとりあえず。
hdparm -B 255 /dev/sda1
cat -1 > /sys/bus/usb/drivers/usb/5-1/power/autosuspend
参照:"Power Management for USB"
で、再び様子見。夏休みに入る前には終わらせたい…。けど、それ以前に、Nano Pi NEOのUSBは2.0までなので、これ以上パワー注ぐなら、はなから3.0対応してるrock64でやるべきかもしれない。
それだけではない何か / 2019年8月10日
ほらやっぱり夏休み… 激暑で冷房なしにはやってられないステータスですが、解決に至らずstrugglingな状態。関係ないけど、一昨日は使えたエアコンのリモコン、操作に突如エアコンが反応しなくなり…。応急運転でエアコン自体動くことは確認できたので、どうもリモコンがダメになった?とおもい、スマホカメラでIR発光するか見てみると、案の定ダメ(リモコンは大抵NIR - 可視光に近い近赤外を使っており、スマホのカメラでもその発光状態を確認できる。最近ではよく知られてると思いますが)。ということでamazonに駆け込んで調達しました。エアコンない部屋でこんな作業、到底やってられないです…。肝心のHDD。
一度rock64がよぎった以上は確認、と言うことで、rootfsだけを、USB3に接続したHDDに移動して動かしてみると、どうもディスクアクセス途上でスタックを起こします。rootfsディスクアクセスに絡む様々なエラーメッセージを発して、最終的にはrebootに至ってしまいます。
この原因が判らず、webさまよっていると、いくつか原因候補がある中で、どうやらUASに起因する、ドライバレベルの問題があるケースに該当、するような動きです。UASを使わずusb storageで運用すれば、この様な問題には至らないようです、若干、hdd側の動き方には怪しい面もありますが…。armbianではusb-storageはカーネル組み込みになっている関係で、bootloaderレベルで、該当のUSB HDDコントローラのdevice ID、product IDをusbstoragequirksに付け加えてやります。
さて、NanoPIですが、linux-sunxi.orgのUSB/UASによると、今使っているUSB3-SATAケースUNI-HAL35で使われている、JMicron TechnologyのJMS539/567は、オレパイでとはいえベンチマークに使われており、quirksには該当しないようにも思います(故のquirks?)。再起動時など勝手に電源切れてくれちゃうのがいまいち気に入らないんですがそれはさておき、むしろ使っているドライブに問題があるのかもしれません。引き続き一日で止ってしまうようであれば、やっぱりrock64で、かな~。
この暑い時期、P4ホストは室内にあるとはいえエアコンがあるところにあるわけでもなく、ファンの唸りが増してますんで、早めに切り替えたい今日この頃、です。
バトルは続くよどこまでも… / 2019年9月15日
色々試し始めてからはや2ヶ月すぎ、なところですが、安定した結果を得られないままです。この間に、本家Debianがstretchからbusterへとバージョンアップし、armbianもraspbianも同じく更新されました。現行サーバー自身はまだjessieです。それで状況が解決に向かうなら良いんですが、特に変化なし。Nanopi→rock64でUSB3を使ってもUSB2を使っても、UASを使おうがusb_storageを使おうが、スタックしてリブートかかるときもあれば単にプロセスが死ぬ、ロックするときもあれば、という状態で、一歩も進みません。HDD相性問題だとしても、商売でやってるのではないのでHDDあるいはUSB-SATAブリッジしかもケース付きを湯水のごとく買うわけにも行かず。
このエリア、ゲームでもしない限り、パフォーマンスにそれほど難点はなくなったとはいえ、armプラットではまだ無理で、x86いやx64に戻ってくるしかないのか… あるいは、その中でも安定度が比較的高いraspi3Bで妥協するか、と言うのが今日までのところです。
そしてどうなった… / 2019年11月9日
あれこれ試行錯誤をしている内に、本当にHDDの方が寿命となってしまいました(つまりエラー多発してろくに動作確認もできない)。昔のHDDてば、最後にスピンドル方面が「ぎゃっ…」と悲鳴をあげて(いや本当に音がするんです。多分ベアリングが逝っちゃうんだよね、あれ)うんともすんとも動かなくなることがよくあったんです。最近のHDDはこそこそっとエラーを発しては、どっちかというと、「仕事するの疲れたからもう寝る…起こさないでZzzz」みたいな動かなくなり方をしてくれます。結果、本当に使えないのかまだ試験用程度なら使えるのか、判らないまま深くハマっていってしまう、その泥沼の中にいた、という感じですね。
で、新に1TのHDDを調達しまして、また頭からやってる、と、そんなところです。
一時期uasに不信感があったんですが、HDD新調してからはUSB3でもUSB2でも問題なく動いてくれます。
当初rock64で動かしていたのですが、どうもzram絡みでエラーログが残るしカーネルレベルの問題の様子(本家Debianカーネルではなくubuntuカーネルでは対応がされているようないないような記述があるんですが…)であるため、インターフェースはUSB3 -> USB2ではあるもののNanoPiで現在作業中です。
時々クラッシュする(黙ってリブートする)ため、熱対策か電源対策か、その辺で何か問題があるのは間違いないのですが、32bit core processorが終息していく中、H3なNanoPiにはもうしばらく頑張っていただければと思う次第です。
LDAPサーバーの引越し準備/ 2019年12月1日
早いものでもう12月。悩み始めてもう5ヶ月も経ってしまいました。
紆余曲折のあったファイルサーバーですが、概ね一週間単位では止らず動いており、懸念があったClamAVも512Mbytesでやりくりできているようでクラッシュしないようなので、いよいよ本格的に長期間…と言う前に、もう一つ、日頃そんなに触ってないが故に問題になるところをやっておく必要がありました。
うちでは複数のLinux端末やら何やらが動いている関係で、誰がどの端末にでもログインできて使えるようにしています、当人達がそうしたいかどうかはさておき。
一時NISでやってたんですが、数年前に、何かが原因(もう忘れた…)でLDAPに移行している関係で、そいつも引っ越さないとなりません。
ということで、NaniPi NEOにopenldapをパッケージインストールして設定して…さて、引越しってどうやったら良いの?と、ググらせていただいた結果としては、単に旧サーバーでslapcatしてそいつを新しいサーバーでslapaddせい、という簡単な解。大体、そんなに日頃っからそんなところ大していじらないわけで、覚えらんねっす、というのが本音です。
というわけで、忘れていた初期設定値など現在のサーバーでslapcatした内容で確認しつつですが、大きな問題がひとつ。
LDAPはでぇたべぇすなわけで、最初に設定したjessieの時には、Berkeley DBがバックエンドのHDBで設定してました。それが最近はMDB推奨ということで、何か変更しないとならなそうです。
slapcatしたもの見ると、所々HDBというキーワードが出てきますが、そいつはMDBと書きなおしてやるだけで良いようで、かつ、MDBでサポートしないキーワードがあるがそれは削除して大丈夫、しかしslapaddしてやると何か文句言ってる。そうかそうか、初期設定した段階でslapd動いてるしデータ握られてんだからいろいろ不都合だよね、ということで、slapdを止めて、管理されてた初期設定データを削除してやります(/etc/ldap/slapd.d以下は削除してしまう)。
改めてslapaddしてやると、configデータはOKですが、ホスト、アカウントなどのデータはまだ文句言われます。いろいろググった結果としては、「重複している設定がある、と言う文句なら"-c"使え、それで大丈夫」、とのこと。
slapdを改めて動かして、slapcatしてみると、ちゃんと引越しできました!
ということで、着々と引越し準備は進んでます。 どうやら最後に残る問題は、NanoPi NEOにはアクリル板でできてるケース未満の上下ガードを付けてあるんですが、ほぼむき出しなわけです。HDDは外付けケースに入ってるとはいえそのまんま置いとくの??ということになりそうな状況です…。
最後に(?) / 2019年12月31日
のんびり?やってきたこの整備、概ね落ち着いたので最後、メイル関連の設定をして完了です。メイルったって、以前はちゃんとISPのMTAとコミュニケーションできるようにしなきゃってやってましたが、今やweb基盤のツールがほとんどなので、セットアップしなくても済んでしまう状況でもあるわけで、昔の名残り、ですね。今まではDebian defaultなexim4を使ってきてたんですが、そもそもjessieのままで長らく運用してしまった関係で、今のパッケージについていけない状況(笑)で、SMTP AUTHでひとしきり悩むことに。思い切ってpostfixに入れ替えてしまいました。もうほぼいじらない領域の事なので、先人の知恵をそのまま使わせていただくことにして、スマートホストを使用するよう初期設定しSMTP AUTHを追加することで、すんなりセットアップは終了と相成りました。ISPからの取り出しは、fetchmailしてきます。
さぁ、以上でセットアップ関係は終了です。年内に終わらせたかったんですがとうとう間に合わず、年明けにホームディレクトリの引越しをして、サービスインです!
後日譚 / 2020年1月26日
このNanoPiサーバーですが、年明けに実運用始めて見たところ、やはりClamAVが実メモリ不足で、頻繁にクラッシュしていることが観測されてしまいました(再起動するわけではない)。試験時点では間に合ってたようなんですがね…。それ以外は順調に動いていると思うのですが、しかたがないのでClamAVは停止させました。
ということで、今現在rock64へ再度移動の準備中です。
後日譚その2 / 2020年3月31日
rock64化したサーバーは順調に稼働しています。ひょんなことからRaspi3Bでubuntu bionic 64bitを試してみておりますが、その際にHDD起動にしてみました。全体に重いことは重いんですが、加えて悪いことにはUSBが飽和してしまうのか、USB audioから流れる音はブツブツ切れてしまいます。
ん〜、これでは…。こいつをサーバーにしなくてよかった…。