Почему ядро Linux сообщает “из дискового пространства”, когда в действительности это вне i-узлов

Поскольку это ищет Wiki хинду, они, кажется, волнуются по поводу ее безопасности:

http://en.gentoo-wiki.com/wiki/Samba#Non-Privileged_Mounting

Они показывают Вам, как сделать это вручную, но также и предупредить Вас об угрозах безопасности.

Выше того раздела в первых строках страницы они также отмечают следующее:

Примечание: net-fs/mount-cifs, старый помощник монтирования, больше не необходим, поскольку текущая стабильная версия net-fs/samba включает всю свою функциональность.

Таким образом, у Вас, кажется, есть оба варианта, но они рекомендуют использовать самбу, она имеет флаг USE 'клиент', таким образом, Вы не должны устанавливать все. (Это было довольно долгое время, не используя хинду),

10
19.01.2014, 13:17
2 ответа

Единственный код ошибки, ENOSPC, используется для создания отчетов об обеих ситуациях, следовательно то же сообщение об ошибке.

Сохранять соответствие ISO C и POSIX стандарты, у разработчиков ядра нет выбора, кроме как использовать единственный код ошибки для обоих событий. Добавление нового кода ошибки повредило бы существующие программы.

Однако, поскольку придерживание традиционных сообщений об ошибках не AFAIK обязательный, ничто не должно запрещать разработчику делать единственное сообщение более четким, как, например, out of disk/inode space

Технически, ли быть из пространства inode или из пространства данных является тем же, т.е. это означает, что существует недостаточно свободного пространства на диске для системного вызова для следования.

Я предполагаю, что Вы не собирались жаловаться, сообщают ли о Вашем диске как полном, в то время как существуют все еще свободные inodes слоты.

Отметьте это файловые системы как JFS, XFS, ZFS и btrfs выделите inodes динамично также - никакая выставка эта проблема больше.

18
27.01.2020, 20:00
  • 1
    Недавние файловые системы включают ext4? –  Camilo Martin 15.01.2014, 06:42
  • 2
    @CamiloMartin ответа я не думаю, что он делает. –  jlliagre 15.01.2014, 09:02
  • 3
    @CamiloMartin, К сожалению, не, ext4 выделяет inodes во время создания фс как ext2/3 и не может быть изменен позже. –  Matt 15.01.2014, 10:21
  • 4
    @mindthemonkey! Это - вероятно, некоторая вещь назад-совместимости, я предполагаю. То, что другая файловая система имеет хорошие функции, но достаточно стабильна (действительно ли btrfs стабильно)? ext4, кажется, своего рода "выбор по умолчанию" (по крайней мере, с моей точки зрения новичка). –  Camilo Martin 16.01.2014, 19:33
  • 5
    Да расширение всегда было расширениями предыдущей версии и назад совместимый так никакие существенные изменения, но это означает, что этим остаются довольно твердым и стабильным. Я лично делаю все свое устройство хранения данных большого объема на freebsd полях с ZFS. BTRFS все еще считают "нестабильным", хотя большинство дистрибутивов, по крайней мере, позволит Вам использовать его. –  Matt 16.01.2014, 21:17

Я предполагаю, что Ваш друг использует фс расширения, потому что ее из нескольких разумных фс, которые могут исчерпать inodes.

Это появилось бы Ваш друг или играло с его файловой системой и повредило его, или имеет смехотворно большой объем нескольких ТБ. Inodes не являются use-once-and-throw далеко вещь. Если у него действительно закончился inodes, это означает, что у него есть смехотворно много файлов и каталогов..., которые могут произойти на a> 4 ТБ (образованное предположение) объем, где "только" 700 ГБ свободны. Для семейства расширений фс определяется количество inodes, когда фс создается. От mkfs.ext4 страница справочника:

-i bytes-per-inode
          Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode
          bytes of space on the disk.  The larger the bytes-per-inode ratio, the fewer inodes
          will  be  created.  This value generally shouldn't be smaller than the blocksize of
          the filesystem, since in that case more inodes would be made than can ever be used.
          Be  warned  that  it is not possible to expand the number of inodes on a filesystem
          after it is created, so be careful deciding the correct value for this parameter.

Сокращать остаток от этого ответа: Это означает mkfs или предоставлен такое отношение, или оно примет тот. Если Ваш друг использует фс по-другому, чем принятый выбранное отношение, может быть неправильным при его варианте использования, и он добирается, та ошибка... заполняющая единственный объем мульти-ТБ тоннами маленьких файлов, может считать как таковым.

Ваш друг использует некоторую настольную среду, которая реализует понятие "корзины" для файлов или каких-либо других форм резервных копий, которые могут создать большой объем файлов? Возможно, он может решить свою проблему путем простого избавления от ненужных файлов.

Я помню эту проблему с ext2 приблизительно со времени, когда ядро 2.4 было довольно новым. Как показывает опыт, я всегда использую XFS для объемов, которые являются очень большими по сравнению с тем, что в настоящее время распространено. В настоящее время я называл бы все между 250 ГБ к 1 ТБ характерным для единственного объема, и мы можем купить жесткие диски на 4 ТБ. Таким образом для всего> 3 ТБ я использовал бы XFS, чем расширение. Просто эмпирическое правило, но не исчерпывали inodes в течение долгого времени...

2
27.01.2020, 20:00
  • 1
    я боюсь, что Вы не отвечаете на вопрос, который задают. –  jlliagre 15.01.2014, 02:20
  • 2
    Верный. Я был видом, пытающимся отвечать на первый встроенный вопрос, который я поразил, "Кто-либо знает, почему это происходит?", но не тот в заголовке. –  Bananguin 15.01.2014, 14:48
  • 3
    Право. Мой друг знает то, что произошло. Он делал своего рода систему резервного копирования, где она хранила возрастающие Несжатые изменения (ни TAR'd) так, чтобы были все эти крошечные небольшие файлы, занимающие место. Я не думаю, что у него когда-либо был такой большой FS ранее, таким образом исчерпывание inodes было новой вещью для него. Следовательно, он был расстроен, когда он ввел "df-h" и думал, "ха, я все еще имею тонну в запасе пространства" - Откровенно говоря, я соглашаюсь с ним. Чтобы ядро сказало "из пространства", когда на самом деле оно должно иметь отдельное сообщение "из inodes", очень сбивает с толку. –  Pretzel 19.01.2014, 07:28
  • 4
    @Bananguin - Вы знаете, каково значение по умолчанию byte/inode отношение? –  Pretzel 19.01.2014, 07:34
  • 5
    @Pretzel: Я думаю, что помню, что значение по умолчанию является одним inode для каждого 4k. Я просто проверил свой компьютер (tune2fs -l /dev/sda1) и у меня, оказывается, есть отношение 1 inode для каждых четырех блоков, и каждый блок является 1k в размере. Насколько это можно считать "значением по умолчанию" однако, я не знаю. –  Bananguin 19.01.2014, 16:18

Теги

Похожие вопросы