Текущая погода на аэродроме Пермь (Большое Савино)
Температура: +10.3 °C
Давление: 756.5 мм
Влажность: 53.0 %

Авиационная метеорологическая
станция гражданская Пермь

+7 (342) 2-949-566, usppmeteo@mail.ru

С каждым годом растёт количество метеорологической информации, которую необходимо передавать, хранить и обрабатывать. В этой связи, увеличивается количество нештатных ситуаций, которые могут возникнуть при работе с жёсткими дисками. Хотелось бы обратить особое внимание на переполнение накопителей информации и какие меры можно принять сменному инженеру АМСГ для разрешения подобных проблем.

В качестве примеров будут выступать серверы, работающие под управлением операционной системы Linux, хотя те же проблемы могут возникать и под Windows или любыми другими операционными системами, поскольку данные проблемы связаны с работой используемой файловой системы.

Дело в том, что переполнение жёстких дисков может быть явным (когда действительно достигнут физический предел на хранение файлов) и неявным. В данном разделе рассмотрим несколько неявных причин переполнения жёсткого диска.

 

Обстоятельство №1. Запись на диск невозможна. Система выдаёт информацию о том, что в разделе жёсткого диска не осталось свободного места.

Вводим команду df -h и видим примерно следующий результат:

Видим что раздел /var занят на 100%, что-либо записать в него нельзя. При этом, если подсчитать объём всех файлов, получится что на самом деле на диске ещё много свободного пространства. Такое может происходить по причине того, что какой-либо процесс операционной системы "держит" удалённый файл, хотя на самом деле этого файла уже нет. Дело в том, что файл не удаляется из файловой системы физически, а удаляется лишь его указатель (дескриптор). Таких удалённых файлов может накопится большое количество и они "займут" всё пространство раздела.

Чтобы увидеть процессы, которые занимают удалённые файлы, нужно ввести команду lsof -nP | grep '(deleted)', затем перезапустить или завершить процесс.

 

Обстоятельство №2. Запись на диск невозможна. При этом, видно что на диске большое количество свободного пространства.

Мы уже упоминали про файловые дескрипторы. Кратко расскажем что же это такое.

Каждому файлу на диске соответствует один и только один индексный дескриптор файла, который идентифицируется своим порядковым номером - индексом файла. Это означает, что число файлов, которые могут быть созданы в файловой системе, ограничено числом индексных дескрипторов, которое либо явно задается при создании файловой системы, либо вычисляется исходя из физического объема дискового раздела.

То есть возможна ситуация, когда на диске пространство есть, но объём в разделе, выделенных для записи файловых дескрипторов закончился.

Введём команду df -i, которая покажет информацию о файловых дескрипторах для каждого раздела.

Видно что у раздела /var не осталось свободных нод для записи даже одного файла. Это говорит о том, что в разделе скопилось большое количество очень мелких файлов. В итоге, несмотря на то, что пространства в разделе хватает, закончилось место для записи дескрипторов.

Чтобы это исправить нужно удалить мелкие файлы из раздела.

 

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