環境
Version of EPGStation: 2.10.0
Version of Mirakurun: 4.0.0-beta.18
Version of Node: v24.2.0 (docker-mirakurun-epgstation環境)
OS: Ubuntu 24.04.3 LTS (Kernel 6.16.7)
Architecture: x64
Issue
issue #716 において運用一週間前後で不具合が出る問題について書き、NAS上のファイルシステム負荷の問題であり負荷を軽減させた、として一旦クローズしましたが、結果としてその後もやはり現象が起こりだし解決しませんでした。
その後わかったことを情報共有しておきます。
- node.jsのfsモジュールではネットワーク上のファイルシステムを扱えないわけではないが、いずれ不具合が生じる。
自分のように録画先をcifs/nfsマウントした場所にした場合録画はしばらくちゃんとできるのだが、EPGStation上からfsモジュール経由で録画の削除やrecordedTmp使用によるファイルのディレクトリ移動を何度もかけていると、いずれfsモジュール自体が不安定になって録画時のファイル作成さえも失敗するようになる。
こうなるとEPGStationを再起動するまで直らない。
- 録画先をLinuxに直接マウントしたローカルファイルシステムにすると完全に安定し、上のようなことはまったく起こらない。
つまりNAS共有(USB HDDだが)をLinuxにマウントして録画先にしているといずれ不具合が出るが、直接Linux PCに挿したUSB HDDをマウントし録画先にするとこの問題は出ない。
これが結論。
自分の環境で直接マウントにしてからはもう1カ月以上安定している。
これまでここでは他の利用者から同様の不具合報告がなさそうだが、多分録画先をcifsやnfsマウント先にする人がいなかったのだろう。
またnode.jsやfsモジュールはエンタープライズな巨大サービスでも多く使用されているはずなのになぜこの問題が表立っていないのかは、多分エンタープライズでは誰もcifsやnfsマウントなどしておらず、ファイバーチャネルやストレージ仮想化、あるいはkubernetesなどの抽象化によりOSからみてストレージが直接マウントだからではないかと想像。
結局、過去色々やってみていたNAS側のストレージ負荷やbtrfs云々は主原因ではなかったという・・
今後元気があったらfsモジュール自体のソースを見てみるかもしれないけど、解決ニーズなさそう
環境
Version of EPGStation: 2.10.0
Version of Mirakurun: 4.0.0-beta.18
Version of Node: v24.2.0 (docker-mirakurun-epgstation環境)
OS: Ubuntu 24.04.3 LTS (Kernel 6.16.7)
Architecture: x64
Issue
issue #716 において運用一週間前後で不具合が出る問題について書き、NAS上のファイルシステム負荷の問題であり負荷を軽減させた、として一旦クローズしましたが、結果としてその後もやはり現象が起こりだし解決しませんでした。
その後わかったことを情報共有しておきます。
自分のように録画先をcifs/nfsマウントした場所にした場合録画はしばらくちゃんとできるのだが、EPGStation上からfsモジュール経由で録画の削除やrecordedTmp使用によるファイルのディレクトリ移動を何度もかけていると、いずれfsモジュール自体が不安定になって録画時のファイル作成さえも失敗するようになる。
こうなるとEPGStationを再起動するまで直らない。
つまりNAS共有(USB HDDだが)をLinuxにマウントして録画先にしているといずれ不具合が出るが、直接Linux PCに挿したUSB HDDをマウントし録画先にするとこの問題は出ない。
これが結論。
自分の環境で直接マウントにしてからはもう1カ月以上安定している。
これまでここでは他の利用者から同様の不具合報告がなさそうだが、多分録画先をcifsやnfsマウント先にする人がいなかったのだろう。
またnode.jsやfsモジュールはエンタープライズな巨大サービスでも多く使用されているはずなのになぜこの問題が表立っていないのかは、多分エンタープライズでは誰もcifsやnfsマウントなどしておらず、ファイバーチャネルやストレージ仮想化、あるいはkubernetesなどの抽象化によりOSからみてストレージが直接マウントだからではないかと想像。
結局、過去色々やってみていたNAS側のストレージ負荷やbtrfs云々は主原因ではなかったという・・
今後元気があったらfsモジュール自体のソースを見てみるかもしれないけど、解決ニーズなさそう