Author Topic: Резервирование места в файловой системе  (Read 11213 times)

0 Members and 1 Guest are viewing this topic.

Offline kalif

  • Jr. Member
  • **
  • Posts: 74
  • Karma: +0/-0
Куда и зачем собственно резервируется место на дисках?

[attachment=325:sysm.png]

Offline Safir

  • Sr. Member
  • ****
  • Posts: 402
  • Karma: +0/-0
    • http://
Никогда на эту тему не копал, но вот 2 варианта: журнал (ибо Ex3), разница между свободными кластерами и общим объёмом. Первое кажется более вероятным. Если кто скажет точнее - буду рад узнать.

Offline Kavka

  • Moderator
  • Jr. Member
  • *****
  • Posts: 75
  • Karma: +0/-0
Это фича ext2/ext3. Они же с таблицами размещения, типа FAT (могу ошибаться). Вот они и отъедают объём.

Вот что нашёл в просторах интернета из расчёта на 20Гб раздел.
Quote
Ext3 has the worst inital capacity (92.77%), while others FS preserve almost full partition capacity (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%
Ext3 имеет наихудшую начальную ёмкость... дальше понятно.

PS: XFS и JFS тоже журналируемые, только чуть подругому.
Tomsk OpenSUSE Team

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Quote from: Kavka
Это фича ext2/ext3. Они же с таблицами размещения, типа FAT (могу ошибаться).
немного ошиблись  - типа NTFS как в виндах.. сразу резервирует место под журнал исходя из общего объёма

Offline Kavka

  • Moderator
  • Jr. Member
  • *****
  • Posts: 75
  • Karma: +0/-0
Под журнал NTFS резервирует не более 64Мбайт.
Вот что под рукой есть - на разделе в 8 Гиг журнал ~54Мб, на разделе в 80 Гиг 64Мб.
Всё остальное, 10-12% от размера раздела, это резервирование для MFT-зоны, чтобы она фрагментировалась меньше. Хотя и тут не всё так однозначно.

PS: Как посмотреть размер журнала на NTFS? Вобщем, google, yandex и wikipedia вам в помощь.

PPS: Если уж затронули тему сравнения FS ,то вот пара страничек
http://www.mail-archive.com/debian-russian...g/msg00989.html
http://www.debian-administration.org/articles/388
« Last Edit: November 16, 2009, 11:48:07 by Kavka »
Tomsk OpenSUSE Team

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Ну вообще-то не надо путать место под структуры метаданных FS (и на юниксовых они совсем не похожи на таблицы FAT, кстати) и резервируемое место. Первое вообще нигде не будет видно в свободном месте. А второе на ufs/ext2fs резервируется потому, что при большой заполненности диска резко падает скорость работы fs. Причем это место доступно для записи руту, что в интернете порождает ошибочный слух, что оно предназначено для резерва руту. Настраивается в tunefs/tune2fs, ключ -m.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Kavka

  • Moderator
  • Jr. Member
  • *****
  • Posts: 75
  • Karma: +0/-0
nuclight, спасибо за уточнение про резервирование на ufs/ext2/ext3. Про него я совершенно забыл.  

2kalif
К стати, в мане на tune2fs (настройжик ext2/ext3) написано, что по умочанию 5% резервируется, что как раз вписывается в цифры на картинке.
« Last Edit: November 16, 2009, 17:25:25 by Kavka »
Tomsk OpenSUSE Team

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Quote from: nuclight
А второе на ufs/ext2fs резервируется потому, что при большой заполненности диска резко падает скорость работы fs.
да, именно так, тока резервируется не потому что скоорость может упасть, а для того чтобы привилегированные процессы (типа syslog ) не создавали дефрагментацию и могли коррктно работать даже если другие процессы не смогуть писать на раздел (например, нет места уже) ..
перевод мана
« Last Edit: November 16, 2009, 17:43:40 by xxx »

Offline _bob

  • Full Member
  • ***
  • Posts: 122
  • Karma: +0/-0
    • http://
Всё гораздо проще. При исчерпании места на диске простым усером (и не только) система (для непривилегированного пользователя)
становится колом. Даже залогиниться усер (простой) не сможет.
Для этого и создаётся резерв (по умолчанию на ext2/3 он составляет 5%), доступный только для root, дабы он почистить/расклинить
систему мог. Ну и дабы сислог и привилегированные процессы нормально работали. Конечно, 5% от сотен гиг или нескольких терабайт
многовато, ИМХО.
Потому можно сей резерв уменьшить (man tune2fs на предмет опции -m).

Вот и всё.
==
С уважением.

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Quote from: _bob
Всё гораздо проще. При исчерпании места на диске простым усером (и не только) система (для непривилегированного пользователя)
становится колом. Даже залогиниться усер (простой) не сможет.
Для этого и создаётся резерв (по умолчанию на ext2/3 он составляет 5%), доступный только для root, дабы он почистить/расклинить
систему мог. Ну и дабы сислог и привилегированные процессы нормально работали. Конечно, 5% от сотен гиг или нескольких терабайт
многовато, ИМХО.
Потому можно сей резерв уменьшить (man tune2fs на предмет опции -m).
тогда уж квоты вводить для юзеров лучше , чем баловаться настройками , вернее будет, по-моему
и не надо жалеть для работоспособности системы 50 мегов от 1 гига  

Offline _bob

  • Full Member
  • ***
  • Posts: 122
  • Karma: +0/-0
    • http://
Резервирование места в файловой системе
« Reply #10 on: November 17, 2009, 11:45:19 »
Quote from: xxx
==скипанул==
и не надо жалеть для работоспособности системы 50 мегов от 1 гига  
На ноутбуке (личном) 250 гиг диск. 50х250=12,5 гиг. Иногда жаба-то
и давит...
Квоты для себя, родного -- как-то некузяво...
Потому и было ИМХО.
==
С уважением.

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Резервирование места в файловой системе
« Reply #11 on: November 17, 2009, 11:49:30 »
Quote from: _bob
На ноутбуке (личном) 250 гиг диск. 50х250=12,5 гиг. Иногда жаба-то и давит...
Квоты для себя, родного -- как-то некузяво...
ктож знал! для себя родного ничего не жалко  принимается ИМХО

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Резервирование места в файловой системе
« Reply #12 on: November 18, 2009, 17:04:57 »
Ну вот мы и видим этот самый слух про место для рута в действии, ага. А меж тем, думать полезно.

Quote
да, именно так, тока резервируется не потому что скоорость может упасть, а для того чтобы привилегированные процессы (типа syslog ) не создавали дефрагментацию

Фрагментацию тогда уж, а не дефрагментацию.

Quote
Всё гораздо проще. При исчерпании места на диске простым усером (и не только) система (для непривилегированного пользователя) становится колом. Даже залогиниться усер (простой) не сможет.
Для этого и создаётся резерв (по умолчанию на ext2/3 он составляет 5%), доступный только для root, дабы он почистить/расклинить систему мог. Ну и дабы сислог и привилегированные процессы нормально работали.

Опять же, тот же слух, а стоило бы копнуть глубже. Тот же syslog работает под рутом - вот он переполнит раздел невзирая на резерв, и что? Кстати, нормальной практикой безопасности является PermitRootLogin no в sshd_config, так что один фиг колом.

Далее, этот резерв при желании элементарно (шо означает и вероятность случайного непредумышленного) обходится простым юзером, простейший способ ping 127.0.0.1 > /path/file_on_partition_to_overflow и подождать. Другие способы в свое время рассматривались в рассылке lkml (linux-kernel), там же и сошлись на том, что это нифига не фича для безопасности, не поддерживается, рассчитывать на неё нельзя (используйте квоты), и что неплохо бы исправить документацию на эту тему, но всем было лень.

Происходит же он от того, что как раз при большой заполненности диска алгоритмы размещения блоков начинают работать хуже, как раз усиливается фрагментация (найти свободные куски достаточного размера всё сложнее), и как результат - падает производительность записи. В интернете можно найти рекомендации делать этот резерв даже больше, 10% (иногда и более) - по некоторым замерам, ниже этого порога производительность может упасть до 2 раз. Разумеется, всё это зависит от паттерна использования раздела - я на серверах на разделы с редкой записью делаю -m 0, некритично. На UFS он по умолчанию равен 8% (её структуры и алгоритмы несколько сложнее, чем на ext2).

Ну и наконец, стандартная документация mkfs.ext2 и документация ядра всё-таки упоминают проблему фргаментации, хоть и не были исправлены, чтобы прояснить вопрос окончательно. В конце концов, если бы предназначение этой фичи было лишь резервом места, то она присутствовала бы во всех файловых системах, либо вообще не в fs, а на уровне регулятора в /proc. Однако мы не видим её ни в Райзере, ни в XFS, и т.д., а только лишь в файловых системах со структурой и алгоритмами семейства ufs/ext2/ext3, что еще раз подтверждает зависимость от конкретных проблем конкретных FS.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Резервирование места в файловой системе
« Reply #13 on: November 18, 2009, 18:19:05 »
Quote from: nuclight
Ну вот мы и видим этот самый слух про место для рута в действии, ага. А меж тем, думать полезно.
все знают,что думать полезно, у вас есть серьёзные доводы,что здесь никто не думает?  
развеете слух - будете молодцом и умницей  
Quote
Фрагментацию тогда уж, а не дефрагментацию.
извиняюсь, описался думая о дефрагметации
Quote
Опять же, тот же слух, а стоило бы копнуть глубже. Тот же syslog работает под рутом - вот он переполнит раздел невзирая на резерв, и что? Кстати, нормальной практикой безопасности является PermitRootLogin no в sshd_config, так что один фиг колом.
причем здесь sshd? речь идёт о локальной работе и не о серверах..
так резюмируя,каков вывод? есть чтонить по делу, ведь некоторым людям жалко отдавать лишние гиги.

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Резервирование места в файловой системе
« Reply #14 on: November 19, 2009, 16:26:25 »
Есть, разумеется, я же писал про сервера с редкой записью, к примеру. Попробуйте внимательно читать, и еще и осмысливать написанное к своим условиям :)
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline _bob

  • Full Member
  • ***
  • Posts: 122
  • Karma: +0/-0
    • http://
