Как выполнить базовые административные задачи для устройств хранения данных в Linux

Введение

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

Дополнительные ресурсы

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

Для получения дополнительной информации о терминологии, используемой при обсуждении хранения, попробуйте прочитать эту статью о терминологии хранения.

Определение емкости и использование хранилища с помощью df

Часто самая важная информация, которая вам может понадобиться о хранении в вашей системе, – это объем и текущее использование подключенных устройств хранения.

Чтобы проверить, сколько свободного места доступно в общей сложности, и увидеть текущее использование ваших накопителей, используйте утилиту df. По умолчанию она выводит измерения в блоках по 1К, что не всегда удобно. Добавьте флаг -h, чтобы вывод был в удобочитаемых единицах:

  1. df -h
Output
Filesystem Size Used Avail Use% Mounted on udev 238M 0 238M 0% /dev tmpfs 49M 624K 49M 2% /run /dev/vda1 20G 1.1G 18G 6% / tmpfs 245M 0 245M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 245M 0 245M 0% /sys/fs/cgroup tmpfs 49M 0 49M 0% /run/user/1000 /dev/sda1 99G 60M 94G 1% /mnt/data

Раздел /dev/vda1, смонтированный в /, заполнен на 6% и имеет 18 ГБ свободного места, в то время как раздел /dev/sda1, смонтированный в /mnt/data, пуст и имеет 94 ГБ свободного места. Другие записи используют файловые системы tmpfs или devtmpfs, которые являются волатильной памятью, используемой как постоянное хранилище. Вы можете исключить эти записи, набрав:

  1. df -h -x tmpfs -x devtmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 1.1G 18G 6% / /dev/sda1 99G 60M 94G 1% /mnt/data

Этот вывод предлагает более фокусированный отображение текущего использования диска, удаляя некоторые псевдоустройства и специальные устройства.

Поиск информации о блочных устройствах с помощью lsblk

A block device is a generic term for a storage device that reads or writes in blocks of a specific size. This term applies to almost every type of non-volatile storage, including hard disk drives (HDDs), solid state drives (SSDs), and so on. The block device is the physical device where the filesystem is written. The filesystem, in turn, dictates how data and files are stored.

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

Без аргументов lsblk покажет имена устройств, основные и второстепенные номера, связанные с устройством (используемые ядром Linux для отслеживания драйверов и устройств), является ли устройство съемным, его размер, смонтировано ли оно только для чтения, его тип (диск или раздел) и точку монтирования. На некоторых системах для корректного отображения может потребоваться sudo:

  1. sudo lsblk
Output
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk vda 253:0 0 20G 0 disk └─vda1 253:1 0 20G 0 part /

Из вывода обычно наиболее важными частями будут имя, которое относится к имени устройства в /dev, размер, тип и точка монтирования. Здесь видно, что у вас есть один диск (/dev/vda) с одним разделом (/dev/vda1), используемым как раздел /, и другой диск (/dev/sda), который не был разделен.

Для получения более актуальной информации о управлении дисками и разделами вы можете использовать флаг --fs в некоторых версиях:

  1. sudo lsblk --fs
Output
NAME FSTYPE LABEL UUID MOUNTPOINT sda vda └─vda1 ext4 DOROOT c154916c-06ea-4268-819d-c0e36750c1cd /

Если флаг --fs недоступен в вашей системе, вы можете вручную воспроизвести вывод, используя флаг -o для запроса конкретного вывода. Вы можете использовать -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT для получения той же информации.

Чтобы получить информацию о топологии диска, введите:

  1. sudo lsblk -t
Output
NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME sda 0 512 0 512 512 1 deadline 128 128 2G vda 0 512 0 512 512 1 128 128 0B └─vda1 0 512 0 512 512 1 128 128 0B

