Подключение жесткого диска к Raspberry PI 4

Предыстория

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

Read more

Управление несколькими серверами в одном phpMyAdmin

Сначала проверим возможность подключения к базе данных с сервера, для этого напишем в консоли mysql -h remote.example.com -u root -p где remote.example.com домен или ip адрес удаленного сервера базы данных, а root это имя пользователя. У нас запросит пароль. Если все правильно, то мы увидим следующее:

By Oleksandr Strakhov

Установка веб сервера на прошивке Padavan

Для начала нужно настроить entware. Устанавливаем nginx и php-fpm opkg install nginx php7-fpm Теперь нужно отредактировать файл /opt/etc/nginx/nginx.conf: -user nobody; +user nobody nogroup; location / { -    root   /opt/share/nginx/html; -    index  index.html index.htm; +    root   /opt/share/www; +    index  index.php index.html index.

By Oleksandr Strakhov