Резервирование места в файловой системе
« Reply #15 on: November 20, 2009, 13:13:34 »
Вообще-то я писал не про сервера, а про рабочую станцию (у меня три раздела /boot swap и /).
Это для экономии места на диске ноутбука. В этом случае сислог (да и все остальные) конечно пишут в корень.
Сислог умеет ротировать логи, что снижает требования к резерву.
Но на рабочей станции даже в mc видно, сколько места осталось на корневом разделе.
Ну и df никто не отменял... Так что для рабочих станций (ноутбуков, десктопов) при грамотной эксплуатации
сия тема неактуальна.

Для серверов со многими усерами -- использовать квоты (хотя усеры в корень не пишут).
Сислог пишет не в корень, а в /var/log/ и потому сислогом корневая ФС переполниться не может.
Так что проблема на самом деле неактуальная, если грамотно разбит(ы) диск(и) сервера на разделы
(не на три раздела /boot  / и swap).
Ну и сисадмин существует для того, чтобы следить за системой и корректировать возникаюшие по ходу
эксплуатации проблемы, а не "поставил и забыл", как это часто делается.
Исходя из этого и на серверах проблем с переполнением корня не должно существовать.

==
С уважением.

Offline xxx

  • Sr. Member
  • ****
  • Posts: 273
  • Karma: +0/-0
Резервирование места в файловой системе
« Reply #16 on: November 20, 2009, 16:41:18 »
Quote from: _bob
Вообще-то я писал не про сервера, а про рабочую станцию (у меня три раздела /boot swap и /).
я вот и подумал,что речь идёт не о серверах - о них надо отдельный раздел заводить.  
вообще-то рекомендуется выносить / и /home на разные разделы - этому тоже было посвящено не мало статей и доводов
Quote
Это для экономии места на диске ноутбука.
где экономия если вместо двух разделов  на 400 и 20 гиг будет один раздел на 420 гиг?  
Quote
Сислог пишет не в корень, а в /var/log/ и потому сислогом корневая ФС переполниться не может.
Так что проблема на самом деле неактуальная, если грамотно разбит(ы) диск(и) сервера на разделы
(не на три раздела /boot  / и swap).
Ну и сисадмин существует для того, чтобы следить за системой и корректировать возникаюшие по ходу
эксплуатации проблемы, а не "поставил и забыл", как это часто делается.
Исходя из этого и на серверах проблем с переполнением корня не должно существовать.
собственно, потому и предагают разбивать ФС на / , /home , /tmp , /var ... (помимо /boot и /swap) в случае нагруженной разной работой сервера..