Де у файловій системі слід зберігати спільні дані?


44

Де у файловій системі unix є звичайне місце для збереження даних, що не належать користувачеві, наприклад, даних, що передаються через nfs або ftp, або резервного копіювання?

Я, очевидно, міг би створити та використовувати будь-яку довільну папку (наприклад, / home / shared, / data або / var / data), але мені дуже цікаво, чи є якісь "найкращі" чи "загальні" рекомендації щодо практики. Filesystem Hierarchy Standard не визначає місце розташування для загальних даних.

Для резервного копіювання я, як правило, використовую / var / backups, але, як кілька записів до нього записують, чи справді це слід залишити для їх використання?

Відповіді:


29

На це питання , мабуть, є чіткий відповідь у Стандарті ієрархії файлової системи , який визначає /srvяк "містять [ing] дані для конкретних сайтів, які обслуговуються цією системою" . (3.16.1)

Основна мета цього уточнення полягає в тому, щоб користувачі могли знайти розташування файлів даних для певної послуги , і щоб сервіси, яким потрібне єдине дерево для перегляду лише даних, даних, що записуються, та сценаріїв

(мій акцент)

Примітка: "Обслуговується системою" не обов'язково посилається на Інтернет. Це навіть не означає мережу. Це застосовно навіть до спільної системи. Далі, слова сайт та сервіс слід розуміти в їх значенні до Інтернету. На вашому сайті може бути "відділ фізики" або "бюро фінансів".

Продовжує говорити:

У великих системах може бути корисно структурувати / srv за адміністративним контекстом, наприклад / srv / physics / www, / srv / compsci / cvs тощо. Цей параметр відрізнятиметься від хоста до хоста. Тому жодна програма не повинна покладатися на конкретну структуру підкаталогу існуючих / srv або даних, які обов'язково зберігаються в / srv. Однак / srv завжди повинен існувати в системах, сумісних з FHS, і повинен використовуватися як місце за замовчуванням для таких даних.

Тому слід додатково структурувати ваші дані в каталогах , таких як /srv/nfs, /srv/backupі так далі.

Я також повинен зазначити, що мало хто вже робить це. Але немає вагомих причин, чому вони цього не роблять. Стандарт ні в якому разі не застарілий.

/varтрадиційно використовується для таких речей, як шпулі для друку та файли журналів, але він також використовується веб-сервером Apache (так чи інакше в системах Debian - використання SUSE / srv); Здається, немає єдиної думки щодо того, чи /varє правильним каталогом спільних даних. Але якщо ви вирішите використовувати його замість цього, у вас не буде жалю, я впевнений.

Зауважте також: відповідь Картіка аж ніяк не є помилковою. FHS каже / srv "слід використовувати як місце за замовчуванням для таких даних", але стандарт залишає місце для власних уподобань, залежно від того, як ви інтерпретуєте терміни.


4
Зауважте, що Debian (і Red Hat) почали вводити файли Apache /var/www, раніше вони /srv/були частиною FHS.
— mattdm

Хороше пояснення, дякую, хоча здається, що відповідь на питання "насправді не існує стандарту, який насправді дотримується". Можливо, це повинно бути, можливо, це насправді не має значення.
— misterben

Ну, ви завжди повинні порушувати правила, коли маєте вагомі підстави. Але я вважаю, що цей стандарт ретельно дотримується у багатьох масштабних розгортаннях.
— Стефано Палацо

Люди, які хотіли б перейти до загального стандарту, повинні вважати цю відповідь однозначно правильною на основі FHS.
— Джеремі

13
  • Дані, що не належать користувачеві, можуть зберігатися в / usr / local / var, щоб вони більше не опинилися на спільному ресурсі newtwork.
  • Все, що не перебуває під ../local/ .., дозволено закінчувати спільну доступність nfs, тому якщо ви хочете завантажити дані із загальної інформації nfs та переконайтеся, що вони зберігаються локально на жорсткому диску машини.
  • Тоді вам слід вибрати шлях із ... / local / .. у ньому .... решта залежить від характеру даних, від його типу. Це може бути / local / var або / local / tmp тощо .

Ієрархія файлової системи:
alt текст

Подивіться також на це


1
Хоча це корисне подання FHS, воно все ще не пропонує стандартного місця для спільного сховища даних.
— misterben

FSH заявляє, що: / usr - це доступ, доступний лише для читання. Це означає, що / usr має бути доступним для доступу між різними хостами, сумісними з FHS, і не слід писати на них . Гммм, тому, здається, це залежить від того, яка мета вашої частки.
— htorque

@htorque Я схиляюся до думки десь під / var, найбільш підходить для спільного використання файлів, як ви запропонували у своїй (тепер видаленій) відповіді.
— misterben

1
Я видалив свою відповідь, оскільки FHS також стверджує, що: Програми, як правило, не повинні додавати каталоги на верхній рівень / var. Такі каталоги слід додавати лише за умови, що вони мають певний загальносистемний вплив, і за погодженням зі списком розсилки FHS. - FHS просто не хоче, щоб ви ділилися (для запису) даними! : P
— htorque

Дякую, корисний огляд, як і інша відповідь, він справді слугує для підтвердження того, що немає остаточної відповіді, яка сама по собі корисна.
— misterben

5

Я не думаю, що FHS визначає будь-яке місце для спільних даних користувачів. Користувачі до тих, де вони хочуть зберігати там спільні дані. Я зазвичай використовую /usr/local/sharedабо /home/shared.


1

Я бачив, як /exportраніше служив з nfs та /mntвикористовував для монтажу частки nfs локально, у корпоративному середовищі, як це запропоновано в документації NFS, стандарт, який я підозрюю, що спочатку прийшов із програми Sun OS, пізніше перейменованої в Solaris.

В /etc/exportsіменах файлів, що експортуються томів і /exportsкаталоги служать їм для віддалених користувачів, які змонтують їх на /mnt. Хост сервера може також змонтувати ці ж спільні /mntділянки на використанні того ж демона nfs для використання будь-яких клієнтів або процесів, що працюють локально на сервері, щоб зберегти сумісність з будь-якими віддаленими хостами і, можливо, зберегти функціональність вирівнювання завантаження, квот тощо.

Це наближається до "стандарту", який він отримує. Зауважте, що /exportнемає у FHS, тому /exportбуло додано самостійно, тому, мабуть, ніхто не задоволений /srv. Можливо, через потенційну плутанину з "послугами", які працюють як демони, а не "обслуговуються" томи. /exportоднозначно названий з малою ймовірністю плутанини. Я ніколи нічого не бачу /srv.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.