Skip to content

node.js fsモジュールのcifs、nfsマウントしたファイルシステムに関する問題について #721

Description

@sandhill2000

環境

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モジュール自体のソースを見てみるかもしれないけど、解決ニーズなさそう

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions