Администрируя Unix системы, приходится работать с дисками (физическими или виртуальными) и их разделами. Я хочу описать список программ, которые позволяют получить необходимую информацию для работы, думаю данная заметка будет полезна новичкам и просто интересующимся.
hwinfo - данной программой можно получить максимальную информацию о физических носителях. Например, ID, букву диска (Device file) в системе, вендор, модель, объем носителя, количество байт, может так же показать принадлежность носителя к рейд массиву и т.д. Чтобы, отфильтровать информацию только о дисках нужно ввести
hwinfo --disk
smartmontools - так же как и hwinfo может показать необходимую информацию, но основной функционал программы заключается в том, что она может показать состояние “здоровья” диска.
Программка имеет много функций, можно выводить данные в json формате, записывать в файл и организовать кастомный мониторинг, чтобы заранее предотвратить потерю данных
Пример команд
smartctl -ij /dev/sda
или вывод полной информации
smartctl --all /dev/sda
lsblk - покажет общую информацию о разделах и их размерах.lsblk -j
или lsblk -a
fdisk - более подробная информация о структуре диска, в том числе используемых секторах каждого раздела.
fdisk -l
- обычно этого вывода мне хватает. Если указать вместо не ключ, а диск
fdisk /dev/sda
переведет управление в интерактивный режим, управлением разделами
cfdisk - аналог fdisk, псевдографическое управление разделами, cfdisk /dev/sda
blkid - просмотр меток разделов, нужен для монтирования дисков по UUID, рекомендуется указывать в файле /etc/fstab
именно UUID, вместо номера раздела диска.
df - показывает, сколько имеется свободного места на дисках, df -h
- покажет информацию в “человеческом” виде
du - показывает информацию о размерах файлов и директорий в конкретной папке. Например
du -sh ./
покажет размер текущей папки или
du . --max-depth=1 -ah | sort -rh | head -10
10 самых больших папок в текущем каталоге
nmon - программа для мониторинга нагрузки в реальном времени на железо. Можно увидеть нагрузку на диск в процентном соотношении, как нагрузку на чтение и на запись. Вызываем nmon
затем жмем d
и смотрим на показатели I/O диска
mkfs. - утилита для создания файловых систем на созданных разделах. Например mkfs.ext4 /dev/sdb1
- создаст файловую систему ext4 на разделе диска /dev/sdb1
mount - монтирование разделов дисков, USB носителей и даже CD/DVD/BL
mount -t ext2 /dev/sdc1 /mnt
- смонтирует раздел диска в папку /mnt
, в данном примере прописан ключ -t
, который указывает на тип монтируемой файловой системы. В большинстве случаев его можно не указывать
Но я рекомендую сразу прописывать в /etc/fstab
схему монтирования разделов, чтобы не делать одну и ту же работу 2 раза
Смонтируем диск из примера выше просто добавив строку в /etc/fstab
/dev/sdc1 /mnt ext2 defaults 0 0
Подробнее о параметрах монтирования, придется найти информацию самому. Но лучше всего подключать диски по UUID, что значительно упрощает жизнь, когда у дисков поменялись порты подключения и не важно, виртуальные это были порты или физические
Чтобы смонтировать раздел по UUID надо для начала его узнать командой blkid
Вывод будет примерно вот такой
/dev/sda1: LABEL="st" UUID="36F20D4DF20D12B3" TYPE="ntfs"
/dev/sda2: LABEL="SysWin" UUID="A4F20F67F20F3D54" TYPE="ntfs"
/dev/sdb1: UUID="1efdbdda-df38-4f60-bb2c-81996eff323c" TYPE="swap"
/dev/sdc1: UUID="1eab3a42-b6c3-44e5-9e18-2ff284ecfba3" TYPE="ext2"
Находим нужный и прописываем в конец файла /etc/fstab
(будем придерживаться изначального примера)
UUID=1eab3a42-b6c3-44e5-9e18-2ff284ecfba3 /mnt ext4 defaults 0 0
Итак, остается проверить наш файл на ошибки и сразу смонтируем раздел, вводим mount -a
. Если программа обнаружит какие-либо ошибки, то предупредит об этом.
Анонсы и еще больше информации в Telegram-канале