Подключение USB Flash-диска и перенос на него файлов сайта




Здравствуйте, уважаемые читатели! Не смотря на то, что на сегодняшний день доступный объём внутреннего NAND Flash диска заполнен всего на треть, а в обозримом будущем врядли предвидится его переполнение, я думаю уже сейчас пора задуматься о расширении доступного дискового пространства микрокомпьютера. Кроме того, для уменьшения износа NAND Flash микрокомпьютера лучше перенести файлы сайта на внешний носитель, заменить который, согласитесь, намного проще чем перепаивать микроcхему NAND прямо на плате. У меня как раз есть USB Flash-диск на 8 Гб, который последнее время лежит без дела, его-то я и буду монтировать в Raspbian микрокомпьютера.


В отличии от операционных систем Windows XP/Vista/7/8/8.1/10, в Raspbian флешка при подключении к USB-порту автоматически не монтируется, нужно обязательно прописывать её свойства в конфигурационных файлах. Вдобавок, в Rasbpian нет отдельных дисков, зато диски можно монтировать в любой каталог, из которых монтируемый диск виден как простой подкаталог.

Можно отформатировать всю флешку под ext2, но к моему удивлению, поддержка ext2 в прошивке микрокомпьютера напрочь отсутствует, и из доступного есть только экзотическая SQUASHFS, а также VFAT и MSDOS:

SQUASHFS - это специальная файловая система со сжатием, но поскольку она расчитана исключительно на чтение, от неё придётся сразу отказаться. MSDOS - обычная FAT16. VFAT - это расширение FAT16, появившееся в Windows 95 как расширение FAT16, дополненное поддержкой длинных имён файлов. Когда вы форматируете флешку в Windows в FAT16, подразумевается именно VFAT, соответственно VFAT имеет ограничение на размер тома в 2 Гб и один раздел использовать весь имеющийся объём флешки использовать не может.

Помимо отсутствия поддержки ext2, прошивка микрокомпьютера весьма порадовала меня отсутствием возможности отформатировать раздел под файловые системы, отличные от уже неподдерживаемой ext2! Вот так сюрприз! К сожалению, для приведения в порядок имеющихся средств работы с дисками нужно пересобирать дистрибутив Raspbian из исходных кодов. Поскольку, объём флешки всего 8 Гб, можно пойти компромиссным путём, под Windows разбить флешку на четыре раздела и форматировать их под FAT16 - это как раз нужная нам VFAT, а уже в Raspbian готовые разделы отдельно подмонтировать в удобный каталог. Итак, - поехали!


К сожалению, стандартный драйвер Windows не допускает создание нескольких разделов на съёмных носителях, поэтому для начала нужно установить специальный драйвер Hitachi, чтобы моя флешка опозналась как жёсткий диск. Поскольку, процесс установки драйвера отличается от описанного в различных интернет-мануалах, я распишу всё очень подробно.

После подключения флешки к компьютеру нужно запустить диспетчер устройств, во вкладке "Дисковые устройства" найти флешку и в свойствах устройства найти ID оборудования, а затем выделить и скопировать:

Далее, распаковать архив с драйвером в удобное место, открыть файл cfadisk.inf и в разделе [cfadisk_device] в строке

%Microdrive_devdesc% = cfadisk_install,USBSTOR\General_USB_Flash_Disk

подчёркнутый текст заменить на ранее скопированный код оборудования:

и сохранить файл. Поскольку, Windows считает, что драйвера флешки не нуждаются в обновлении, то простое обновление драйверов с указанием файлов не поможет, драйвер нужно ставить вручную. Поэтому, выделив правой кнопкой мыши свежесохранённый cfadisk.inf, запускаю установку:

Несмотря на предупреждение, всё равно устанавливаю драйвер, и система радостно рапортует о завершении:

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

Перехожу к списку уже установленных драйверов,

выбираю свежеустановленный драйвер

и дожидаюсь окончания установки:


Теперь флешка распознаётся системой как жёсткий диск и её можно разбивать на разделы. Запускаю управление дисками и удаляю ненужный мне раздел с FAT32,

и начинаю создавать новые штатным мастером:

Указываю размер каждого тома в 1908МБ - четверть объёма флешки:

Буква диска не имеет значения:

Указываю файловую систему FAT для форматрования:

Наконец, новый раздел готов к использованию:

На оставшемся неразмеченном месте, аналогичным образом создаю и форматирую остальные разделы:

Готово, сейчас на флешке имеется четыре раздела, которые нормально распознает микрокомпьютер:

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


Проверяю наличие флешки командой

fdisk -l

В микрокомпьютере флешка установилась как /dev/sda, имеет три основных раздела /dev/sda1, /dev/sda2, /dev/sda3, и расширенный раздел /dev/sda4, в котором находится логический диск /dev/sda5. Сам расширенный раздел служит лишь обрамлением для логического диска, и монтировать его не нужно. Пусть, разделы sda1, sda2, sda3 и, внимание, sda5 будут монтироваться соотвестсвенно в подкаталогах /usbflash1, /usbflash2, /usbflash3 и /usbflash4 каталога /mnt.

Чтобы флешка сразу монтировалась при загрузке микрокомпьютера, в каталоге /etc нужно создать файл fstab и прописать в нём, какие разделы в какие каталоги будут монтироваться:

Чтобы изменения вступили в силу, перезагружаю микрокомпьютер:

reboot

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

df

Как видите, все разделы флешки успешно смонтированы, и в файловом менеджере WinSCP можно просмотреть их содержимое, а вот и архив, который я скопировал на флешку перед её извлечением из компьютера:

Каталоги $RECYRCLE и System Volume Information в корневых каталогах разделов флешки были созданы Windows для своих нужд сразу же после их форматирования, но для микрокомпьютера они точно не нужны и их можно без сожаления удалить.


Остаётся перенести хранящиеся в каталоге /var/www/html файлы сайта в, например, каталог usbflash1 смонтированного первого раздела флешки и прописать новый путь в файлах /etc/nginx/sites-available/default и /etc/nginx/sites-enabled/mb7707.ru. Для этого нужно найти строку:

root /var/www/html;

и заменить её на

root /mnt/usbflash1/mb7707;


Вот и всё! Флешка успешно подмонтирована и файлы сайта перенесены на неё из внутренней NAND Flasn микрокомпьютера!


Благодарю за внимание, доброго здоровья!



Сайт работает на микрокомпьютере