Автоматическое монтирование диска centos

Обновлено: 07.07.2024

В этой небольшой заметке я покажу на практическом примере, как работать с дисками в Linux.

Активация диска в Linux

Предположим вы подключили новый диск, на котором ещё нет файловой системы. Система его не видит и нам нужно выполнить команды для его подключения.

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

При подключении нового диска нам нужно:

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

Как узнать имена дисков, как просмотреть все диски в системе

Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/. В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.

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


Как видно из скриншота, имеется диск /dev/nvme0n1. Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2. По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1.

Также имеется диск /dev/sda, который не разделён ни на какие разделы — именно его я и буду подключать.

Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk. После неё укажите имя диска, с которым вы хотите выполнить действия:


Диск может быть GPT или MBR (показывается как dos). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый:


Введите его размер.

Если нужно, поменяйте тип раздела:


Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись.

Форматирование разделов

Для форматирования в ext4:

Для форматирования в ext3:

Для форматирования в ext2:

Для форматирования в FAT32:

Мой пример (я не стал разбивать диск на разделы):


Кстати, если вы хотите отформатировать раздел, который уже используете, то его нужно сначала отмонтировать (об этом дальше).

Монтирование и размонтирование дисков

С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount.

Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.

Для монтирования используется команда вида:

Допустим, я хочу, чтобы новый диск был подключён (смонтирован) к папке /mnt/disk_d. Название можно выбрать любое и точка монтирования необязательно должна быть в директории /mnt/ - можно сделать в домашней папке или в любой другой.

Начинаем с создания директории, в которую будет смонтирован диск:

Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:

На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.

Для размонтирования диска используется любая из двух команд:

Автоматическое монтирование диска при загрузке Linux

Диски для монтирования при запуске Linux прописаны в файле /etc/fstab.

Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/. При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:

Открываю файл /etc/fstab:

и дописываю туда следующую строчку:

В этой строке вам нужно заменить

  • /dev/sda — на диск, который вы желаете смонтировать
  • /mnt/disk_d — на вашу точку монтирования, которую вы выбрали для своего диска.
  • ext4 — на файловую систему вашего диска

Если вы не уверены в файловой системе или её обозначении, то выполните команду:

В результате диск будет автоматически монтироваться при каждом старте системы.

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

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

Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta, то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.

Для проверки записей в файле /etc/fstab используйте команду


На скриншоте можно увидеть, что диск с UUID равным 26FC3023FC2FEC2D является недоступным (unreachable). Это может означать, что запись в файле /etc/fstab имеет ошибку. Но в данном случае диск с UUID=26FC3023FC2FEC2D — это съёмный диск, для его монтирования указана опция nofail (не вызывать фатальную ошибку, даже если диск отсутствует), поэтому предупреждение можно проигнорировать.

Для вывода более подробной информации добавьте опцию --verbose:


Все пункты успешно прошли проверку, рассмотрим более подробно записи проблемного диска:

  • /mnt/disk_e — точка монтирования
  • [ ] target exists — целевая папка (точка монтирования), существуют, то есть директория /mnt/disk_e имеется в системе
  • [ ] VFS options: rw — найдена такая опция монтирования как rw, то есть диск монтируется для чтения и для записи. VFS — это опции ядра, системных вызовов. Эти опции одинаковы для всех файловых систем.
  • [ ] FS options: utf8 — найдена опция, специфичная для данной файловой системы. Этой опцией является utf8, то есть для преобразования имён файлов будет использоваться кодировка UTF-8.
  • [ ] userspace options: noauto,nofail — здесь перечислены опции пользовательского пространства. Опция noauto означает не монтировать автоматически, а опция nofail означает не сообщает об ошибках для этого устройства, если оно не существует — эта опция важна для съёмных носителей и сетевых дисков, которые могут отсутствовать во время загрузки компьютера.

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

Если этого не произошло, значит нужно смонтировать вручную. Этот процесс ничем не отличается от обычного монтирования дисков: также создайте точку монтирования и используйте команду mount.

Съёмные носители можно монтировать через /etc/fstab, для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

Как просмотреть все диски и точки монтирования

Для этого используйте уже знакомую нам команду:


Как удалить разделы диска

Если вы хотите удалить всё содержимое диска, в том числе его разбивку на разделы, то это делается так:

Откройте диск в gdisk:

Для перехода в экспертный режим там введите

Затем для удаления GPT введите

Дважды согласитесь, чтобы полностью очистить диск.

Перемонтирование диска с правами записи

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

В ней /dev/sdb1 замените на имя вашего раздела.

Если вы столкнулись с ошибкой:

То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):

После этого перемонтируйте диск.

Обратите внимание, что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.

Заключение

Если у вас ещё остались вопросы, то задавайте их в комментариях.

Ещё несколько советов и проблемных случаев рассмотрено в статье «Работа с дисками в BlackArch (монтирование, решение проблем)» - эта статья подходит для всех дистрибутивов, не только BlackArch.

Mount — утилита командной строки. Применяется для монтирования файловых систем.

2. Монтаж диска к каталогу.

Создадим новый каталог /opt или используем старый, но без файлов внутри.

Монтируем новый диск к каталогу /opt и смотрим результат:


3. Настройка автоматического монтажа диска к каталогу.

Вводим команду в консоль:


Также соответствие «классических» имен устройств и их UUID представлений можно посмотреть вот так:


Настраиваем автоматическое монтирование диска при старте системы, для этого редактируем /etc/fstab в самом конце добавляем в файле информацию по аналогии:

Добавляем в него следующую строчку:

Примерный вид содержимого файла:


В текстовом виде:

Применим без перезагрузки изменения и проверим ошибки:

Перезагружаем сервер теперь у нас в роли каталогов отдельные диски!

Внимание! Если сервер после перезагрузки загрузился в аварийный режим, значит вы сделали досадную опечатку в файле /etc/fstab . Открывайте файл в текстовом редакторе, устраняйте опечатки, перезагружайтесь снова.

4. Пример монтирования сетевого диска.

В данном примере выполняется монтирование общего каталога network на сервере с IP-адресом 192.168.0.1 в каталог /mnt . В качестве сетевой файловой системы используется cifs (протокол SMB: сервер samba или общая папка Windows). Параметры для подключения — user : позволяет выполнить монтирование любому пользователю, rw : с правом на чтение и запись, noauto : не монтировать автоматически при старте системы, credentials : файл, в котором написаны логин и пароль для подключения к общей папке.

Теперь создадим файл аутентификации (credentials):

Приведем его к следующему виду:

Где username: имя пользователя, password: пароль.В вашем случае указываются ваши данные.

В про­цес­се рабо­ты с опе­ра­ци­он­ной систе­мой (ОС) поль­зо­ва­те­лю неред­ко при­хо­дит­ся под­клю­чать раз­лич­ные устрой­ства хра­не­ния. Это могут быть жёст­кие дис­ки (пере­нос­ные или с дру­го­го ком­пью­те­ра), Flash/M2-нако­пи­те­ли, при­во­ды опти­че­ских дис­ков и т. д. Неко­то­рые такие устрой­ства под­клю­ча­ют­ся (в Linux мон­ти­ру­ют­ся) вруч­ную, а неко­то­рые — авто­ма­ти­че­ски. Чаще все­го те устрой­ства, кото­рые необ­хо­ди­мо под­клю­чать авто­ма­ти­че­ски, опре­де­ля­ют­ся ещё на эта­пе уста­нов­ки систе­мы. Одна­ко, неред­ко нуж­но настро­ить воз­мож­ность авто­ма­ти­че­ско­го мон­ти­ро­ва­ния в Linux вновь добав­лен­но­го устрой­ства, напри­мер дис­ка для хра­не­ния регу­ляр­но созда­ва­е­мых резерв­ных копий. В этом слу­чае необ­хо­ди­мо сде­лать неко­то­рые изме­не­ния в кон­фи­гу­ра­ци­он­ных фай­лах. Это поз­во­лит систе­ме ини­ци­а­ли­за­ции началь­ной загруз­ки систе­мы «узнать» об авто­ма­ти­че­ски мон­ти­ру­е­мых устройствах.

Немного о том, как происходит монтирование

