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

Вступление

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

Другие источники

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

Для получения дополнительной информации о некоторой терминологии, используемой для обсуждения хранения, взгляните на нашу статью на https://www.digitalocean.com/community/tutorials/an-introduction-to-storage-terminology-and-concepts-in- linux [терминология хранения].

Нахождение емкости и использования с помощью df

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

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

df -h
OutputFilesystem      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 + пусто и имеет 94G свободного места. Другие записи используют файловые системы + tmpfs + или + devtmpfs +, которые являются энергозависимой памятью, используемой как постоянное хранилище. Мы можем исключить эти записи, набрав:

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

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

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

  • Блочное устройство * - это общий термин для устройства хранения, которое читает или пишет в блоках определенного размера. Этот термин применяется практически к любому типу энергонезависимой памяти, включая жесткие диски (HDD), твердотельные накопители (SSD), флэш-память и т. Д. Блочное устройство - это физическое устройство, на которое записана файловая система. Файловая система, в свою очередь, определяет, как хранятся данные и файлы.

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

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

sudo lsblk
OutputNAME   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 + в некоторых версиях:

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

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

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

sudo lsblk -t
OutputNAME   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 + может использоваться для вывода списка доступных столбцов:

lsblk -h
Output. . .

Available columns (for --output):
         device name
        internal kernel device name

      . . .

   de-duplicated chain of subsystems
          device revision
       device vendor

For more details see lsblk(8).

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

Прежде чем вы сможете использовать новый диск, вам обычно нужно разбить его на разделы, отформатировать с помощью файловой системы, а затем смонтировать диск или разделы. Разбиение и форматирование обычно являются однократными процедурами, поэтому мы не будем обсуждать их здесь. Как упоминалось ранее, вы можете узнать больше информации о том, как разбить и отформатировать диск с Linux в https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in -linux [эта статья].

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

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

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

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

sudo mount /dev/sda1 /mnt

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

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

sudo mount -t ext4 /dev/sda1 /mnt

Есть много других опций, которые будут влиять на способ монтирования файловой системы. Существуют общие параметры монтирования, которые можно найти в разделе * FILESYSTEM НЕЗАВИСИМЫЕ ПАРАМЕТРЫ МОНТАЖА * + man mount +. Файловые системы также обычно имеют раздел под заголовком * FILESYSTEM SPECIFIC MOUNT OPTIONS * в тех же параметрах, зависящих от файловой системы man-страницы.

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

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

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

sudo mount -a

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

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

findmnt /mnt
OutputTARGET SOURCE    FSTYPE OPTIONS
/mnt   /dev/sda1 ext4   ro,relatime,data=ordered

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

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

Команда + umount + используется для размонтирования заданной файловой системы. Опять же, это + umount + not + unmount +.

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

cd ~
sudo umount /mnt

Для подавляющего большинства пользователей ничего, кроме поведения по умолчанию, никогда не понадобится.

Заключение

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

Related