Включение квот
И так, мы разрешили квоты для разделов. Теперь включаем квоты. Процессы для XFS и остальных файловых систем немного различаются. Мы рассмотрим оба варианта. Так как в нашем примере есть разделы для XFS и Ext, то мы выполним все варианты настроек.
XFS
После монтирования раздела с файловой системой XFS автоматически включается квотирование (если была задана соответствующая опция). Проверить состояние можно, войдя в режим экспертного управления квотами:
xfs_quota -x
… и выполнив команду для получения статуса:
> state
Ext и другие
Выполним проверку наличия служебных файлов aquota.user и aquota.group — если их нет, команда их создаст автоматически:
quotacheck -favugm
… при наличии разделов с включенной квотой на XFS мы можем увидеть:
quotacheck: Skipping /dev/sdb
* это нам говорит о том, что команда quotacheck пропускаем раздел с xfs.
Включаем квоту для разделов:
quotaon -avug
JDiskReport
Другим вариантом для облегченной установки является JDiskReport, который является инструментом анализа дисков на основе Java. Поскольку это Java, JDiskReport является кроссплатформенным, что означает, что вы не должны сталкиваться с какими-либо проблемами при его запуске в старых или необычных дистрибутивах Linux.
После анализа ваших жестких дисков JDiskReport представляет статистические данные в виде диаграмм и таблиц. Это то, с чем он сталкивается — он не только показывает ожидаемый круговой график, но и отображает список из 50 крупнейших файлов. Вы также найдете экран, отображающий самые большие файлы по типу.
Java не является самой популярной платформой, и ее сложно обновлять, но если вы ищете что-то с лучшими вариантами отчетов, чем xdiskusage, JDiskReport — ответ.
Решение:
В этой статье будут рассмотрены способы проверки и диагностики HDD в Linux. Полученная информация поможет проанализировать состояние жестких дисков, и, если это необходимо, заменить носитель до того, как он вышел из строя неожиданно и в самый не подходящий для этого момент.
Задуматься о состоянии HDD следует по некоторым признакам поведения системы в целом: резко выросла общая нагрузка на дисковую подсистему, упала скорость чтения/записи, другие проблемы косвенно указывающие что с HDD что-то не то.
Ниже я приведу основные команды, выполнять их необходимо из-под учётной записи root
Чтобы получить список подключенных HDD в систему, выполнить:
fdisk -l
Мы получим листинг всех подключенных накопителей, их размер и имена устройств в системе.
Для того, чтобы посмотреть какие устройства и куда смонтированы, выполнить:
mount
Узнать сколько на каждом из смонтированном носителе занято пространства, выполнить:
df -h
Если мы используем софтовый RAID, его состояние мы можем проверить следующей командой:
cat /proc/mdstat
Если всё в порядке, то мы увидим что-то подобное:
Personalities : md0 : active raid1 sdb1 sdc1 488383352 blocks super 1.2 [2/2]
Из вывода видно состояние raid (active), название устройства raid (md0) и какие устройства в него включены (sdb1 sdc1), какой именно raid собран (raid1), в нём два диска и они оба работают в raid ([2/2] )
Ставим hdparm
apt-get install hdparm
Смотрим скорость чтения с накопителя
hdparm -t /dev/sdX
Где /dev/sdX — имя устройства которое необходимо проверить.
Полезной программой для анализа нагрузки на диски является iostat, входящей в пакет sysstat
Ставим:
apt-get install sysstat
Теперь смотрим вывод iostat по всем дискам в системе:
iostat -x
С интервалом 10 секунд:
iostat -x 10
Или по определённому накопителю:
iostat -x /dev/sdX
Полученные данные покажут нам нагрузку на устройства хранения, статистику по вводу/выводу, процент утилизации накопителя.
Переходим непосредственно к проверке накопителей. Проверка на наличие сбойных блоков осуществляется при помощи программы badblocks. Для проверки жесткого диска на бэдблоки, выполнить:
badblocks -v /dev/sdX
Где /dev/sdX — имя устройства которое необходимо проверить. Если программа обнаружит наличие сбойных блоков, она выведет их количество на консоль. Выполнение данной операции может занять продолжительное время (до нескольких часов) и желательно её выполнение на размонтированной файловой системе, либо в режиме read-only.
Для того, чтобы записать сбойные блоки, выполняем:
badblocks /dev/sdX > /tmp/badblock
Где /tmp/badblock — файл куда программа запишет номера сбойных блоков.
Теперь при помощи программы e2fsck мы можем пометить сбойные блоки и они будут в дальнейшем игнорироваться системой
ВНИМАНИЕ! Данная операция должна проводиться на размонтированной файловой системе, либо в режиме read-only! Проверенное устройство и устройство на накотором будут помечаться сбойные блоки должно быть одно и тоже!
e2fsck -l /tmp/badblock /dev/sdX
Если были обнаружены сбойные блоки на диске, есть тенденция появления новых бэдблоков, необходимо задуматься о скорейшем копировании данных и замене данного носителя. Приведённые выше команды помогут выявить сбойные блоки и пометить их как таковые, но не спасут «сыпящийся» диск.
Также в своём инструментарии полезно использовать данные полученные из S.M.A.R.T. дисков.
Ставим пакет smartmontools
apt-get install smartmontools
Получаем данные S.M.A.R.T. жесткого диска:
smartctl -a /dev/sdX
Для сохранности данных настоятельно рекомендуем делать backup (резервное копирование). Это поможет в кратчайшие сроки восстановить необходимые данные и настройки в форс-мажорных обстоятельствах.
—-
Актуальность: 2012/02/29
Информация о занятом пространстве: du
Для получения информации о дисковом пространстве, занятом файловыми объектами, используется команда du (Disk Used).Пример использования команды для оценки пространства, занятого домашним каталогом пользователя user:
sudo du -chs /home/user
73G /home/user73G итого
В примере использованы опции:
- -c — выводить общий итог;
- -h — выводить в удобном для чтения формате (например, 1K 234M 2G);
- -s — для каждого указанного объекта выводить только общий итог (т.е. для каталогов — не выводить размеры содержащихся в них файловых объектов);
Пример использования для более подробной проверки (отличие в задании файлового объекта для проверки — задан не домашний каталог пользователя /home/user, а все подкаталоги домашнего каталога):
sudo du -sh /home/user/* | sort -rh | head
22G /home/user/Загрузки18G /home/user/Проекты4,7G /home/user/ISO4,2G /home/user/Документы3,3G /home/user/docs1,6G /home/user/Звукозапись1,1G /home/user/tmp305M /home/user/qt585M /home/user/parf68M /home/user/Архив
В примере применена дополнительная фильтрация результатов, позволяющая выбрать 10 самых крупных объектов:
- команда sort -rh — сортировка строк с результатами:
- -r — сортировка по убыванию;
- -h — сортировка «удобно читаемых чисел» (например, 3K меньше, чем 2M, а 2M меньше, чем 1G);
- команда head — без параметров отсекает все строки после первых десяти.
Подробные справки по командам доступны в справочной система man:
man duman sortman head
Проверка диска на битые секторы Linux
Для поиска битых секторов можно использовать утилиту badblocks. Если вам надо проверить корневой или домашний раздел диска, то лучше загрузится в LiveCD, чтобы файловая система не была смонтирована. Все остальные разделы можно сканировать в вашей установленной системе. Вам может понадобиться посмотреть какие разделы есть на диске. Для этого можно воспользоваться командой fdisk:
Или если вы предпочитаете использовать графический интерфейс, это можно сделать с помощью утилиты Gparted. Просто выберите нужный диск в выпадающем списке:
В этом примере я хочу проверить раздел /dev/sda2 с файловой системой XFS. Как я уже говорил, для этого используется команда badblocks. Синтаксис у неё довольно простой:
$ sudo badblocks опции /dev/имя_раздела_диска
Давайте рассмотрим опции программы, которые вам могут понадобится:
- -e — позволяет указать количество битых блоков, после достижения которого дальше продолжать тест не надо;
- -f — по умолчанию утилита пропускает тест с помощью чтения/записи если файловая система смонтирована чтобы её не повредить, эта опция позволяет всё таки выполнять эти тесты даже для смонтированных систем;
- -i — позволяет передать список ранее найденных битых секторов, чтобы не проверять их снова;
- -n — использовать безопасный тест чтения и записи, во время этого теста данные не стираются;
- -o — записать обнаруженные битые блоки в указанный файл;
- -p — количество проверок, по умолчанию только одна;
- -s — показывать прогресс сканирования раздела;
- -v — максимально подробный режим;
- -w — позволяет выполнить тест с помощью записи, на каждый блок записывается определённая последовательность байт, что стирает данные, которые хранились там раньше.
Таким образом, для обычной проверки используйте такую команду:
Это безопасно и её можно выполнять на файловой системе с данными, она ничего не повредит. В принципе, её даже можно выполнять на смонтированной файловой системе, хотя этого делать не рекомендуется. Если файловая система размонтирована, можно выполнить тест с записью с помощью опции -n:
После завершения проверки, если были обнаружены битые блоки, надо сообщить о них файловой системе, чтобы она не пыталась писать туда данные. Для этого используйте утилиту fsck и опцию -l:
Если на разделе используется файловая система семейства Ext, например Ext4, то для поиска битых блоков и автоматической регистрации их в файловой системе можно использовать команду e2fsck. Например:
Параметр -с позволяет искать битые блоки и добавлять их в список, -f — проверяет файловую систему, -p — восстанавливает повреждённые данные, а -v выводит всё максимально подробно.
Занятое место в linux через du
Команда «du -h». Данная команда покажет, сколько места на диске занимает указанная папка (Папка — канцелярская принадлежность, обложка, конверт для бумаг, скоросшиватель.Папка-регистратор — канцелярская папка с арочным механизмом для хранения документов.Папка — экранный объект в). В нашем примере (рассматривается в риторике) мы выведем сколько места занимает каталог boot.
Если ввести команду «du -h /», то вы увидите огромный список всех ваших каталогов, но, опять же, понимания (универсальная операция мышления, связанная с усвоением нового содержания, включением его в систему устоявшихся идей и представлений) о том что конкретно занимает место вы не получите.
Команда ls linux
Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:
$ ls опции/путь/к/папке
Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:
- -a – отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
- -A – не отображать ссылку на текущую папку и корневую папку . и ..;
- –author – выводить создателя файла в режиме подробного списка;
- -b – выводить Escape последовательности вместо непечатаемых символов;
- –block-size – выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
- -B – не выводить резервные копии, их имена начинаются с ~;
- -c – сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
- -C – выводить колонками;
- –color – включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
- -d – выводить только директории, без их содержимого, полезно при рекурсивном выводе;
- -D – использовать режим вывода, совместимый с Emacs;
- -f – не сортировать;
- -F – показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
- –full-time – показывать подробную информацию, плюс вся информация о времени в формате ISO;
- -g – показывать подробную информацию, но кроме владельца файла;
- –group-directories-first – сначала отображать директории, а уже потом файлы;
- -G – не выводить имена групп;
- -h – выводить размеры папок в удобном для чтения формате;
- -H – открывать символические ссылки при рекурсивном использовании;
- –hide – не отображать файлы, которые начинаются с указанного символа;
- -i – отображать номер индекса inode, в которой хранится этот файл;
- -l – выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
- -L – для символических ссылок отображать информацию о файле, на который они ссылаются;
- -m – разделять элементы списка запятой;
- -n – выводить UID и GID вместо имени и группы пользователя;
- -N – выводить имена как есть, не обрабатывать контролирующие последовательности;
- -Q – брать имена папок и файлов в кавычки;
- -r – обратный порядок сортировки;
- -R – рекурсивно отображать содержимое поддиректорий;
- -s – выводить размер файла в блоках;
- -S – сортировать по размеру, сначала большие;
- -t – сортировать по времени последней модификации;
- -u – сортировать по времени последнего доступа;
- -U – не сортировать;
- -X – сортировать по алфавиту;
- -Z – отображать информацию о расширениях SELinux;
- -1 – отображать один файл на одну строку.
Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.
Как посмотреть свободное место?
Уже не один раз на просторах интернета я встречал людей, которые задавали вопрос о том, как посмотреть свободное место на диске? На первый взгляд простой вопрос для опытных пользователей Linux и очень сложен для новичков. Поэтому есть смысл описать несколько способов, как можно как посмотреть свободное место в Linux, в частности в Ubuntu и других подобных системах.
Все они просты для запоминания и можно выбрать любой понравившийся. Но перед тем как начать свой интересный рассказ о высвобождения свободного места, хочу порекомендовать вам простое решение – приобрести новый БОЛЬШОЙ жесткий диск. Сейчас в Китае можно купить 1 терабайт за смешные деньги – вот вам пример диск HITACHI .
Это в два раза дешевле, чем в магазине в вашем городе. Я себе уже заказал себе подобный диск (правда меньшей емкости, зато SSD) и очень доволен! Да, доставка бесплатна, между прочим. Теперь перейдем к нашему основному вопросу.
1. Самый простой способ посмотреть свободное место в Linux – в терминале.
Для это запускаем терминал, вводим команду :
Как видим, первый корневой раздел (у меня это /dev/sda2) занят на 84%, а домашняя папка (у меня это /dev/sda4) занят на 56%. Если вы обнаружили, что корневой раздел почти весь занят, то нужно очистить Linux от мусора и старых пакетов, чтобы в один прекрасный день она не взбунтовалась, или даже не умерла.
2. Самый простой способ проверить место на диске без терминала – системный монитор.
Как видите, тут всё просто и наглядно.Можно вывести виджет системного монитора на панель Gnome. Начиная с версии Ubuntu 12.04 сделать это не так просто, как раньше. Нужно навести мышкой на панель, а затем нажать клавиши Win + Alt и после этого правую кнопку мышки.
Появится меню, в котором будет пункт “Добавить на панель”. В появившемся окне ищем пункт “Системный монитор”и добавляем его.
Но к сожалению, как и в предыдущем случае, очень мало информации о том, какие же файлы занимают наше драгоценное место на диске. Но это не большая проблема, так как в Ubuntu Linux есть для этого специальная программа.
3. Как посмотреть, какие файлы занимают больше всего места на диске.
Заходим в Приложения – Системные утилиты – Анализатор использования диска и запускаем данную программу. Нажимаем кнопку Сканировать домашнюю папку. Через какое-то время вы получите ясную картину, что занимает ваше свободное место на диске.
Можно раскрыть любую ветку и посмотреть более точно, что занимает место на диске больше всего. Через эту программу можно стразу и удалить ненужные файлы. Для этого нужно щёлкнуть правой кнопкой мышки на ненужном файле и выбрать “Удалить”. Всё, теперь на вашем диске стало больше свободного места.
Может есть и другие способы посмотреть свободное место в Linux, но кажется и этих трёх способов вполне достаточно!
Не нашли ответ на свой вопрос? Воспользуйтесь поиском.
IOPING
IOPING – это своего рода инструмент, который предлагает разные функции. Этот инструмент специально используется для анализа задержки диска, то есть того, сколько времени требуется конкретному диску, чтобы ответить на конкретный запрос чтения-записи.
Как установить IOPING в Linux
Чтобы установить IOPING в операционных системах Linux, мы можем выполнить следующую команду терминала:
$ sudo apt-get install ioping
Выполнение команд IOPING для анализа производительности диска
Ниже перечислены некоторые команды инструмента IOPING, с помощью которых пользователи могут проверять проблемы, связанные с задержкой, и легко их устранять.
- ioping -c count: представляет количество отсчетов, после которых инструмент останавливается.
- ioping -i interval: ограничивает время между интервалом запрошенной временной меткой.
- ioping -l speed: ограничивает скорость передачи данных в байтах/сек.
- ioping -t time: некоторые процессы игнорируются из-за очень небольшого времени запроса. Итак, чтобы этого избежать, мы можем установить время запроса.
- ioping -w deadline: инструмент останавливается по истечении интервала времени, установленного с помощью этой команды.
- ioping -D: указывает системе выполнять запросы на чтение/запись.
- ioping -R: проверяет скорость, с которой диск ищет данные.
- ioping -c 20 -s 1M/temp1: Эта команда дает количественный отчет по/temp1, передавая 21 запрос размером 1 МБ каждый.
- ioping -RL/dev/sda: отображает последовательную скорость диска.
- ioping -RLB. | awk ‘{print $4}’: отображает последовательную скорость диска в байтах/сек.
K4DirStat
Если вы пользователь Windows, возможно, вы знакомы с WinDirStat. Знаете ли вы, что WinDirStat на самом деле является клоном инструмента KDE под названием KDirStat? Большинство людей думают, что Linux скопировал Windows здесь, но все наоборот
Хотя это не так важно
K4DirStat — это последняя версия, созданная на основе среды рабочего стола KDE4.
Как и следовало ожидать от ситуации клонирования, K4DirStat выглядит почти идентично WinDirStat: древовидная иерархия, которая предоставляет много предварительной информации и графическую карту внизу, которая разделяет и группирует все файлы в соответствии с каталогом.
Больше нечего сказать. Существует причина, по которой K4DirStat и WinDirStat так популярны: они быстры в изучении, просты в использовании и чрезвычайно полезны для управления дисковым пространством. Если бы я не был пользователем GNOME, я бы наверняка использовал его в качестве основного инструмента анализа.
iostat — статистика использования устройств и разделов дисков
Утилита iostat также включена в пакет sysstat. Как можно догадаться из названия программы, она создаёт отчёты по статистике ввода/вывода для устройств и разделов. Её особенностью является то, что она показывает обобщённую статистику для всей системы, а также для отдельных носителей, не разбивая её на процессы. Программа iostat может пригодиться когда необходимо ответить на вопрос: «какой из постоянных носителей подвергается наибольшей нагрузке?».
Запуск программы без опций
iostat
выведет два блока информации:
- отчёт по использованию ЦПУ
- отчёт по использованию устройств
Раздел со статистикой использований устройств содержит следующие разделы:
- Device — имя устройства или раздела, как оно указано в /dev
- tps — указывает количество передач в секунду, отправленных на устройство. Передача — это запрос ввода-вывода к устройству. Несколько логических запросов можно объединить в один запрос ввода-вывода к устройству. Размер перевода является неопределённой величиной
- kB_read/s — указывает объём данных, считанных с устройства, выраженный в количестве блоков (килобайт, мегабайт) в секунду. Блоки эквивалентны секторам и поэтому имеют размер 512 байт
- kB_wrtn/s — указывает объём данных, записываемых на устройство, выраженный в количестве блоков (килобайт, мегабайт) в секунду
- kB_dscd/s — указывает количество данных, отбрасываемых устройством, выраженное в количестве блоков (килобайт, мегабайт) в секунду
- kB_read — общее количество прочитанных блоков (килобайт, мегабайт)
- kB_wrtn — общее количество записанных блоков (килобайт, мегабайт)
- kB_dscd — общее количество отброшенных блоков (килобайт, мегабайт)
Отчёт выводит для всей системы с момента её загрузки.
Поскольку по умолчанию данные выводятся в килобайтах, а современные объёмы информации, записываемой на диск, обычно кратны гигабайтом, что цифры трудны для восприятия. Для вывода чисел в удобных для восприятия единицах используйте опцию -h:
iostat -h
Опция -h является эквивалентом указания сразу двух опций —human и —pretty, поэтому если вы не в полной мере довольны видом выводимого отчёта, то попробуйте использовать эти опции по отдельности.
Для вывода максимальной полной информации, укажите опцию -x:
iostat -x
Если вам нужна информация только об устройствах, то используйте опцию -d:
iostat -d
Вы можете запустить команду указав время интервала (в секундах) и счётчик (количество отчётов) — в этом случае программа будет выводить информацию через заданный интервал:
iostat ИНТЕРВАЛ iostat ИНТЕРВАЛ СЧЁТЧИК
Первый отчёт будет содержать информацию с момента загрузки системы, а последующие отчёты будут содержать информацию за период, прошедший с предыдущего отчёта.
Для поиска проблем, вы можете использовать следующую команду, которая непрерывно будет выводить информацию:
iostat -d 1 iostat -dx 1
С помощью iostat вы можете следить за скоростью чтения и записи на всё устройство, а также выявлять отброшенные блоки.
pidstat — вывод статистики для задач Linux
Пакет sysstat содержит сразу две утилиты с помощью которых можно собрать статистику использования диска процессами:
- pidstat
- iostat
Для установки pidstat в Debian, Linux Mint, Kali Linux, Ubuntu и их производные выполните команду:
sudo apt install sysstat
Для установки pidstat в Arch Linux, BlackArch, Manjaro и их производные выполните команду:
sudo pacman -S sysstat
Следующая команда будет выводить накопленную статистику за каждые 20 секунд, будут показаны только активные процессы (сделавшие операции чтения и записи на диск за указанный интервал), также будет показана полная команда, запустившая процесс. Для более полной статистики запустите программу с повышенными привилегиями:
sudo pidstat -dl 20
Каждая строка будет иметь следующие столбцы:
- Метка времени
- UID — числовой идентификатор пользователя
- PID — идентификатор процесса
- kB_rd/s — количество килобайт в секунду которые были прочитаны по инициативе указанной задачи
- kB_wr/s — количество килобайт в секунду которые были (или должны были быть) записаны по инициативе указанной задачи
- kB_ccwr/s — количество килобайт, запись которых на диск была отменена задачей. Это может произойти, когда задача усекает грязный кэш страниц. В этом случае некоторые операции ввода-вывода, для которых была учтена другая задача, не будут выполняться
- iodelay — задержка ввода-вывода
- Command — команда, запустившая задачу
Заключение
В этой статье мы обсуждали различные инструменты, которые можно использовать для мониторинга активности диска в операционных системах на базе Linux. Каждый инструмент предоставляет свой собственный набор функций, которые помогают пользователю анализировать, как его система ведет себя изнутри.
Путем подробного анализа системные администраторы могут внести желаемые изменения в конфигурацию своей системы, чтобы сделать ее работу быстрее и плавнее. Эти инструменты дают результаты, которые показывают текущее состояние системы, работоспособность диска, использование полосы пропускания сети и многое другое.
С помощью этих инструментов системные администраторы могут оперативно устранять проблемы, связанные с дисками и операционными системами. Это позволит им сэкономить время при устранении неполадок и поддерживать свою систему в надлежащем состоянии при выполнении задач по интенсивному использованию ресурсов.