Мон­ти­ро­ва­ние фай­ло­вой систе­мы — это один из обя­за­тель­ных эта­пов началь­ной загруз­ки Linux. Мон­ти­ро­ва­ние необ­хо­ди­мо для того, что­бы собрать фай­ло­вую систе­му (ФС) из отдель­ных её ком­по­нен­тов в еди­ное дере­во ката­ло­гов, име­ю­щее один корень. В Linux нет поня­тия «диск» как тако­во­го. Это физи­че­ский уро­вень, отоб­ра­жа­е­мый в общее дере­во фай­ло­вой систе­мы через дру­гие фай­ло­вые систе­мы, свя­зан­ные, напри­мер, с раз­де­ла­ми дис­ков и под­клю­ча­е­мые через точ­ки монтирования.

Напри­мер, один из раз­де­лов устрой­ства хра­не­ния (дис­ка) может быть смон­ти­ро­ван как «/home». Эта запись обо­зна­ча­ет точ­ку мон­ти­ро­ва­ния ФС с домаш­ни­ми ката­ло­га­ми поль­зо­ва­те­лей систе­мы. Здесь сим­вол «/» ука­зы­ва­ет, что к обще­му кор­ню (к кор­не­вой ФС) под­клю­че­на дру­гая ФС с име­нем «home». А она в свою оче­редь при­вя­за­на к како­му-либо из раз­де­лов на устрой­стве хранения.

Мон­ти­ро­ва­ние в Linux выпол­ня­ет коман­да mount. Она вызы­ва­ет­ся систе­мой ини­ци­а­ли­за­ции (такой напри­мер, как Systemd), но так­же широ­ко исполь­зу­ет­ся для руч­но­го под­клю­че­ния устройств.

Кон­фи­гу­ра­ци­он­ным фай­лом, хра­ня­щим настрой­ки под­клю­че­ния устройств явля­ет­ся /etc/fstab . Систе­ма ини­ци­а­ли­за­ции при запус­ке систе­мы обра­ща­ет­ся к это­му фай­лу, что­бы смон­ти­ро­вать ФС соглас­но ука­зан­ным в нём настрой­кам. Содер­жи­мое фай­ла /etc/fsta b – это спи­сок тек­сто­вых строк, каж­дой из кото­рых соот­вет­ству­ет раз­дел на устрой­стве, кото­рый необ­хо­ди­мо при­мон­ти­ро­вать с опре­де­лён­ны­ми пара­мет­ра­ми, ука­зан­ны­ми в этой стро­ке. Пра­ви­ла запи­си этих строк соот­вет­ству­ют опре­де­лён­но­му (и неслож­но­му) синтаксису.

Синтаксис записей в файле fstab

Сна­ча­ла может пока­зать­ся, что запись для стро­ки мон­ти­ро­ва­ния доволь­но слож­на. Одна­ко, при более при­сталь­ном раз­бо­ре такой стро­ки ста­но­вит­ся оче­вид­ным назна­че­ние её ком­по­нен­тов. Запи­си под­чи­ня­ют­ся сле­ду­ю­ще­му синтаксису:

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

Подготовка

Для монтирования общей папки необходимо установить набор утилит для работы с CIFS.

Теперь создадим точку монтирования. В данном примере мы создадим путь - /mnt/fb1234. Вы можете казать любой удобный для вас путь.

Монтирование

Вы можете использовать 2 команды для монтирования сетевого диска. Обе они верные.

Внимание! Пользователь и директория будут начинаться с fb и далее персональный номер, который мы вам выделим. В данной статье указан простой пример, как это должно выглядеть.

После ввода одной из команд, введите пароль. После этого проверьте, что диск действительно смонтирован командой:


Автоматическое монтирование CIFS через /etc/fstab

Создаём файл, в котором буду хранится данные для авторизации при подключении к общей папке:

И добавляем в него данные — пользователя и пароль.


Теперь открываем конфигурационный файл /etc/fstab и добавляем в него следующее:

//IP-адрес сервера/fb1234 /mnt/fb1234 cifs user,rw,credentials=/root/.smbclient 0 0

В примере выполняется монтирования сетевой папки «fb1234» на сервере «IP-адрес сервера» в каталог /mnt/fb1234. Параметр для подключения «user» позволяет выполнить монтирование любому пользователю, «rw» с правами на чтение и запись, «credentials» файл, который мы создали на прошлом шаге.


Теперь Ваш диск доступен root-пользователю и всем остальным «обычным пользователям».

Читайте также: