web-dev-qa-db-ja.com

NixOSでバインドマウントをどのように宣言しますか?

NixOS構成でバインドマウントを宣言しようとしています。以下の構成スニペットを試していますが、テストするとOSがリカバリモードになります(nixos-rebuild testを使用)。明確にするために、私は/data/srv/nfsでも到達可能であることを望んでいます。

# 
# /etc/nixos/configuration.nix
#
fileSystems."/data" = {
  device = "/dev/disk/by-uuid/bobloblaw";
  fsType = "btrfs";
};

fileSystems."/srv/nfs" = {
  device = "/data";
  fsType = "bindfs";
};

何かアドバイス?

4
kevlar1818

もちろん、この質問を投稿した直後に、NFSとバインドマウントの例に関するこのNixOSwikiの記事を見つけました。

https://nixos.wiki/wiki/NFS

TL; DR:fsTypeの代わりに、optionsを使用する必要がありました。これを書いている時点では、wikiは少し古くなっています。 optionsは文字列のリストである必要があります。

このコードスニペットは期待どおりに機能しているようです。

# 
# /etc/nixos/configuration.nix
#
fileSystems."/data" = {
  device = "/dev/disk/by-uuid/bobloblaw";
  fsType = "btrfs";
};

fileSystems."/srv/nfs" = {
  device = "/data";
  options = [ "bind" ];
};
5
kevlar1818