Раздел помощи SpaceWeb

Управление устройствами хранения данных в Linux

13 дек, 2023

В этой инструкции мы расскажем о том, как смонтировать разделы в Линукс, управлять файловыми системами и устройствами хранения данных. 

Как проанализировать дисковое пространство

Узнать объем свободного и занятого дискового пространства можно при помощи утилиты df

По умолчанию результат команды выводится в блоках. Такой вывод не всегда удобен для прочтения. Получить результат в удобном для чтения виде можно с помощью команды: 
df -h

Вывод команды df -h в Linux будет выглядеть примерно так:

$ df -h
Filesystem              Size  Used Avail Use% Mounted on
devtmpfs                 63G     0   63G   0% /dev
tmpfs                    63G     0   63G   0% /dev/shm
tmpfs                    63G  3.1M   63G   1% /run
tmpfs                    63G     0   63G   0% /sys/fs/cgroup
/dev/mapper/store-root  1.8T  1.3T  339G  80% /
tmpfs                   8.0G  226M  7.8G   3% /tmp
/dev/sda1               248M  140M   96M  60% /boot
tmpfs                    13G     0   13G   0% /run/user/0

Исключить из вывода какие-либо записи можно с помощью флага -x. Например, чтобы получить вывод без файловых систем devtmpfs и tmpfs, относящихся к энергозависимой памяти, нужно прописать команду:

$ df -h -x devtpms -x tmpfs

Вывод будет выглядеть следующим образом:

$ df -h -x devtpms -x tmpfs
Filesystem              Size  Used Avail Use% Mounted on
devtmpfs                 63G     0   63G   0% /dev
/dev/mapper/store-root  1.8T  1.3T  339G  80% /
/dev/sda1               248M  140M   96M  60% /boot

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

Блочное устройство — это устройство хранения данных, записывающее или считывающее данные в блоках определенного размера. К таким устройствам относятся жесткие диски (HDD), твердотельные накопители (SSD), флешки и другие типы энергонезависимой памяти. Проще говоря, это физические устройства, на которых записывается файловая система. А файловая система определяет способ организации и хранения данных на носителе.

Узнать данные о блочных устройствах можно с помощью утилиты lsblk. Она выводит имя, размер и тип устройства, его права доступа, показывает точку монтирования и является ли устройство съемным (столбец RO, 1 — устройство съемное, 0 — устройство несъемное).

Важно! В некоторых системах команда работает только с sudo.

$ lsblk
NAME           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda              8:0    0  1.8T  0 disk
|-sda1           8:1    0  256M  0 part /boot
|-sda2           8:2    0    8G  0 part [SWAP]
`-sda3           8:3    0  1.8T  0 part
  `-store-root 253:0    0  1.8T  0 lvm  /

Чтобы узнать файловую систему диска, используйте команду:
lsblk --fs

2$ lsblk --fs
NAME           FSTYPE    LABEL UUID                                   MOUNTPOINT
sda
|-sda1         ext2            af962028-04a2-4428-8b48-84b2777268fa   /boot
|-sda2         swap            a0eea781-0154-41a7-ad5f-124d854fc22b   [SWAP]
`-sda3         LVM2_memb       HvMd3l-VeD4-DUUK-8zwv-XjjG-KbB9-Pb333X
  `-store-root ext4            1518de71-11d0-4b5d-b0b5-5a038248a731   /

Если ваша версия lsblk не поддерживает --fs, воспользуйтесь командой:
lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Узнать топологию диска можно с помощью команды: 
lsblk -t

Вывод будет примерно следующим:

$ lsblk -t
NAME           ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE  RA             WSAME
sda                    0 262144 262144    4096     512    1 deadline     128 128                0B
|-sda1                 0 262144 262144    4096     512    1 deadline     128 128                0B
|-sda2                 0 262144 262144    4096     512    1 deadline     128 128                0B
`-sda3                 0 262144 262144    4096     512    1 deadline     128 128                0B
  `-store-root         0 262144 262144    4096     512    1              128 128                0B

Существует множество других опций команды lsblk, с помощью которых можно получить данные о дисках и разделах. Например, ключ -O выводит все доступные столбцы, ключ -o задает столбцы, которые следует отобразить. 

Чтобы воспользоваться подсказкой, введите команду: 
lsblk -h

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

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

Точка монтирования — каталог, в котором будет смонтирована файловая система. 

Смонтировать диск в Linux можно при помощи команды mount. Команда umount позволяет демонтировать файловую систему. О текущем состоянии подключенных файловых систем можно узнать, используя команду findmnt.

Команда mount

Синтаксис прост — сначала прописывается команда mount, после указывается что нужно присоединять (в примере /dev/sda1), а потом нужно указать точку монтирования (в примере /mnt):

sudo mount /dev/sda1 /mnt

Командой mount диск монтируется в папку, которая указана как точка монтирования. 

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

sudo mount -t ext3 /dev/sda1 /mnt

В этом примере задан тип файловой системы ext3.

Существует множество опций, с помощью которых можно повлиять на монтирование. Вы можете ознакомиться с документацией по использованию утилиты mount, введя команду: man mount

Параметры доступа к примонтированному разделу можно указать с помощью ключа -o. Например, смонтировать раздел со стандартными параметрами можно при помощи команды:

sudo mount -t ext3 -o defaults /dev/sda1 /mnt

Изменить права доступа и оставить только право на чтение можно командой:

sudo mount -t ext3 -o ro /dev/sda1 /mnt

Оставить права на чтение и запись можно командой: 

sudo mount -t ext3 -o rw /dev/sda1 /mnt

Смонтировать все системы, которые указаны в файле /etc/fstab, можно с помощью команды:

sudo mount -a

Команда findmnt

Показать параметры монтирования для конкретного монтирования или для всех смонтированных файловых систем можно с помощью утилиты findmnt

Чтобы отобразить параметры монтирования для всех смонтированных файловых систем, используйте команду:
findmnt

Чтобы отобразить параметры монтирования для конкретного монтирования, используйте команду:
findmnt /mnt
где /mnt — точка монтирования. 

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

Команда umount

umount — Linux-команда, которая позволяет демонтировать файловую систему.

В команде нужно указать точку монтирования или устройство файловой системы, которое смонтировано в настоящее время:

cd ~
sudo umount /mnt

где /mnt — точка монтирования.

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