Вступление
Существует много инструментов для управления хранилищем в 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
Для подавляющего большинства пользователей ничего, кроме поведения по умолчанию, никогда не понадобится.
Заключение
Хотя этот список ни в коем случае не является исчерпывающим, эти утилиты должны охватывать большую часть того, что вам нужно для ежедневных задач системного администрирования. Изучив несколько инструментов, вы легко сможете управлять устройствами хранения на своем сервере.