UXからアップデートを行うと、最終的にはコマンドラインアップデートを実行する必要があるというメッセージが表示されます。これはDebianではなく、ベースとなるDiscourseイメージに依存します。
そして、2コンテナ方式ではGUIの更新ボタンは全くなくなるということでよろしいでしょうか?
GUIのアップデートは discourse_docker プラグインから提供されます。そのプラグインをお持ちであれば、GUIのアップデートが適用されます。
画像操作ツールで脆弱性が発見された場合、過去にリモートコード実行例外が発生したことは間違いありません。つまり、システムが侵害されるのは画像アップロード1回分ということです。
Clear Linuxは、Linuxでの起動速度の基準を設定しました。素晴らしい仕事であり、心から推奨します。
ああ、それは少し状況を変えますね。なぜか、GUIアップデーターが標準的でない2コンテナのインストールでは機能しないと思っていました。その場合、管理者が技術的に有能である限り、2コンテナのインストールにはあまりデメリットがないように思えます。例えば、携帯電話だけで旅行中に、主要なDiscourseのセキュリティアップデートが出た場合でも、SSHアクセスなしで少なくともそれを適用できるので、GUIアップデートは絶対に欲しいです。
それが私の考えです。PostgresまたはRedisのアップグレードでデータコンテナを再構築する必要があるときを知るために注意を払うだけで十分です。また、./launcher bootstrap web_only && ./launcher destry web_only; ./launcher start web_onlyを実行する必要があることも知っておく必要がありますが、それはそれほど難しくありません。単に./launcher rebuild web_onlyを実行することもできますが、再構築中はサイトがダウンします。
念のため補足しておきます。Web UI のビルドには通常、ダウンタイムは全くありません。ブートストラップ/破棄/開始には最小限のダウンタイムがあり、ドキュメントに記載されているように、外部の Nginx を使用してメンテナンス ページを提供する場合にのみ、通常どおり実行します。しかし、これはコンテナに IPv6 アドレスを割り当てるためだけでも、常に良い習慣です。
はい、ありがとうございます。2コンテナのインストールでも、コンテナの再構築が必要な場合にDiscourseダッシュボードの通知は引き続き表示されますか?その場合、アプリコンテナのみを再構築するか、データコンテナも再構築するかを判断できますか?
はい。まだ「バージョンのみ変更」の3.1.0.beta1アップデートを適用していないため、今すぐ確認できます。![]()
これは「問題ないうちは問題ない」というケースです。UIでのアップデートが失敗したときにユーザーはパニックになりますが、問題を回避するために git pull; ./launcher rebuild app を実行する必要があることを知りません。これは、GUIのアップデートが無効になる変更があるたびに発生していると思います。今回もまた発生しました。
このパニックは、この経験を避けるための、一貫性のある通常のアップデートメカニズムを持つことの重要性を浮き彫りにしていると感じます。
同時に、ブートストラップが実行中のシステムを破損させる、これもまた稀なケースに遭遇しました。ゼロダウンタイムアップデートは、年に1、2回程度、このように壊れることがありますか?そのため、ブートストラップと破棄/開始の間に遅延を設けないでください。
それを明確にするためにテキストを更新する必要があります。次にそうします。
LibreTranslate をまだデプロイしていませんが、サイトの国際的な利用可能性を高めるためにデプロイすることを検討しています。
もし成功したら、それを最初の投稿に編集するつもりです。![]()
これの多くは私には難しすぎますが、感謝を伝えたいです。なぜなら、調整の提案とコミュニティの運営への影響についての説明があった、あなたが言及したいくつかの設定だけでも、私にとっては非常に貴重だったからです!
対象読者以外にもお役に立てたようで嬉しいです。
私は数日前にこれを使って新しいDiscourseインスタンスを立ち上げましたが、私自身もすべてを覚えていないので、私にとっても役立ちました。![]()
Wiki の THP 設定に問題があるかもしれません。
Ubuntu で Redis を使用している際に問題が発生していました。
Your Redis network connection is performing extremely poorly. Last RTT readings were [96585, 101554, 97189, 99769, 94618], ideally these should be < 1000. Ensure Redis is running in the same AZ or dat
Wiki に従っていたので THP はすでに無効になっていると思っていましたが、実際にはまだ有効でした
。THP を無効にすると、私の記憶が正しければ(去年の後半)、上記の件は解決しました。
Ubuntu 24.04 LTS(現在の Wiki に従う):
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
echo 'sys.kernel.mm.transparent_hugepage.enabled=never' > /etc/sysctl.d/10-huge-pages.conf
cat /etc/sysctl.d/10-huge-pages.conf
# 出力:
# sys.kernel.mm.transparent_hugepage.enabled=never
sudo sysctl --system
# 出力:
* Applying /usr/lib/sysctl.d/10-apparmor.conf ...
* Applying /etc/sysctl.d/10-bufferbloat.conf ...
* Applying /etc/sysctl.d/10-console-messages.conf ...
* Applying /etc/sysctl.d/10-huge-pages.conf ...
* Applying /etc/sysctl.d/10-ipv6-privacy.conf ...
* Applying /etc/sysctl.d/10-kernel-hardening.conf ...
* Applying /etc/sysctl.d/10-magic-sysrq.conf ...
* Applying /etc/sysctl.d/10-map-count.conf ...
* Applying /etc/sysctl.d/10-network-security.conf ...
* Applying /etc/sysctl.d/10-ptrace.conf ...
* Applying /etc/sysctl.d/10-zeropage.conf ...
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
* Applying /etc/sysctl.d/99-cloudimg-ipv6.conf ...
* Applying /usr/lib/sysctl.d/99-protect-links.conf ...
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
kernel.apparmor_restrict_unprivileged_userns = 1
net.core.default_qdisc = fq_codel
kernel.printk = 4 4 1 7
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
kernel.kptr_restrict = 1
kernel.sysrq = 176
vm.max_map_count = 1048576
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
kernel.yama.ptrace_scope = 1
vm.mmap_min_addr = 65536
kernel.pid_max = 4194304
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
fs.protected_fifos = 1
fs.protected_hardlinks = 1
fs.protected_regular = 2
fs.protected_symlinks = 1
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
AlmaLinux 10(現在の Wiki に従う):
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
echo 'sys.kernel.mm.transparent_hugepage.enabled=never' > /etc/sysctl.d/10-huge-pages.conf
cat /etc/sysctl.d/10-huge-pages.conf
# 出力:
# sys.kernel.mm.transparent_hugepage.enabled=never
sudo sysctl --system
# 出力:
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
* Applying /etc/sysctl.d/10-huge-pages.conf ...
* Applying /usr/lib/sysctl.d/10-map-count.conf ...
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
* Applying /usr/lib/sysctl.d/50-default.conf ...
* Applying /usr/lib/sysctl.d/50-libkcapi-optmem_max.conf ...
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
* Applying /usr/lib/sysctl.d/50-redhat.conf ...
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
kernel.yama.ptrace_scope = 0
vm.max_map_count = 1048576
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
kernel.core_pipe_limit = 16
fs.suid_dumpable = 2
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.eth0.rp_filter = 2
net.ipv4.conf.eth1.rp_filter = 2
net.ipv4.conf.lo.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.eth1.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.eth0.promote_secondaries = 1
net.ipv4.conf.eth1.promote_secondaries = 1
net.ipv4.conf.lo.promote_secondaries = 1
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 1
fs.protected_fifos = 1
net.core.optmem_max = 81920
kernel.pid_max = 4194304
kernel.kptr_restrict = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth1.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
これは Wiki に適した内容でしょうか?現在テストした Ubuntu 24.04 および AlmaLinux 10 では機能したようです。
echo 'w /sys/kernel/mm/transparent_hugepage/enabled - - - - never' | sudo tee /etc/tmpfiles.d/10-huge-pages.conf
sudo systemd-tmpfiles --create /etc/tmpfiles.d/10-huge-pages.conf
確認するには:
cat /sys/kernel/mm/transparent_hugepage/enabled
期待される出力:
always madvise [never]
それは良かったです。それが役立つかどうか分からない場合、私たちはただお互いを模倣しているだけかもしれませんね!
/etc/sysctl.d が非推奨になったとは思えません。そこにリストされている他のファイルを確認し、どれが /etc/sysctl.d/10-huge-pages.conf を上書きしているか確認してもらえますか?おそらく、それらの 50-priority ファイルのいずれかでしょうか?
より良い解決策は、huge-pages の設定の優先順位を変更して勝たせることでしょう。しかし、私は現在どちらのバージョンも自分のシステムでは実行していません。
また、tuned が設定を上書きしていないかも確認してください。
THP構成の適用に問題があったのは、vm.overcommit.memoryが/etc/sysctl.d経由で期待どおりに適用されたときだけでした。これは昨年末にサーバーで確認され、解決されました。そのため、昨日いくつかのマイクロVPSで確認を試みました。
THP構成に影響を与えているデフォルトの.confファイルがあるかどうかを確認するために、クリーンなAlmaLinux 9マイクロVPSでこれを試しました。
echo always | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# always
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
sysctl --system
# 出力:
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
* Applying /usr/lib/sysctl.d/50-default.conf ...
* Applying /usr/lib/sysctl.d/50-libkcapi-optmem_max.conf ...
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
* Applying /usr/lib/sysctl.d/50-redhat.conf ...
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
kernel.yama.ptrace_scope = 0
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
kernel.core_pipe_limit = 16
fs.suid_dumpable = 2
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.eth0.rp_filter = 2
net.ipv4.conf.eth1.rp_filter = 2
net.ipv4.conf.lo.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.eth1.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.eth0.promote_secondaries = 1
net.ipv4.conf.eth1.promote_secondaries = 1
net.ipv4.conf.lo.promote_secondaries = 1
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 1
fs.protected_fifos = 1
net.core.optmem_max = 81920
kernel.pid_max = 4194304
kernel.kptr_restrict = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth1.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# [always] madvise never
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# never
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# always madvise [never]
sysctl --system
# 出力:
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
* Applying /usr/lib/sysctl.d/50-default.conf ...
* Applying /usr/lib/sysctl.d/50-libkcapi-optmem_max.conf ...
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
* Applying /usr/lib/sysctl.d/50-redhat.conf ...
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
kernel.yama.ptrace_scope = 0
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
kernel.core_pipe_limit = 16
fs.suid_dumpable = 2
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.eth0.rp_filter = 2
net.ipv4.conf.eth1.rp_filter = 2
net.ipv4.conf.lo.rp_filter = 2
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.eth1.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.eth0.promote_secondaries = 1
net.ipv4.conf.eth1.promote_secondaries = 1
net.ipv4.conf.lo.promote_secondaries = 1
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 1
fs.protected_fifos = 1
net.core.optmem_max = 81920
kernel.pid_max = 4194304
kernel.kptr_restrict = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.eth1.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
cat /sys/kernel/mm/transparent_hugepage/enabled
# 出力:
# always madvise [never]
だからこそ、上書きを適用する優先順位について十分な情報に基づいた変更ができるように、実際のファイルを確認して、何がそれを上書きしているのかを見つけるように頼んでいるのです。
私の現在の(限定的な)理解では、以前の投稿からのコマンド/出力は、オーバーライドがないことを示しています。
クリーンなAlmaLinux 9インスタンスでファイルを調べたところ:
これらは空の結果を返しました。
grep -r "transparent_hugepage" /usr/lib/sysctl.d/ /etc/sysctl.d/ /etc/sysctl.conf
grep -r "transparent" /usr/lib/sysctl.d/ /etc/sysctl.d/ /etc/sysctl.conf
grep -r "huge" /usr/lib/sysctl.d/ /etc/sysctl.d/ /etc/sysctl.conf
grep -r "page" /usr/lib/sysctl.d/ /etc/sysctl.d/ /etc/sysctl.conf
confファイル内のデフォルト値:
/usr/lib/sysctl.d/50-redhat.conf:kernel.kptr_restrict = 1
/usr/lib/sysctl.d/50-redhat.conf:net.ipv4.conf.default.rp_filter = 1
/usr/lib/sysctl.d/50-redhat.conf:net.ipv4.conf.*.rp_filter = 1
/usr/lib/sysctl.d/50-redhat.conf:-net.ipv4.conf.all.rp_filter
/usr/lib/sysctl.d/10-default-yama-scope.conf:kernel.yama.ptrace_scope = 0
/usr/lib/sysctl.d/50-libkcapi-optmem_max.conf:net.core.optmem_max = 81920
/usr/lib/sysctl.d/50-coredump.conf:kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
/usr/lib/sysctl.d/50-coredump.conf:kernel.core_pipe_limit=16
/usr/lib/sysctl.d/50-coredump.conf:fs.suid_dumpable=2
/usr/lib/sysctl.d/50-default.conf:kernel.sysrq = 16
/usr/lib/sysctl.d/50-default.conf:kernel.core_uses_pid = 1
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.default.rp_filter = 2
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.*.rp_filter = 2
/usr/lib/sysctl.d/50-default.conf:-net.ipv4.conf.all.rp_filter
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.default.accept_source_route = 0
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.*.accept_source_route = 0
/usr/lib/sysctl.d/50-default.conf:-net.ipv4.conf.all.accept_source_route
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.default.promote_secondaries = 1
/usr/lib/sysctl.d/50-default.conf:net.ipv4.conf.*.promote_secondaries = 1
/usr/lib/sysctl.d/50-default.conf:-net.ipv4.conf.all.promote_secondaries
/usr/lib/sysctl.d/50-default.conf:-net.ipv4.ping_group_range = 0 2147483647
/usr/lib/sysctl.d/50-default.conf:-net.core.default_qdisc = fq_codel
/usr/lib/sysctl.d/50-default.conf:fs.protected_hardlinks = 1
/usr/lib/sysctl.d/50-default.conf:fs.protected_symlinks = 1
/usr/lib/sysctl.d/50-default.conf:fs.protected_regular = 1
/usr/lib/sysctl.d/50-default.conf:fs.protected_fifos = 1
/usr/lib/sysctl.d/50-pid-max.conf:kernel.pid_max = 4194304
私は Discourse インスタンスで AlmaLinux 9 を実行しており、提供した設定はすべてのインスタンスで THP を正常に無効にしました。sysctl.d を介した THP の無効化が、オーバーライドがない場合に機能せず、tuned がそれを上書きしていない場合、それはバグだと思います。
AlmaLinux 10 ではもはや機能しないと言っていたと思ったので、そこで適用されないのは何が原因なのか尋ねていました。