Ісілон: Повідомлення про подію: Розділ var майже заповнений, ідентифікатор події: 100010001
Summary: У цій статті обговорюється спосіб очищення розділу Var у міру його наближення до пропускної здатності.
Symptoms
Подія
Перше з наступних сповіщень про подію:
The /var partition is near capacity (95% used) The /var partition is near capacity (85% used) The /var partition is near capacity (75% used)
Деталі
Коли розділ /var досягає 75%, 85% або 95% місткості, подія реєструється та надсилається попередження.
Cause
Папка /var містить численні журнали, діагностичні файли, дані конфігурації та тимчасові файли для різних функцій кластера. З часом у папці /var можуть накопичуватися різні зайві файли, що призводить до її заповнення.
Об'єкт /var/log/wtmp і ролловерні файли /var/log/wtmp.0, /var/log/wtmp.1, наприклад, збільшити розмір до понад 10 МБ. Іноді вони збільшуються до 150 МБ. Об'єкт /var/log/wtmp Файл – це двійковий файл журналу, який записує дані для входу та виходу з системи. Файл менеджера журналів, /etc/newsyslog.conf, не архівує так само, як це робить з іншими файлами журналу, тому /var/log/wtmp може рости і заповнювати директорію /var.
Resolution
Нижче наведено вміст розділу /var за замовчуванням та короткий опис більш релевантних підкаталогів. Якщо не вказано інше, вміст і дані в /var та його підкаталогах не повинні змінюватися або видалятися.
ps9500x3-2# cd /var ps9500x3-2# ls .snap at backups db ifs lib patch spool account audit cache empty journal log preserve tmp agentx authpf crash games journal-peer mail run unbound apache2 backup cron heimdal krb5kdc msgs rwho yp .snap Snapshots. Do not touch. account Account information. Do not touch. agentx Empty but preserved for Agent Extensibility (AgentX) Protocol apache2 Apache Files. Do not touch. at Variable data. Do not touch. audit Audit Files. Do not touch. authpf Authentication gateway. Do not touch. backup System configuration backup files. Do not touch backups Group configuration backups. Do not touch cache System cache. Do not touch. crash Crash files, older files can be deleted if needed cron Cron jobs, do not touch db Database files. Do not touch empty Do not touch. games Empty but preserved. heimdal Kerberos 5 protocol. Do not touch. ifs Do not touch unless directed by support journal System Journal database journal-peer System Journal-peer database krb5kdc Kerberos KDC (Key Distribution Center) lib Likewise database files. Do not touch log Various System log files, can be cleared but zero's out the system logs. mail Mail sub-system files. msgs Message logs patch System patch database. Do not touch preserve Do not touch run Do not touch rwho Do Not Touch spool System Spool files. Do not touch. tmp Healthcheck items and vi recover. Do not touch. unbound Do Not Touch yp Do Not Touch
Дві директорії, на яких слід зосередитися, це /var/crash та /var/logs, оскільки вони можуть рости та займати більшу частину дискового простору в розділі /var .
Старі файли аварійного завершення роботи в /var/crash можна видалити, якщо вони більше не потрібні.
/ var/logs може бути обнулений і скинутий, якщо журнали стають занадто великими. Майте на увазі, що після скидання журналів більше неможливо усунути неполадки та дослідити минулі проблеми.
Перегляньте вивід df для розділу /var . Залежно від отриманих результатів, виконайте одне або кілька з наступних завдань:
ps9500x3-2# df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/mirror/root0 1957292 871082 929628 48% / devfs 1 1 0 100% /dev /dev/mirror/var0 978604 51394 848922 6% /var /dev/mirror/var-crash 2946284 10 2710572 0% /var/crash /dev/mirror/keystore 61228 46 56284 0% /keystore /dev/md0 61166 2158 54116 4% /tmp/ufp /dev/md1.uzip 435751 406426 -5535 101% /base OneFS 246327840 2362592 173903776 1% /ifs ps9500x3-2#
Обертання колод:
Детальна інструкція про те, як обертати журнали, є в статті KB 20315, Isilon: OneFS-Як обертати системні журнали для вузла.Команда для обертання журналів:
newsyslog -f
Якщо розділ /var повертається до нормального рівня використання, перегляньте список нещодавно записаних журналів, щоб визначити, чи часто змінюється певний журнал. Обертання може вирішити проблему з повним розділом шляхом стиснення або видалення великих журналів і старих журналів, тим самим автоматично зменшуючи використання розділів.
Перевірте відсоток вільних індексних дескрипторів:
Відкрийте SSH-з'єднання з вузлом, який повідомив про помилку, і увійдіть за допомогою облікового запису "root".Виконайте наступну команду:
df -i |grep var |grep -v crashЗ'являється вихід, подібний до наступного:
Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/mirror/var0 1013068 49160 882864 5% 1650 139276 100% /varЯкщо значення %iused становить 90% або вище, зменшіть кількість файлів у розділі /var за допомогою одного з методів, описаних нижче.
Визначте файли, які не належать до розділу /var:
- На вузлі, який згенерував сповіщення, виконайте наступну команду, щоб вивести список файлів у розділі /var , розмір яких перевищує 5 МБ:
find -x /var -type f -size +10000 -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
- У виведених даних шукайте файли, які зазвичай не належать до розділу /var . Наприклад, файл інсталятора OneFS, збирачі журналів або файл, створений користувачем.
- Видаліть файли або перемістіть їх у директорію /ifs.
Вручну видаліть файли з розділу /var:
Як тільки зайві файли визначені, команди, необхідні для очищення каталогу /var , зазвичай включають Make Directory (mkdir), Copy (cp), Move (mv) і Remove (rm). Користувачі повинні ознайомитися з цими основними командами UNIX/Linux, перш ніж продовжити.
Завжди створюйте резервну копію файлів перед видаленням або переміщенням їх з початкового розташування.
Створіть каталог для переміщення або копіювання даних резервної копії, де <dest> — каталог призначення. У цей каталог спочатку слід скопіювати резервні копії всіх файлів, які потрібно видалити.
# mkdir /ifs/data/Isilon_Support/<dest>
Копіюйте, переміщуйте або видаляйте файли за необхідності:
Щоб скопіювати файл або каталог:
# cp <file> /ifs/data/Isilon_Support/<dest>
Рекурсивно скопіюйте каталог.
# cp -R <directory> /ifs/data/Isilon_Support/<dest>
Щоб перемістити файл або каталог:
# mv <file> /ifs/data/Isilon_Support/<dest> # mv <directory> /ifs/data/Isilon_Support/<dest>
Щоб видалити/видалити файл:
# rm <file>
Визначте, чи процес тримає відкритий великий файл.
Використовуйте команду fstat для списку відкритих файлів у вузлі або каталозі, або для списку файлів, які відкрив процес. Список відкритих файлів може допомогти вам стежити за процесами, які записують великі файли. Подивіться, як використовувати команду fstat для списку відкритих файлів на вузлі, стаття 21402, Isilon: Як використовувати команду fstat для списку відкритих файлів на вузлі.
Якщо жодне з наведених вище завдань не допомогло вирішити проблему, перейдіть до наступного рішення:
Обмежте розмір ролловерного файлу та стисніть файл
- Відкрийте SSH-з'єднання на будь-якому вузлі кластера та авторизуйтесь за допомогою облікового запису "root".
- Виконайте наступні команди, щоб створити резервну копію файлу /etc/newsyslog.conf:
cp /etc/newsyslog.conf /ifs/newsyslog.conf cp /etc/newsyslog.conf /etc/newsyslog.bak
- Відкрийте файл /ifs/newsyslog.conf у текстовому редакторі.
- Знайдіть наступний рядок:
/var/log/wtmp 644 3 * @01T05 B
- Змініть рядок на:
/var/log/wtmp 644 3 10000 @01T05 ZBЦі зміни наказують системі прокручувати файл /var/log/wtmp , коли він досягає 10 МБ, і стискати файл за допомогою gzip.
- Збережіть і закрийте файл /ifs/newsyslog.conf .
- Виконайте наступну команду, щоб скопіювати оновлений файл на всі вузли кластера:
isi_for_array 'cp /ifs/newsyslog.conf /etc/newsyslog.conf'
- Файли журналу автоматично обертаються, якщо це необхідно, використовуючи завдання cron на годину та півгодини (/etc/crontab)
#minute hour mday month wday who command # # rotate log files every half-hour, if necessary 0,30 * * * * root newsyslogЯкщо інші журнали часто обертаються або якщо попередні кроки не допомогли вирішити проблему, зверніться по допомогу до служби технічної підтримки Dell.