2019年5月15日水曜日

ラズパイ6

ラズパイを色々弄っていて広告ブロックをしようとしてみたが、あまり調子がよろしくないので一時中断。もともと実現したかったSoftEtherサーバ機能はどうやらうまく動いている(Windows環境でサーバ設定が出来るので楽です。)ようなので、DDNS設定(ieserver)をしてみようと思う。

https://qiita.com/yoh-nak/items/bce6893b9b7eb3eec70f

この説明の中に無いことがある。それは、もとのテキストファイルは文字コードがSJISなのです。なので、cron登録する際に文字コードを指定時にSJISとしなければなりません。私はテキストファイルの文字コードをUTF-8に変換したつもりになって、cron登録もUTF-8と記載していて、エラーが出てスクリプトが動かなくてハマった。

あと、動作したら兎に角メールでお知らせしようという仕様がcronなんで、「MAILTO=""」を追加して、メールしないようにしました。

更に、我が家のASUSルータはポートフォワーディングがLAN側なら可能だがWiFi側はダメっぽいので、急遽有線LANに切り替えた。有線LANなら安定して外部からスマホで接続も確認出来た。

cronなどの動きを観察するには以下を実行。
tail -f /var/log/syslog
http://itkatsuyounikki.blog.fc2.com/blog-entry-22.html

【まとめ】
1.ddns-update.txtをダウンロード
2.テキストエディタでログ保存場所とアカウント情報を編集&上書き
3.ddns-update.txtのあるフォルダで端末を開きコピー↓
  sudo cp ddns-update.txt /usr/local/bin/ddns/ddns-update.pl
4.ファイル・フォルダのパーミッションを変更
  sudo chmod 755 ddns-update.pl ←ファイルの実行を許可
  sudo chmod 777 ddns ←フォルダにフルアクセスを許可
5.crontab -eでcronに登録
  MAILTO=""
  8,38 * * * * export LANG=ja_JP.SJIS; /usr/local/bin/ddns/ddns-update.pl
7.tail -f /var/log/syslogでcronで動いているのを確認
  私の環境ではCMD実行と終了時刻が出てた↓
   May 1 10:18:01 raspberrypi CRON[4537]: (pi) CMD ([4541] /usr/local
   /bin/ddns/ddns-update.pl)
   May 1 10:18:03 raspberrypi CRON[4537]: (pi) END ([4541] /usr/local
   /bin/ddns/ddns-update.pl)

というような手順でした。SoftEtherにはl2tpも設定し、VNCもポートフォワード設定もしたので、VPN経由せずともスマホからラズパイの様子を見れるようになった。

【重大だけど余談】
tail -f /var/log/syslogを見たらDDNS以外でエラーが出ていた。何かのデータをロストしたとか延々と30秒おきに繰り返し出る状況が続いている。

May 5 16:18:33 raspberrypi kernel: [ 179.908087]
May 5 16:18:33 raspberrypi kernel: [ 179.908184] EXT4-fs (sda2): Delayed block allocation failed for inode 12599329 at logical offset 56 with max blocks 1 with error 117
May 5 16:18:33 raspberrypi kernel: [ 179.908197] EXT4-fs (sda2): This should not happen!! Data will be lost
May 5 16:18:33 raspberrypi kernel: [ 179.908197]
May 5 16:19:03 raspberrypi kernel: [ 210.147956] EXT4-fs (sda2): Delayed block allocation failed for inode 10230340 at logical offset 313 with max blocks 4 with error 117
May 5 16:19:03 raspberrypi kernel: [ 210.147980] EXT4-fs (sda2): This should not happen!! Data will be lost
May 5 16:19:03 raspberrypi kernel: [ 210.147980]

MicroSDで作ったRaspbian環境を余っていたHDDにコピーし動作テストをしてたワケですが、過去にバッドクラスタの出たハードディスクだったのが悪かったようです。動かし続けていたら、反応が鈍くなってきたので再起動しようとしたら「システム中のファイルを開きすぎです」というメッセージが出て「Shutdown,Reboot,Logout」の選択画面が出なくなってしまい、止む無く電源を引っこ抜いた。他Linuxでは英語で「Too many open files」という風に出るヤツのようです。
というわけで、結局、半壊HDDで稼働させるのは止め、MicroSD起動に戻しました。とりあえずスワップ増量もしましたが、私の用途では殆どスワップは使われないようなので、MicroSD寿命にも大した影響は無さそうです。


SoftEther環境が出来たし、どこからでもVNCで操作出来る利便性も手に入れた。モニタ・キーボード無しのラズパイは個人で使うにはとても便利。今後は、現在ルータにUSBHDDを接続してNAS機能を使っているが転送速度が3MB/sしか出ないので、ラズパイにUSBHDDをぶら下げ速度向上させようようと思っている。
こんなに小さくて省電力で楽しいPCは他に無いので、次世代ラズパイが出たら使う使わないは関係なく絶対買うと決意しましたよw。

0 件のコメント: