Мастерская iPloGic
+7 (926) 961-66-26

 — База знаний — Подключение внешнего жесткого диска или флэшки в Linux

Подключение внешнего жесткого диска или флэшки в Linux

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


Проверяем видит ли система диск

Linux, обычно для любого действия предоставляет много различных путей. Рассмотрим несколько из них. Самый распространенный из них команда fdisk -l:

#fdisk -l
Disk /dev/sda: 897.0 GB, 896998047744 bytes
256 heads, 63 sectors/track, 108627 cylinders, total 1751949312 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1  1751949311   875974655+  ee  GPT

      .... не интересная нам информация ....
      
Disk /dev/sdb: 4000.8 GB, 4000752599040 bytes     # наш диск
255 heads, 63 sectors/track, 60799 cylinders, total 976746240 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

      .... еще не интересная нам информация ....

Недостаток этого способа в избыточности информации, но зато он универсален.

Другой способ команда lsblk:

# lsblk
NAME                                  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                                     8:0    0 835.4G  0 disk
├─sda1                                  8:1    0  1007K  0 part
├─sda2                                  8:2    0   127M  0 part
└─sda3                                  8:3    0 835.3G  0 part
  ├─pve-root (dm-0)                   253:0    0    80G  0 lvm  /
.........
  └─pve-swap (dm-1)                   253:1    0    10G  0 lvm  [SWAP]
sr0                                    11:0    1  1024M  0 rom
sdb                                     8:16   0   3.7T  0 disk          # наш диск

Если диск подключен через USB, то проверить что у нас вообще подключено можно так:

# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 002: ID 04b3:4010 IBM Corp.
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 1058:107c Western Digital Technologies, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

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

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

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

Чтобы работать с диском на нем нужно создать раздел(ы) и файловую систему для него или их. Если диск уже отформатирован в Linux всего этого делать не нужно. Для создания разделов на диске существует много утилит, но мы рассмотрим утилиту cfdisc.

# cfdisk /dev/sdb

Скриншоты ниже немного подкорректированы для наглядности, так что на цифры не смотрите, главное понять принцип. Видим что-то вроде:

Стрелками наводим на new и жмем enter. Видим:

Теперь нас просят выбрать тип раздела. Я обычно для первого выбираю Primary, для остальных Logical. Но это уже на ваше усмотрение. Выбираем и жмем enter.

Последний шаг. Вводим размер раздела.

Все. Раздел с именем sdb1 создан. Создаем следующий или жмем Quit.

Теперь наш раздел нужно форматировать под определенную файловую систему. Выбор типа файловой системы вопрос отдельный и здесь мы его касаться не будем. Возьмем для примера тип ext3. Вводим команду:

# mkfs -t ext3 /dev/sdb1

И долго смотрим на проценты. В итоге получаем ответ об успешном окончании форматирования.

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

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

# mkdir /mydisk
# mount ext3 /dev/sdb1 /mydisk

Все подключение диска закончено. Все файлы можно найти в директории /mydisk.

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

/dev/sdb1 /mydisk ext3 defaults 0 1

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

Еще важный момент. Перед отключением диска от сервера или компьютера его разделы нужно размонтировать командой

# umount /dev/sdb1

Иначе Вы рискуете повредить файловую систему и потерять данные на нем.


02.12.2016