Есть много других ярлыков, доступных для отображения связанных характеристик ваших дисков и разделов. Вы можете вывести все доступные столбцы с флагом -O, или настроить поля для отображения, указав имена столбцов с флагом -o. Флаг -h можно использовать для перечисления доступных столбцов:

  1. lsblk -h
Output
. . . Available columns (for --output): NAME device name KNAME internal kernel device name . . . SUBSYSTEMS de-duplicated chain of subsystems REV device revision VENDOR device vendor For more details see lsblk(8).

Работа с монтированием файловых систем

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

Монтирование – это то, что вы можете делать более часто. Монтирование файловой системы делает ее доступной для сервера в выбранной точке монтирования. Точка монтирования – это каталог, под которым новая файловая система может быть доступна.

Два взаимодополняющих команды применяются в основном для управления монтированием: mount и umount. Команда mount используется для подключения файловой системы к текущему дереву файлов. В системе Linux используется единая файловая иерархия для всей системы, независимо от того, из скольких физических устройств она состоит. Команда umount (Примечание: это umount, а не unmount) используется для отключения файловой системы. Кроме того, команда findmnt полезна для сбора информации о текущем состоянии подключенных файловых систем.

Использование команды mount

Самый простой способ использования mount – передача отформатированного устройства или раздела и точки монтирования, куда оно должно быть подключено:

  1. sudo mount /dev/sda1 /mnt

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

Обычно вы захотите выбрать более конкретные параметры при монтировании. Хотя mount может пытаться угадать тип файловой системы, почти всегда лучше передать тип файловой системы с помощью опции -t. Для файловой системы Ext4 это будет:

  1. sudo mount -t ext4 /dev/sda1 /mnt

Есть множество других вариантов, которые будут влиять на способ монтирования файловой системы. Существуют общие параметры монтирования, которые можно найти в разделе НЕЗАВИСИМЫЕ ОТ ФАЙЛОВОЙ СИСТЕМЫ ПАРАМЕТРЫ МОНТИРОВАНИЯ руководства по монтированию.

Передайте другие параметры с флагом -o. Например, чтобы смонтировать раздел с параметрами по умолчанию (которые означают rw,suid,dev,exec,auto,nouser,async), вы можете передать -o defaults. Если вам нужно переопределить разрешения на чтение-запись и смонтировать только для чтения, вы можете добавить ro как дополнительный параметр, который переопределит rw из опции defaults:

  1. sudo mount -t ext4 -o defaults,ro /dev/sda1 /mnt

Чтобы смонтировать все файловые системы, описанные в файле /etc/fstab, вы можете передать опцию -a:

  1. sudo mount -a

Список параметров монтирования файловой системы

Чтобы отобразить параметры монтирования, используемые для конкретного монтирования, используйте команду findmnt. Например, если вы просмотрели монтирование только для чтения из приведенного выше примера с помощью findmnt, это будет выглядеть примерно так:

  1. findmnt /mnt
Output
TARGET SOURCE FSTYPE OPTIONS /mnt /dev/sda1 ext4 ro,relatime,data=ordered

Это может быть полезно, если вы экспериментировали с несколькими параметрами и, наконец, обнаружили набор, который вам нравится. Вы можете узнать используемые параметры с помощью findmnt, чтобы знать, что следует добавить в файл /etc/fstab для будущего монтирования.

Демонтирование файловой системы

Команда umount используется для демонтирования указанной файловой системы. Еще раз, это umount, а не unmount.

Общая форма команды заключается в указании точки монтирования или устройства текущей примонтированной файловой системы. Убедитесь, что вы не используете файлы в точке монтирования и что у вас нет запущенных приложений (включая текущую оболочку) внутри точки монтирования:

  1. cd ~
  2. sudo umount /mnt

Обычно нет опций, которые можно добавить к поведению по умолчанию при демонтировании.

Заключение

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

Source:
https://www.digitalocean.com/community/tutorials/how-to-perform-basic-administration-tasks-for-storage-devices-in-linux