Month: 11月 2017

  • やっちまった

     色々systemをいじっていたら、起動時のプロセスがおかしくなっていたらしく、起動できなくなっていた。  そのせいで家人の仕事に影響出しまくり  申し訳ない  多分、systemd-networkd.serviceが起動しなかった。  1分30秒でタイムアウトするのだが、また再起動しようとして失敗する、の繰り返し。  結局時間までに動かなくて、仕事に大きな迷惑をかけてしまった m(_ _)m  多分、socket関係の依存にnetworkが紛れ込んでいたためだと思う。  /etc/systemd/system/ の下の *network* ファイルの依存をとりあえず消して起動したら動いた。  ちなみにこのサーバーはxenの仮想マシンなので、dom0にログインすればリモートからでもいじれる。  これ自体は役に立ったパターンなのだが、こういう複雑なことをしているからコケやすい、のかもしれない。  前から、kernel 4.4.xじゃないとうまく動かなくて、最近なぜか4.13.xで動いたのでそれでやっていたのだが、それでも変なタイミングで止まってしまう。  どうもディスクに負荷をかけると死ぬっぽい。  単に準仮想化したいだけなのでxenじゃなくてもいいので、dockerとかsystemd-nsspawnに置き換えたいのだが、いざ変えようとするとゲスト側もそれなりにいじらなくちゃいけなくて、そこがめんどい。  特にネットワーク関係がめんどくて、ブリッジ自体はxenでもやっているのだが、nspawnだとeth0がhost0とかになるっぽくて、簡単に置き換えれそうにないので現状放置。  ていうか今こんなことやっている暇がない日程なんだけどなぁ・・・  忙しい時に限って忙しくなるマーフィーの法則を実感しつつとりあえず寝る。

  • journald-remote

     結局よくわからないままであるが何となく転送されたっぽいのでメモ  今、rsyslogでsyslogを転送しているのだが、もういい加減にsystemd-journalに移行したい。  でも転送方法がわからなくて色々やっていた。  systemd-jounarl-remote.serviceとsystemd-jounal-upload.serviceとか使えばよいのはわかっていたのだが、なんかうまくいってなかった。  受け取り側のサーバーにDNS名降っておく。syslog.daionet.gr.jpにしておく  両方のマシンにsystemd-journal-remoteをインストール  受け取り側で、 パッケージをローカル用にコピーして編集する。  systemctl edit systemd-journal-remote.service とかでもできそうな気がしたんだけど、overrideであって書き換えには向かないっぽい。  同じエントリが2つあると怒られてしまうので全部コピーして一部編集する。 # 直接/lib/systemd/system/を書き換えると、アップデートで全部消えるのでローカル用は/etc/systemdにコピーする仕様らしい cp /lib/systemd/system/systemd-journal-remote.service /etc/systemd/system/ cp /lib/systemd/system/systemd-journal-remote.socket /etc/systemd/system/ /etc/systemd/system/systemd-journal-remote.service の [Service] 内の ExecStart=/lib/systemd/systemd-journal-remote –listen-http=-3 –output=/var/log/journal/remote/ # –listen-https=-3 を –listen-http=-3にする  httpsにしたかったけどローカルだし証明書面倒だしとhttpにしてしまうことにした。 /etc/systemd/system/systemd-journal-remote.socket の [Socket] 内の ListenStream=[2001:0db8::1]:19532 BindIPv6Only=yes # ユニークローカルアドレスにするとかFWで守るとかして適当に保護。 # ListenStream=syslog.daionet.gr.jp:19532 とかやったらエラーになった。IPアドレスじゃないとダメっぽい  systemctl start systemd-journal-remote.socket ・ここは.serviceじゃなくて.socketを起動する。起動時有効にするのも.socket 送信側で、 /etc/systemd/journal-upload.conf systemctl start systemd-journal-upload.service  これで受信側の/var/log/journal/remote にコピーされた。 […]

  • fetchmail on systemd

    昔から色々やってうまくできなかったのがやっとできた。 # 難しいわけじゃなくて理解してなかっただけだがw debian/unstable/busterで、 /etc/systemd/user/fetchmail@.service :  あとは一般ユーザーで systemctl –enable now fethchmail@user.service で良いようだ。  最初、User=%IとかGroup=%Iとか付けてて失敗した。 等のエラーが出て、起動しなかった。 userユニットの場合は付けちゃダメっぽい。