Я пытаюсь использовать e2fsck в большом массиве рейдов размером 2 ТБ, который использует GPT для разделения (из-за размера).
В системе установлен только 1 ГБ оперативной памяти, и в настоящее время у меня нет возможности добавить больше.
Проблема в том, что вскоре после запуска fsck на устройстве я получаю сообщение об ошибке:
Error storing directory block information (inode=115343515, block=0, num=108120142): Memory allocation failed
e2fsck: aborted
После небольшого поиска в Интернете и исследований я наткнулся на эту публикацию ниже:
Не хватает памяти при запуске fsck в больших файловых системах
Я последовал совету после поиска на странице MAN e2fsck.conf
и в основном создал файл /etc/e2fsck.conf, который выглядит так:
[scratch_files]
directory = /var/cache/e2fsck
и снова попробовал fsck, убедившись, что /var/cache/e2fsck
директри. После повторного запуска fsck и просмотра доступной памяти, использования процессора и размера каталога /var/cashe/e2fsck
... я могу сказать, что это определенно помогло ... но в конечном итоге все равно не удалось выдать ту же ошибку. По сути, это помогло снизить потребление памяти, но не свело на нет все вместе.
Итак, я попытался поиграть с флагами добавления для e2fsck.conf
файл, используя:
dirinfo = false
или
dirinfo = true
и
icount = false
или
icount = true
ни один из них, похоже, не оказал большого влияния, поскольку та же ошибка возникает через короткое время.
Я что-то упускаю? Я согласен с тем, что fsck занимает много времени ... Но мне нужно, чтобы он действительно завершился, а не с ошибкой.
Если можете, добавьте в систему место подкачки. Fsck займет безумно много времени, но в конечном итоге будет завершен. В следующий раз разделите файловую систему на более мелкие части.
HTH.
Является ли массив внутренним или внешним хранилищем? Если это внешнее / подключенное хранилище, попробуйте подключить его в другую коробку с большим объемом ОЗУ для fsck
. Как вариант, разбейте настройку на более мелкие части. Вы можете смонтировать несколько разделов в одну «резервную» иерархию файловой системы. Вашим клиентам и программному обеспечению резервного копирования не нужно знать, что они касаются нескольких или отдельных файловых систем.
Если это хранилище не попадает fsck
В процессе загрузки убедитесь, что вы отключили все приложения, которые могут занимать вашу драгоценную память, пока fsck
завершено.