База знаний

Подключение хранилища S3 как виртуального диска Windows

Хранилище S3 можно подключить к ОС Windows как виртуальный диск. После этого работа с файлами в хранилище для пользователя не будет отличаться от работы с обычным логическим диском. Виртуальный диск можно использовать для синхронизации данных между двумя компьютерами, для облачного бэкапа файлов и в других задачах, где требуется сетевое хранение информации.

В этой статье будет рассмотрено подключение хранилища S3 в качестве виртуального диска в ОС Windows 10/11.

Автоматическое добавление и настройка виртуального диска

Сервис CLO предоставляет пользователям Windows скрипт, который автоматически выполнит настройку и подключение виртуального диска. Скрипт создаёт бакет со случайным названием.

Чтобы выполнить автоматическую настройку, воспользуйтесь следующими действиями:

  • Скачайте скрипт clo-drive.ps1
  • Поместите скрипт по адресу C:\script\clo-drive.ps1
  • Откройте Пуск → Windows PowerShell
  • Вызовите контекстное меню правой кнопкой и выберите Запуск от имени администратора
  • Выполните команду, разрешающую запуск скриптов:

Set-ExecutionPolicy Unrestricted -Scope Process

  • Разрешите запуск, нажав «y»
  • Запустите скрипт командой:

C:\script\clo-drive.ps1

  • Дайте разрешение на запуск, нажав «r»
  • По запросу скрипта введите доступы к пользователю S3: идентификатор ключа и секретный ключ
  • После завершения работы скрипта убедитесь, что в системе появился виртуальный диск S:

Подключение хранилища к диску вручную

Чтобы подключить хранилище S3 в качестве виртуального диска Windows вручную, вам потрбеуется выполнить действия в следующем порядке:

  • Создать пользователя S3 с бакетом в Личном кабинете CLO
  • Скачать и установить WinFSP
  • Скачать и разархивировать rclone
  • Настроить подключение к S3 в rclone
  • Настроить монтирование диска

Рассмотрим подробнее каждый из этих шагов.

Шаг 1. Создание пользователя с бакетом

В бакете будут храниться файлы, которые мы разместим в виртуальном диске.

  • Перейдите в Личный кабинетХранилище S3 в меню слева → Создать пользователя, оставьте отмеченным пункт Бакет по умолчанию
  • Дождитесь создания бакета. Чтобы открыть доступы к бакету, нажмите Доступы на строке бакета

Шаг 2. Скачивание и установка WinFSP

  • Скачайте установщик на официальном сайте https://winfsp.dev/rel/Download WinFsp Installer
  • Запустите установщик, выберите все опции по умолчанию

Примечание. Утилита WinFSP позволяет создавать файловые системы, необходима для монтирования виртуального диска. Это вспомогательная программа, работать с ней напрямую пользователю не придётся.

Шаг 3. Скачать и разархивировать rclone

  • На официальном сайте https://rclone.org/downloads/ скачайте последнюю версию для Windows 64 bit
  • Создайте папку для программы: C:\Program Files\rclone
  • Извлеките файлы из скачанного архива в эту папку

Примечание. Утилита rclone управляет подключением к бакету S3, а также обеспечивает двустороннюю синхронизацию файлов. Это основная программа, именно через неё осуществляется основная настройка виртуального диска.

Шаг 4. Настройка подключения к хранилищу S3 в утилите rclone

Чтобы работать с S3, необходимо настроить подключение. Это требуется сделать один раз. После этого используется сохраненная конфигурация.

Вариант без командной строки:

  • Создайте файл rclone.conf с содержимым, приведённым ниже. Обязательно подставьте данные своего ключа
[s3clo]
type = s3
provider = AWS
access_key_id = <идентификатор_ключа>
secret_access_key = <секретный_ключ>
region = default
endpoint = storage.clo.ru
  • Поместите файл rclone.conf в папку C:\Program Files\rclone

Вариант через командную строку:

  • Откройте Пуск → Командная строка
  • Перейдите в рабочую папку rclone:

cd "C:\Program Files\rclone"

  • Запустите конфигурацию в интерактивном режиме командой:

rclone config

  • По очереди вводите запрашиваемые параметры. Нажимайте после ввода каждого параметра Enter/Ввод:
    • n
    • s3clo
    • 4
    • 1
    • 1
    • вставьте идентификатор своего ключа
    • вставьте свой секретный ключ
    • default
    • storage.clo.ru
    • следующие семь параметров нужно пропустить, просто нажав Enter/Ввод 7 раз
    • нажмите «q» для выхода из мастера настройки

Созданное подключение можно проверить командой:

rclone lsd s3clo:


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

rclone lsd s3clo:
-1 2924-69-12       -1 s3-user-3228ac-default-bucket

Название бакета — последнее значение в строке, в данном случае s3-user-3228ac-default-bucket.

Шаг 5. Настройка монтирования диска

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

Чтобы настроить автоматическое подключение диска при каждом включении ОС:

  • Откройте Пуск → Windows PowerShell
  • Вызовите контекстное меню правой кнопкой и выберите Запуск от имени администратора
  • Выполните приведённую ниже команду, чтобы задать переменную окружения с командой монтирования. Подставьте в переменную название своего бакета.

Внимание! Важно выполнить эту операцию отдельным шагом.

$command1='C:\Program Files\rclone\rclone.exe mount s3clo:(ПОДСТАВИТЬ название бакета вместо скобок) S: --vfs-cache-mode full --volname "CLO S3 Disk"'

  • Добавьте сервис для автоматического монтирования, выполнив следующую команду:

New-Service -Name "s3Mount" -BinaryPathName "$command1" -StartupType "Automatic" -DisplayName "rclone Mount Service" -ErrorAction Stop

  • Запустите сервис перезагрузкой компьютера, или выполнив команду:

Start-Service "s3Mount" -ErrorAction Stop

  • Откройте Проводник и убедитесь, что виртуальный диск S: появился в системе.

Теперь диск должен монтироваться автоматически при старте операционной системы.

Решение проблем

Ручной запуск команды монтирования

Выполните монтирование вручную, если автоматическое не срабатывает. Так вы сможете убедиться в том, что команда монтирования работает, и что монтирование диска в принципе происходит

  • Откройте Пуск → Командная строка
  • Перейдите в рабочую папку rclone:

cd "C:\Program Files\rclone"

  • Запустите команду ниже, подставив название своего бакета

rclone mount s3clo:[название_бакета] s: --vfs-cache-mode full --volname "S3 Disk CLO"

Примечание. Название бакета можно посмотреть, выполнив команду rclone lsd s3clo:

  • Откройте Проводник → Этот компьютер и убедитесь что диск появился в списке
  • При завершении работы скрипта диск пропадет из системы.

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

Ведение лога

Чтобы находить ошибки, вам может понадобиться лог работы утилиты rclone. Чтобы сохранять логи, к команде монтирования выше надо добавить параметры:

  • --log-file=rclone.log — вывод лога в файл
  • --log-level=DEBUG — все сообщения в логе

Файл с логом будет находиться в рабочей папке rclone.

Управление службами Windows

Вызовите Win+R → services.msc, чтобы открыть список служб Windows. В этой программе можно посмотреть список доступных служб, а также запустить и остановить службы.

Удаление сервиса автоматического монтирования

Запустите командную строку от имени администратора, как описано выше, и выполните приведённую далее команду. В некоторых случаях может потребоваться перезагрузка.

sc delete s3Mount

Буква диска

Команды монтирования виртуального диска, описанные в этой статье, по умолчанию подключают диск под буквой SS. Измените её на другую произвольную букву, если буква S уже занята.

Примечание. Важно, чтобы диск, отмеченный выбранной буквой, не существовал в системе на момент подключения хранилища.

Кеширование

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

Для более тонкой настройки кэша вы можете изучить VFS File Caching в официальной документации.

Подключение произвольного провайдера S3

Используя инстррукции, приведённые в этой статье, вы можете подключить виртуальный диск для хранилища S3 от любого провайдера. Вам потребуется только соответствующим образом изменить подключение в файле rclone.conf, указав нужную пару ключей к вашему бакету, а также соответствующий адрес провайдера в поле endpoint и нужный регион в поле region.