ノードの運用アレコレ

2e7a8e67 anonymous 2023-02-27 15:11
どうにか、VPS経由でのノードが繋がったぽい。
でもここまで面倒なら、VPSで動かせばいいよねw
ad246f23 anonymous 2023-02-28 21:10
ざっくり言うと、
WireGuard で VPN 組んで、
Lighttpd で、Proxy した。
Proxy は socat で簡単にやってもいける。↓みたいな。
socat TCP4-LISTEN:8000,fork TCP4:10.0.2.2:8000
VPS側で、動かしといて、手元で saku を動かす。
3d2cf72a anonymous 2023-03-01 01:56
2,3日前から、nginxをリバースプロキシとして、プライベートアドレスにbindさせたsakuへ流すような構成を試しているんだけれど、なかなか安定しない。

* 4.11からHost ヘッダがサポートされたからnginxでvirtualhostを切っている
* sakuプロセスはエラーを吐いていない(ようにみえる
* node.txtもsearch.txtもじわじわと増えていくのだけど、saku単体で動かしているノードと比べて明らかに見えているノード数が違う
* 4.11以前のノードと/join/できていないのか?と思ったりしたけれど、{node,search}.txtに4.11以前のノードが入っている
* なぜか全く新着情報が増えない(/recent/ が失敗してる?
* /update/は流れてくる

もすこしがんばってみます。
da2837a0 anonymous 2023-03-01 03:38
>>ad246f23
こちらは、saku-4.10.0 で port だけ指定してますね。
それと、 WireGuard で  PersistentKeepAlive = 30 は必要でした。

>>3d2cf72a
見えてるノードがかなり違うのはこちらもそうですね。
新着の伝搬も少し遅かったりします。ちょっと長めに動かしてみようと思います。
05aefd3d anonymous 2023-03-01 08:46
これが僕の書き込み。
>>2e7a8e67
>>ad246f23
>>da2837a0
↓も設定した。
net.ipv4.ip_forward=1

↓ここを参考にさせてもらいました。
[ConoHa VPS] WireGuardでVPNサーバー構築 [Ubuntu 22.04 LTS] | Mulong.me
https://www.mulong.me/tech/linux/wireguard-vpn-ubuntu-conoha-vps/
5b537a36 anonymous 2023-03-01 11:41
>>da2837a0
一晩動かしたらsearch node数はかなり増えました。
時間かかるのね。

o 単体で動かしているノード
隣接ノード   5
探索ノード   20

o 今回設定しているノード
隣接ノード   6
探索ノード   16
1872b927 anonymous 2023-03-02 09:12 1677715974.png (156KB)
どこかおかしい感じもするけれど、一応nginxをリバースプロキシにして動いているみたい。

nginxを前段に持ってくるメリットとしては以下のものがあります。
o IPv6でアクセスできる(ノード間通信はIPv4)
o 通信経路をSSLで暗号化できる
o nginxのACLを利用できる(認証等をかけられる)
o ノード間通信ポートでserver.cgi以外へのアクセスを禁止できる(ノード間通信ポートからのgateway利用を排除)

デメリットは
o オリジナルのsakuのコードを少し修正しないと正しく動かない
   https://github.com/acemomiage/saku/commit/b72f5cb981090d3824fe1a2253974eb77492183e
o FQDNの設定が必要(virtualhostを使う場合)

しばらく運用してみて問題なさそうなら詳細まとめます。
50f7aa3f anonymous 2023-03-02 13:38
>>1872b927
apacheプロキシに対応してたから改造なしでもいけそうなんだけどな
6079a73d anonymous 2023-03-02 13:40
>>50f7aa3f
追記
Apacheと朔を組み合わせて使う方法
https://shingetsu.info/manage/apache
古いけどね
server.cgiには対応してないのかな?
d2aec77b anonymous 2023-03-03 01:15
>>6079a73d

> Apacheと朔を組み合わせて使う方法
情報ありがとう。
そのページは見たのですが、gateway.cgiを80番でアクセスさせる為のプロキシで
わたしがやりたかった構成とは少し違っていました。

server.cgiでpingを受けた時に相手のアドレスを返さなければならないのですが
server.cgiもproxyの下にいると REMOTE_ADDRではソースアドレスを取得できなくて
nginx側で書き換えられないか頑張ってみたのですがうまく行かなくて苦肉の策で
その部分を少し修正しました。
20da8493 anonymous 2023-03-09 17:20
朔のメモリ消費がやばい
仮想マシンを用意して動かしているんだけど、4GBあっても足りないぞ!
CPUも常にフル稼働だ
これは合に乗り換えた方が良いのか?
5c72072a anonymous 2023-03-09 18:15
>>20da8493
再起動してもダメなのか?
メモリーリークか無限ループなら分かるんだけど
8baf2e90 anonymous 2023-03-10 00:14
>>5c72072a
サービス再起動してもすぐにいっぱい使っちゃうんだよな

試しに合を使ってみたら、確かに朔よりもリソースの消費が控えめだな
(朔の方がレスポンスは速いが)
ab5de7f4 anonymous 2023-03-10 00:22
仮想マシンとの相性?それともレコードの量が多すぎるのか?
仮想マシン上のメモリー消費はどうなってるの?
仮想マシンだとキャッシュ済みのデーターがいつまでも残り続けたりするぞ
ed43c657 anonymous 2023-03-10 18:29
>>20da8493
sakuのキャッシュが多いとメモリ使用量は増えるけれどCPUはほとんど使わない気がする。
CPUが100%に張り付いているのなら朔ではなく別な原因があるのでは?

うちのノードでは、書き込み保持数が 311個で使用メモリ量は 20.4Mバイトです。
(Python 3.10.6, saku-4.11.0)
73cc8876 anonymous 2023-03-11 04:37
>>20da8493
Pythonの古いやつは標準ライブラリにメモリリークがあるからダメ。最新版にすればたぶんそれは直る。
それとは別に朔にもメモリリークの可能性があるけど↑の影響で調査できてない。
https://github.com/python/cpython/pull/13893
966a787f anonymous 2023-03-27 17:21
CPU使用率が高いのは、他の掲示板へ取得しにいってるからだな (制限掛けてないし)
Python は 3.9.13 を使っているけど、最新の 3.11.2 じゃないとだめなのかなあ…?

Top of this page. |

limit: 1536KB

(ノードの運用アレコレ/17/0.2MB)

Powered by shinGETsu.