Re: FreeBSD: 109% used на UFS

abrek

FreeBSD 4.8-RELEASE-p4
раздел /var смонтирован с опциями: /dev/da0s1e on /var (ufs, local, noatime)
после перезагрузки от перебоя с электричеством система стала думать, что на разделе использовано 109% места, и естественно, туда ничего не записывалось
я отмонтировал раздел, запустил fsck, всё нормализовалось
что это было, и как это предотвращать?

eee1

а сколько процентов свободных блоков в /da0s1e сейчас? мб проблемы в noatime?

abrek


Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on
/dev/da0s1e 2015918 17188 1837458 1% 2784 250654 1% /var

eee1

хммм... от 1% до 109% это много . неправильный репорт свободных блоков часто бывает в ФриБСД 4-x (ufs не journal file system и существенно только на softupdates разделы (например, 2 раза увеличивает число занятых блоков после сбоя). кажется что Ufs2 (default в ФриБСД 5-x) уже частично решила эту проблему (все равно есть возможность испортить данных если сбой электичества происходит в критической сессии фс)

Filan

Или тебя пугает "использовано 109% места"?

abrek

не понял вопроса

Filan

100% вроде как значит всё пространство на диске. А как тогда может быть занято больше?
(это не вопрос)

oleg_n

вроде как не всё
какое-то место резервируется
и им может воспользоваться только рут

abrek

df показывало число занятых блоков больше, чем число всех блоков

Filan

Читай внимательней мой пост - особенно то, что в скобках.

Filan

Если ты действительно не знаешь почему на разделе может быть занято больше чем на нём есть, то вроде на это уже ответили...
(я на деюсь ты не это спрашивал)

oleg_n

да, косячит меня

abrek

Я спрашивал, почему fsck при загрузке оставил ФС в таком состоянии, а последующий ручной запуск fsck исправил проблему?
И что делать, чтобы впредь исправлялось автоматически, когда это возможно?

eee1

100% вроде как значит всё пространство на диске. А как тогда может быть занято больше?

неа, по defaultу FreeBSD всегда делать 8% блоков для специального использования (доступно только рутом). см man tunefs

Filan

Тебе

Filan

Посмотри с какими опциями пускается fsck при авто-тесте и с какими пускал ты ручками. Ну и поправь стартовые скрипты на своё усмотрение.

abrek

В /etc/rc пускается fsck -p
Это ведь то, что надо?
Я пускал fsck -f /dev/da0s1e. При загрузке это явно лишнее.

Filan

А точно при старте прошла проверка этого диска?
Может он при старте считался "чистым"?

sergey_m

Вообще-то делать noatime на /var как-то не удобно и даже небезопасно.

abrek

От этого может произойти такой эффект?
Я считал, что кроме проблем с чистилкой /var/tmp от noatime никто не страдает.

abrek

Что было при старте после восстановления питания, я не знаю, меня там не было.

sergey_m

не меняется дата последнего изменения логов, локов, бэкапов и тп. Дата последнего изменения таких файлов может оказаться важной.

sergey_m

Посмотри /etc/periodic/daily/*. Там время изменения довольно часто используется.

abrek

Убедил, надо убрать. Плохо, что nodiratime нет.
Но ведь noatime не должен был привести к описанному эффекту?

sergey_m

По-идее не как не должен. Скорее всего дело в softupdates. Если еще раз случится лучше собрать как можно больше информации и сделать PR.

abrek

Так ведь нет softupdates. Или оно само включается, без опции в fstab?

sergey_m

Если мы говорим о phoenix, то там они есть. Вкл/выкл делается с помощью tunefs(8). Посмотреть включены ли можно с помощью mount(8) без аргументов. Это все относится к FreeBSD. В OpenBSD действительно в fstab.

abrek

Нет, мы говорим не о phoenix.
Прочитай тред сначала

# tunefs -p /dev/da0s1e
tunefs: soft updates: (-n) disabled
tunefs: maximum contiguous block count: (-a) 7
tunefs: rotational delay between contiguous blocks: (-d) 0 ms
tunefs: maximum blocks per file in a cylinder group: (-e) 4096
tunefs: average file size: (-f) 16384
tunefs: average number of files in a directory: (-s) 64
tunefs: minimum percentage of free space: (-m) 8%
tunefs: optimization preference: (-o) time

Оставить комментарий
Имя или ник:
Комментарий: