Предыстория
Появилась необходимость подключить внешний жесткий диск к устройству для создания сетевого хранилища. В наличии есть диск размером 1 Тб с ноутбука. Для подключения буду использовать внешний карман с интерфейсом USB 3.0.
Подключение
Здесь ничего особенного, подключаем диск, и с помощью команды dmesg убеждаемся что он определяется. Должно быть что то подобное:
[ 6.792286] scsi 0:0:0:0: Direct-Access ATA HGST HTS541010A7 B4A0 PQ: 0 ANSI: 6
[ 6.793553] sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[ 6.794316] sd 0:0:0:0: [sda] Write Protect is off
[ 6.794340] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[ 6.795684] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 7.082562] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 7.190588] sda: sda1 sda2
[ 7.194565] sd 0:0:0:0: [sda] Attached SCSI disk
Форматирование
Прежде чем приступить к форматированию диска, нужно убедиться что все нужные данные с него были заранее скопированы, так как в процессе форматирования все данные с диска будут удалены.
Сейчас на диске два NTFS раздела. В предыдущих тестах было замечено что при использовании NTFS раздела с Raspberry PI значительно нагружает процессор при операциях чтения/записи. С файловой системой EXT4 такого замечено не было, поэтому её и буду использовать.
С помощью команды lsblk -f можно посмотреть разделы жесткого диска и используемую файловую систему.
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 ntfs 01D2B1F4689D46C0
└─sda2 ntfs LENOVO_PART 01D25C3BB1A28650
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203.9M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 23.4G 14% /
Для удаления всех существующих разделов на диске, и создания одного будем использовать утилиту fdisk. Для этого нам понадобится имя диска с предыдущей команды, в моём случае это /dev/sda. Вводим команду sudo fdisk /dev/sda, и попадаем в меню утилиты. Для проверки введем p что бы вывести информацию о диске и существующих разделах:
Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: HGST HTS541010A7
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D5116618-53A8-494E-854F-79D5A5ACBC13
Device Start End Sectors Size Type
/dev/sda1 2048 1914003455 1914001408 912.7G Microsoft basic data
/dev/sda2 1914003456 1953520064 39516609 18.8G Windows recovery environment
По очереди удаляем все существующие разделы с помощью команды d.
Далее создаём новый раздел с помощью команды n, оставляя все значения по умолчанию. На последний вопрос Do you want to remove the signature? отвечаем Y.
Следующей командой будет w что бы записать все изменения на диск.
После всех манипуляций можно проверить изменения структуры диска с помощью команды lsblk -f:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203.9M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 23.4G 14% /
У нас есть раздел, теперь нужно отформатировать его в нужную файловую систему. Сделать это можно командой sudo mkfs -t ext4 /dev/sda1:
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 244190385 4k blocks and 61054976 inodes
Filesystem UUID: 8a7c1a6d-5513-4161-b50e-9f4bc8c8df43
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848
Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done
Проверяем изменения:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
└─sda1 ext4 1.0 8a7c1a6d-5513-4161-b50e-9f4bc8c8df43
mmcblk0
├─mmcblk0p1 vfat FAT32 boot C839-E506 203.9M 19% /boot
└─mmcblk0p2 ext4 1.0 rootfs 568caafd-bab1-46cb-921b-cd257b61f505 23.4G 14% /
Монтирование
Первым делом нужно создать папку для монтирования диска, сделать это можно командой sudo mkdir /mnt/hdd. По этому пути будут находится все файлы жесткого диска.
Далее нужно настроить автоматическое монтирование в созданную директорию, для этого отредактируем таблицу монтирования с помощью команды sudo nano /etc/fstab.
В конец этого файла нужно добавить следующую строчку, заменив UUID на идентификатор своего раздела (выводится командой lsblk -f):
UUID=<uuid-of-your-drive> /mnt/hdd ext4 defaults,noatime,nofail 0 2
Сохраняем файл, и применяем изменения с помощью команды sudo mount -a.
