You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1863 lines
40 KiB

  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <meta name="description" content="mergerfs - a featureful union filesystem">
  7. <link rel="canonical" href="https://trapexit.github.io/mergerfs/remote_filesystems/">
  8. <link rel="prev" href="../runtime_interfaces/">
  9. <link rel="next" href="../tips_notes/">
  10. <link rel="icon" href="../assets/images/favicon.png">
  11. <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.5">
  12. <title>Remote Filesystems - mergerfs</title>
  13. <link rel="stylesheet" href="../assets/stylesheets/main.8608ea7d.min.css">
  14. <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
  15. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  16. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
  17. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  18. <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  19. </head>
  20. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
  21. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  22. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  23. <label class="md-overlay" for="__drawer"></label>
  24. <div data-md-component="skip">
  25. <a href="#remote-filesystems" class="md-skip">
  26. Skip to content
  27. </a>
  28. </div>
  29. <div data-md-component="announce">
  30. </div>
  31. <header class="md-header md-header--shadow" data-md-component="header">
  32. <nav class="md-header__inner md-grid" aria-label="Header">
  33. <a href=".." title="mergerfs" class="md-header__button md-logo" aria-label="mergerfs" data-md-component="logo">
  34. <img src="../logo.jpeg" alt="logo">
  35. </a>
  36. <label class="md-header__button md-icon" for="__drawer">
  37. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
  38. </label>
  39. <div class="md-header__title" data-md-component="header-title">
  40. <div class="md-header__ellipsis">
  41. <div class="md-header__topic">
  42. <span class="md-ellipsis">
  43. mergerfs
  44. </span>
  45. </div>
  46. <div class="md-header__topic" data-md-component="header-topic">
  47. <span class="md-ellipsis">
  48. Remote Filesystems
  49. </span>
  50. </div>
  51. </div>
  52. </div>
  53. <form class="md-header__option" data-md-component="palette">
  54. <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
  55. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
  56. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
  57. </label>
  58. <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
  59. <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
  60. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
  61. </label>
  62. <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_2">
  63. <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_0" hidden>
  64. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
  65. </label>
  66. </form>
  67. <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
  68. <label class="md-header__button md-icon" for="__search">
  69. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  70. </label>
  71. <div class="md-search" data-md-component="search" role="dialog">
  72. <label class="md-search__overlay" for="__search"></label>
  73. <div class="md-search__inner" role="search">
  74. <form class="md-search__form" name="search">
  75. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
  76. <label class="md-search__icon md-icon" for="__search">
  77. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  78. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
  79. </label>
  80. <nav class="md-search__options" aria-label="Search">
  81. <a href="javascript:void(0)" class="md-search__icon md-icon" title="Share" aria-label="Share" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
  82. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"/></svg>
  83. </a>
  84. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  85. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
  86. </button>
  87. </nav>
  88. </form>
  89. <div class="md-search__output">
  90. <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
  91. <div class="md-search-result" data-md-component="search-result">
  92. <div class="md-search-result__meta">
  93. Initializing search
  94. </div>
  95. <ol class="md-search-result__list" role="presentation"></ol>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <div class="md-header__source">
  102. <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source">
  103. <div class="md-source__icon md-icon">
  104. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  105. </div>
  106. <div class="md-source__repository">
  107. mergerfs
  108. </div>
  109. </a>
  110. </div>
  111. </nav>
  112. </header>
  113. <div class="md-container" data-md-component="container">
  114. <main class="md-main" data-md-component="main">
  115. <div class="md-main__inner md-grid">
  116. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  117. <div class="md-sidebar__scrollwrap">
  118. <div class="md-sidebar__inner">
  119. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  120. <label class="md-nav__title" for="__drawer">
  121. <a href=".." title="mergerfs" class="md-nav__button md-logo" aria-label="mergerfs" data-md-component="logo">
  122. <img src="../logo.jpeg" alt="logo">
  123. </a>
  124. mergerfs
  125. </label>
  126. <div class="md-nav__source">
  127. <a href="https://github.com/trapexit/mergerfs" title="Go to repository" class="md-source" data-md-component="source">
  128. <div class="md-source__icon md-icon">
  129. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  130. </div>
  131. <div class="md-source__repository">
  132. mergerfs
  133. </div>
  134. </a>
  135. </div>
  136. <ul class="md-nav__list" data-md-scrollfix>
  137. <li class="md-nav__item">
  138. <a href=".." class="md-nav__link">
  139. <span class="md-ellipsis">
  140. Home
  141. </span>
  142. </a>
  143. </li>
  144. <li class="md-nav__item">
  145. <a href="../quickstart/" class="md-nav__link">
  146. <span class="md-ellipsis">
  147. QuickStart
  148. </span>
  149. </a>
  150. </li>
  151. <li class="md-nav__item md-nav__item--nested">
  152. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
  153. <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
  154. <span class="md-ellipsis">
  155. Installation
  156. </span>
  157. <span class="md-nav__icon md-icon"></span>
  158. </label>
  159. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
  160. <label class="md-nav__title" for="__nav_3">
  161. <span class="md-nav__icon md-icon"></span>
  162. Installation
  163. </label>
  164. <ul class="md-nav__list" data-md-scrollfix>
  165. <li class="md-nav__item">
  166. <a href="../setup/installation/" class="md-nav__link">
  167. <span class="md-ellipsis">
  168. Installation
  169. </span>
  170. </a>
  171. </li>
  172. <li class="md-nav__item">
  173. <a href="../setup/upgrade/" class="md-nav__link">
  174. <span class="md-ellipsis">
  175. Upgrade
  176. </span>
  177. </a>
  178. </li>
  179. <li class="md-nav__item">
  180. <a href="../setup/build/" class="md-nav__link">
  181. <span class="md-ellipsis">
  182. Build
  183. </span>
  184. </a>
  185. </li>
  186. </ul>
  187. </nav>
  188. </li>
  189. <li class="md-nav__item">
  190. <a href="../terminology/" class="md-nav__link">
  191. <span class="md-ellipsis">
  192. Terminology
  193. </span>
  194. </a>
  195. </li>
  196. <li class="md-nav__item md-nav__item--nested">
  197. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
  198. <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
  199. <span class="md-ellipsis">
  200. Config
  201. </span>
  202. <span class="md-nav__icon md-icon"></span>
  203. </label>
  204. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
  205. <label class="md-nav__title" for="__nav_5">
  206. <span class="md-nav__icon md-icon"></span>
  207. Config
  208. </label>
  209. <ul class="md-nav__list" data-md-scrollfix>
  210. <li class="md-nav__item">
  211. <a href="../config/options/" class="md-nav__link">
  212. <span class="md-ellipsis">
  213. Options
  214. </span>
  215. </a>
  216. </li>
  217. <li class="md-nav__item">
  218. <a href="../config/deprecated_options/" class="md-nav__link">
  219. <span class="md-ellipsis">
  220. Deprecated Options
  221. </span>
  222. </a>
  223. </li>
  224. <li class="md-nav__item">
  225. <a href="../config/branches/" class="md-nav__link">
  226. <span class="md-ellipsis">
  227. branches
  228. </span>
  229. </a>
  230. </li>
  231. <li class="md-nav__item">
  232. <a href="../config/functions_categories_and_policies/" class="md-nav__link">
  233. <span class="md-ellipsis">
  234. functions, categories and policies
  235. </span>
  236. </a>
  237. </li>
  238. <li class="md-nav__item">
  239. <a href="../config/func_readdir/" class="md-nav__link">
  240. <span class="md-ellipsis">
  241. func.readdir
  242. </span>
  243. </a>
  244. </li>
  245. <li class="md-nav__item">
  246. <a href="../config/rename_and_link/" class="md-nav__link">
  247. <span class="md-ellipsis">
  248. rename and link
  249. </span>
  250. </a>
  251. </li>
  252. <li class="md-nav__item">
  253. <a href="../config/cache/" class="md-nav__link">
  254. <span class="md-ellipsis">
  255. caching
  256. </span>
  257. </a>
  258. </li>
  259. <li class="md-nav__item">
  260. <a href="../config/readahead/" class="md-nav__link">
  261. <span class="md-ellipsis">
  262. readahead
  263. </span>
  264. </a>
  265. </li>
  266. <li class="md-nav__item">
  267. <a href="../config/inodecalc/" class="md-nav__link">
  268. <span class="md-ellipsis">
  269. inodecalc
  270. </span>
  271. </a>
  272. </li>
  273. <li class="md-nav__item">
  274. <a href="../config/threads/" class="md-nav__link">
  275. <span class="md-ellipsis">
  276. threads
  277. </span>
  278. </a>
  279. </li>
  280. <li class="md-nav__item">
  281. <a href="../config/pin-threads/" class="md-nav__link">
  282. <span class="md-ellipsis">
  283. pin-threads
  284. </span>
  285. </a>
  286. </li>
  287. <li class="md-nav__item">
  288. <a href="../config/link_cow/" class="md-nav__link">
  289. <span class="md-ellipsis">
  290. link_cow
  291. </span>
  292. </a>
  293. </li>
  294. <li class="md-nav__item">
  295. <a href="../config/fuse_msg_size/" class="md-nav__link">
  296. <span class="md-ellipsis">
  297. fuse_msg_size
  298. </span>
  299. </a>
  300. </li>
  301. <li class="md-nav__item">
  302. <a href="../config/follow-symlinks/" class="md-nav__link">
  303. <span class="md-ellipsis">
  304. follow-symlinks
  305. </span>
  306. </a>
  307. </li>
  308. <li class="md-nav__item">
  309. <a href="../config/link-exdev/" class="md-nav__link">
  310. <span class="md-ellipsis">
  311. link-exdev
  312. </span>
  313. </a>
  314. </li>
  315. <li class="md-nav__item">
  316. <a href="../config/rename-exdev/" class="md-nav__link">
  317. <span class="md-ellipsis">
  318. rename-exdev
  319. </span>
  320. </a>
  321. </li>
  322. <li class="md-nav__item">
  323. <a href="../config/symlinkify/" class="md-nav__link">
  324. <span class="md-ellipsis">
  325. symlinkify
  326. </span>
  327. </a>
  328. </li>
  329. <li class="md-nav__item">
  330. <a href="../config/nullrw/" class="md-nav__link">
  331. <span class="md-ellipsis">
  332. nullrw
  333. </span>
  334. </a>
  335. </li>
  336. <li class="md-nav__item">
  337. <a href="../config/xattr/" class="md-nav__link">
  338. <span class="md-ellipsis">
  339. xattr
  340. </span>
  341. </a>
  342. </li>
  343. <li class="md-nav__item">
  344. <a href="../config/nfsopenhack/" class="md-nav__link">
  345. <span class="md-ellipsis">
  346. nfsopenhack
  347. </span>
  348. </a>
  349. </li>
  350. <li class="md-nav__item">
  351. <a href="../config/statfs/" class="md-nav__link">
  352. <span class="md-ellipsis">
  353. statfs / statvfs
  354. </span>
  355. </a>
  356. </li>
  357. <li class="md-nav__item">
  358. <a href="../config/flush-on-close/" class="md-nav__link">
  359. <span class="md-ellipsis">
  360. flush-on-close
  361. </span>
  362. </a>
  363. </li>
  364. <li class="md-nav__item">
  365. <a href="../config/export-support/" class="md-nav__link">
  366. <span class="md-ellipsis">
  367. export-support
  368. </span>
  369. </a>
  370. </li>
  371. </ul>
  372. </nav>
  373. </li>
  374. <li class="md-nav__item">
  375. <a href="../error_handling_and_logging/" class="md-nav__link">
  376. <span class="md-ellipsis">
  377. Error Handling and Logging
  378. </span>
  379. </a>
  380. </li>
  381. <li class="md-nav__item">
  382. <a href="../runtime_interfaces/" class="md-nav__link">
  383. <span class="md-ellipsis">
  384. Runtime Interfaces
  385. </span>
  386. </a>
  387. </li>
  388. <li class="md-nav__item md-nav__item--active">
  389. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  390. <label class="md-nav__link md-nav__link--active" for="__toc">
  391. <span class="md-ellipsis">
  392. Remote Filesystems
  393. </span>
  394. <span class="md-nav__icon md-icon"></span>
  395. </label>
  396. <a href="./" class="md-nav__link md-nav__link--active">
  397. <span class="md-ellipsis">
  398. Remote Filesystems
  399. </span>
  400. </a>
  401. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  402. <label class="md-nav__title" for="__toc">
  403. <span class="md-nav__icon md-icon"></span>
  404. Table of contents
  405. </label>
  406. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  407. <li class="md-nav__item">
  408. <a href="#nfs" class="md-nav__link">
  409. <span class="md-ellipsis">
  410. NFS
  411. </span>
  412. </a>
  413. </li>
  414. <li class="md-nav__item">
  415. <a href="#smb-cifs" class="md-nav__link">
  416. <span class="md-ellipsis">
  417. SMB / CIFS
  418. </span>
  419. </a>
  420. </li>
  421. <li class="md-nav__item">
  422. <a href="#sshfs" class="md-nav__link">
  423. <span class="md-ellipsis">
  424. SSHFS
  425. </span>
  426. </a>
  427. </li>
  428. <li class="md-nav__item">
  429. <a href="#other" class="md-nav__link">
  430. <span class="md-ellipsis">
  431. Other
  432. </span>
  433. </a>
  434. </li>
  435. </ul>
  436. </nav>
  437. </li>
  438. <li class="md-nav__item">
  439. <a href="../tips_notes/" class="md-nav__link">
  440. <span class="md-ellipsis">
  441. Tips and Notes
  442. </span>
  443. </a>
  444. </li>
  445. <li class="md-nav__item">
  446. <a href="../known_issues_bugs/" class="md-nav__link">
  447. <span class="md-ellipsis">
  448. Known Issues and Bugs
  449. </span>
  450. </a>
  451. </li>
  452. <li class="md-nav__item">
  453. <a href="../project_comparisons/" class="md-nav__link">
  454. <span class="md-ellipsis">
  455. Project Comparisons
  456. </span>
  457. </a>
  458. </li>
  459. <li class="md-nav__item">
  460. <a href="../performance/" class="md-nav__link">
  461. <span class="md-ellipsis">
  462. Tweaking Performance
  463. </span>
  464. </a>
  465. </li>
  466. <li class="md-nav__item">
  467. <a href="../benchmarking/" class="md-nav__link">
  468. <span class="md-ellipsis">
  469. Benchmarking
  470. </span>
  471. </a>
  472. </li>
  473. <li class="md-nav__item">
  474. <a href="../tooling/" class="md-nav__link">
  475. <span class="md-ellipsis">
  476. Tooling
  477. </span>
  478. </a>
  479. </li>
  480. <li class="md-nav__item">
  481. <a href="../usage_patterns/" class="md-nav__link">
  482. <span class="md-ellipsis">
  483. Usage Patterns
  484. </span>
  485. </a>
  486. </li>
  487. <li class="md-nav__item md-nav__item--nested">
  488. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
  489. <label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
  490. <span class="md-ellipsis">
  491. FAQ
  492. </span>
  493. <span class="md-nav__icon md-icon"></span>
  494. </label>
  495. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
  496. <label class="md-nav__title" for="__nav_16">
  497. <span class="md-nav__icon md-icon"></span>
  498. FAQ
  499. </label>
  500. <ul class="md-nav__list" data-md-scrollfix>
  501. <li class="md-nav__item">
  502. <a href="../faq/reliability_and_scalability/" class="md-nav__link">
  503. <span class="md-ellipsis">
  504. Reliability and Scalability
  505. </span>
  506. </a>
  507. </li>
  508. <li class="md-nav__item">
  509. <a href="../faq/usage_and_functionality/" class="md-nav__link">
  510. <span class="md-ellipsis">
  511. Usage and Functionality
  512. </span>
  513. </a>
  514. </li>
  515. <li class="md-nav__item">
  516. <a href="../faq/configuration_and_policies/" class="md-nav__link">
  517. <span class="md-ellipsis">
  518. Configuration and Policies
  519. </span>
  520. </a>
  521. </li>
  522. <li class="md-nav__item">
  523. <a href="../faq/compatibility_and_integration/" class="md-nav__link">
  524. <span class="md-ellipsis">
  525. Compatibility and Integration
  526. </span>
  527. </a>
  528. </li>
  529. <li class="md-nav__item">
  530. <a href="../faq/recommendations_and_warnings/" class="md-nav__link">
  531. <span class="md-ellipsis">
  532. Recommendations and Warnings
  533. </span>
  534. </a>
  535. </li>
  536. <li class="md-nav__item">
  537. <a href="../faq/technical_behavior_and_limitations/" class="md-nav__link">
  538. <span class="md-ellipsis">
  539. Technical Behavior and Limitations
  540. </span>
  541. </a>
  542. </li>
  543. <li class="md-nav__item">
  544. <a href="../faq/why_isnt_it_working/" class="md-nav__link">
  545. <span class="md-ellipsis">
  546. "Why isn't it working?"
  547. </span>
  548. </a>
  549. </li>
  550. <li class="md-nav__item">
  551. <a href="../faq/limit_drive_spinup/" class="md-nav__link">
  552. <span class="md-ellipsis">
  553. Limiting drive spinup
  554. </span>
  555. </a>
  556. </li>
  557. </ul>
  558. </nav>
  559. </li>
  560. <li class="md-nav__item">
  561. <a href="../related_projects/" class="md-nav__link">
  562. <span class="md-ellipsis">
  563. Related Projects
  564. </span>
  565. </a>
  566. </li>
  567. <li class="md-nav__item">
  568. <a href="../media_and_publicity/" class="md-nav__link">
  569. <span class="md-ellipsis">
  570. Media and Publicity
  571. </span>
  572. </a>
  573. </li>
  574. <li class="md-nav__item">
  575. <a href="../support/" class="md-nav__link">
  576. <span class="md-ellipsis">
  577. Support
  578. </span>
  579. </a>
  580. </li>
  581. <li class="md-nav__item">
  582. <a href="../sponsorship_and_donations/" class="md-nav__link">
  583. <span class="md-ellipsis">
  584. Sponsorship and Donations
  585. </span>
  586. </a>
  587. </li>
  588. </ul>
  589. </nav>
  590. </div>
  591. </div>
  592. </div>
  593. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  594. <div class="md-sidebar__scrollwrap">
  595. <div class="md-sidebar__inner">
  596. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  597. <label class="md-nav__title" for="__toc">
  598. <span class="md-nav__icon md-icon"></span>
  599. Table of contents
  600. </label>
  601. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  602. <li class="md-nav__item">
  603. <a href="#nfs" class="md-nav__link">
  604. <span class="md-ellipsis">
  605. NFS
  606. </span>
  607. </a>
  608. </li>
  609. <li class="md-nav__item">
  610. <a href="#smb-cifs" class="md-nav__link">
  611. <span class="md-ellipsis">
  612. SMB / CIFS
  613. </span>
  614. </a>
  615. </li>
  616. <li class="md-nav__item">
  617. <a href="#sshfs" class="md-nav__link">
  618. <span class="md-ellipsis">
  619. SSHFS
  620. </span>
  621. </a>
  622. </li>
  623. <li class="md-nav__item">
  624. <a href="#other" class="md-nav__link">
  625. <span class="md-ellipsis">
  626. Other
  627. </span>
  628. </a>
  629. </li>
  630. </ul>
  631. </nav>
  632. </div>
  633. </div>
  634. </div>
  635. <div class="md-content" data-md-component="content">
  636. <article class="md-content__inner md-typeset">
  637. <a href="https://github.com/trapexit/mergerfs/edit/master/mkdocs/docs/remote_filesystems.md" title="Edit this page" class="md-content__button md-icon">
  638. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"/></svg>
  639. </a>
  640. <a href="https://github.com/trapexit/mergerfs/raw/master/mkdocs/docs/remote_filesystems.md" title="View source of this page" class="md-content__button md-icon">
  641. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg>
  642. </a>
  643. <h1 id="remote-filesystems">Remote Filesystems</h1>
  644. <p>Many users ask about compatibility with remote filesystems. This
  645. section is to describe any known issues or quirks when using mergerfs
  646. with common remote filesystems.</p>
  647. <p>Keep in mind that, like with caching, it is <strong>NOT</strong> a good idea to
  648. change the contents of the remote filesystem
  649. <a href="https://en.wikipedia.org/wiki/Out-of-band">out-of-band</a>. Meaning that
  650. you should not change the contents of the underlying filesystems or
  651. mergerfs on the server hosting the remote filesystem. Doing so can
  652. lead to weird behavior, inconsistency, errors, and even data
  653. corruption should multiple programs try to write or read the same data
  654. at the same time. This isn't to say you can't do it or that data
  655. corruption is likely but it <em>could</em> happen. It is better to always use
  656. the remote filesystem. Even on the machine serving it.</p>
  657. <h2 id="nfs">NFS</h2>
  658. <p><a href="https://en.wikipedia.org/wiki/Network_File_System">NFS</a> is a common
  659. remote filesystem on Unix/POSIX systems. Due to how NFS works there
  660. are some settings which need to be set in order for mergerfs to work
  661. with it.</p>
  662. <p>It should be noted that NFS and FUSE (the technology mergerfs uses) do
  663. not work perfectly with one another due to certain design choices in
  664. FUSE (and mergerfs.) Due to these issues, it is generally recommended
  665. to use SMB when possible. That said mergerfs should generally work as
  666. an export of NFS and issues discovered should still be reported.</p>
  667. <p>To ensure compatibility between mergerfs and NFS use the following
  668. settings.</p>
  669. <p>mergerfs settings:</p>
  670. <ul>
  671. <li><code>noforget</code></li>
  672. <li><code>inodecalc=path-hash</code></li>
  673. </ul>
  674. <p>NFS export settings:</p>
  675. <ul>
  676. <li><code>fsid=UUID</code></li>
  677. <li><code>no_root_squash</code></li>
  678. </ul>
  679. <p><code>noforget</code> is needed because NFS uses the <code>name_to_handle_at</code> and
  680. <code>open_by_handle_at</code> functions which allow a program to keep a
  681. reference to a file without technically having it open in the typical
  682. sense. The problem is that FUSE has no way to know that NFS has a
  683. handle that it will later use to open the file again. As a result, it
  684. is possible for the kernel to tell mergerfs to forget about the node
  685. and should NFS ever ask for that node's details in the future it would
  686. have nothing to respond with. Keeping nodes around forever is not
  687. ideal but at the moment the only way to manage the situation.</p>
  688. <p><code>inodecalc=path-hash</code> is needed because NFS is sensitive to
  689. out-of-band changes. FUSE doesn't care if a file's inode value changes
  690. but NFS, being stateful, does. So if you used the default inode
  691. calculation algorithm then it is possible that if you changed a file
  692. or updated a directory the file mergerfs will use will be on a
  693. different branch and therefore the inode would change. This isn't an
  694. ideal solution and others are being considered but it works for most
  695. situations.</p>
  696. <p><code>fsid=UUID</code> is needed because FUSE filesystems don't have different
  697. <code>st_dev</code> values which can cause issues when exporting. The easiest
  698. thing to do is set each mergerfs export <code>fsid</code> to some random
  699. value. An easy way to generate a random value is to use the command
  700. line tool <code>uuid</code> or <code>uuidgen</code> or through a website such as
  701. <a href="https://www.uuidgenerator.net/">uuidgenerator.net</a>.</p>
  702. <p><code>no_root_squash</code> is not strictly necessary but can lead to confusing
  703. permission and ownership issues if root squashing is enabled. mergerfs
  704. needs to run certain commands as <code>root</code> and if root squash is enabled
  705. it NFS will tell mergerfs a non-root user is making certain calls.</p>
  706. <h2 id="smb-cifs">SMB / CIFS</h2>
  707. <p><a href="https://en.wikipedia.org/wiki/Server_Message_Block">SMB</a> is a
  708. protocol most used by Microsoft Windows systems to share file shares,
  709. printers, etc. However, due to the popularity of Windows, it is also
  710. supported on many other platforms including Linux. The most popular
  711. way of supporting SMB on Linux is via the software Samba.</p>
  712. <p><a href="https://en.wikipedia.org/wiki/Samba_(software)">Samba</a>, and other
  713. ways of serving Linux filesystems, via SMB should work fine with
  714. mergerfs. The services do not tend to use the same technologies which
  715. NFS uses and therefore don't have the same issues. There should not be
  716. special settings required to use mergerfs with Samba. However,
  717. <a href="https://en.wikipedia.org/wiki/CIFSD">CIFSD</a> and other programs have
  718. not been extensively tested. If you use mergerfs with CIFSD or other
  719. SMB servers please submit your experiences so these docs can be
  720. updated.</p>
  721. <h2 id="sshfs">SSHFS</h2>
  722. <p><a href="https://en.wikipedia.org/wiki/SSHFS">SSHFS</a> is a FUSE filesystem
  723. leveraging SSH as the connection and transport layer. While often
  724. simpler to setup when compared to NFS or Samba the performance can be
  725. lacking and the project is very much in maintenance mode.</p>
  726. <p>There are no known issues using sshfs with mergerfs. You may want to
  727. use the following arguments to improve performance but your millage
  728. may vary.</p>
  729. <ul>
  730. <li><code>-o Ciphers=arcfour</code></li>
  731. <li><code>-o Compression=no</code></li>
  732. </ul>
  733. <p>More info can be found
  734. <a href="https://ideatrash.net/2016/08/odds-and-ends-optimizing-sshfs-moving.html">here</a>.</p>
  735. <h2 id="other">Other</h2>
  736. <p>There are other remote filesystems but none popularly used to serve
  737. mergerfs. If you use something not listed above feel free to reach out
  738. and I will add it to the list.</p>
  739. </article>
  740. </div>
  741. <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
  742. </div>
  743. <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  744. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
  745. Back to top
  746. </button>
  747. </main>
  748. <footer class="md-footer">
  749. <nav class="md-footer__inner md-grid" aria-label="Footer" >
  750. <a href="../runtime_interfaces/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Runtime Interfaces">
  751. <div class="md-footer__button md-icon">
  752. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
  753. </div>
  754. <div class="md-footer__title">
  755. <span class="md-footer__direction">
  756. Previous
  757. </span>
  758. <div class="md-ellipsis">
  759. Runtime Interfaces
  760. </div>
  761. </div>
  762. </a>
  763. <a href="../tips_notes/" class="md-footer__link md-footer__link--next" aria-label="Next: Tips and Notes">
  764. <div class="md-footer__title">
  765. <span class="md-footer__direction">
  766. Next
  767. </span>
  768. <div class="md-ellipsis">
  769. Tips and Notes
  770. </div>
  771. </div>
  772. <div class="md-footer__button md-icon">
  773. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
  774. </div>
  775. </a>
  776. </nav>
  777. <div class="md-footer-meta md-typeset">
  778. <div class="md-footer-meta__inner md-grid">
  779. <div class="md-copyright">
  780. Made with
  781. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  782. Material for MkDocs
  783. </a>
  784. </div>
  785. </div>
  786. </div>
  787. </footer>
  788. </div>
  789. <div class="md-dialog" data-md-component="dialog">
  790. <div class="md-dialog__inner md-typeset"></div>
  791. </div>
  792. <script id="__config" type="application/json">{"base": "..", "features": ["content.action.edit", "content.action.view", "content.code.copy", "content.code.select", "navigation.footer", "navigation.instant", "navigation.instant.prefetch", "navigation.path", "navigation.top", "navigation.tracking", "optimize", "search.share", "toc.follow"], "search": "../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
  793. <script src="../assets/javascripts/bundle.f1b6f286.min.js"></script>
  794. </body>
  795. </html>