Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen
Смерть, развод, переезд — три наиболее стрессовых ситуаций в жизни любого человека.
«Американская история ужасов».

— Андрюх, я из дома ухожу, помоги с переездом, ко мне всё не влезет:(
— Хорошо, а много там?
— Тонн* 7-8…
*Тонна (жарг.) — Терабайт.

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

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

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

Design

Как оказалось в результате проектно-изыскательских работ, качество и оперативность процесса миграции зависит не только от технических характеристик «площадок», где находятся или будут находиться данные, но и от их физического местоположения.

Миграционный менеджер — вычислительный узел, на котором функционирует «логика» процесса — ПО для управления миграцией.

То есть, всего существуют две модели размещения «миграционного менеджера»

  • Modell A. Если хотя бы к одной из площадок есть доступ только изнутри локальной сети, то в этой же сети стоит размещать и «миграционного менеджера». Ибо производительность и время миграции всё равно ограничены скоростью и аптаймом канала, площадки связывающие.
  • Modell B. Если и к источнику, и к приёмнику данных есть доступ за пределами локального сети, то «миграционного менеджера» стоит селить там, где скорость и аптайм канала между ними будет заведомо лучше.

Чтобы как-то декомпозировать вышесказанное, предлагаю вернуться к задачам из основного вопроса статьи, и формализовать их в техническое задание.

Для начала необходимо выяснить, поддерживает ли используемое мной программное обеспечение «облака»: Mail.ru, Yandex, Google Drive, Mega, Nextloud?

Короткий ответ: «ДА!»

Ech benotzt klonen.

Rclone — rsync для облачных хранилищ. Open Source ПО предназначенное для синхронизации файлов и папок более чем с 45 типами и видами хранилищ.

Hei sinn nëmmen e puer vun hinnen:
— Alibaba Cloud (Aliyun) Object Storage System (OSS)
— Amazon S3
— Ceph
— DigitalOcean Spaces
— Dropbox
— Google Cloud Storage
— Google Drive
— Google Photos
— HTTP
— IBM COS S3
— Mail.ru Cloud
— Mega
— Microsoft Azure Blob Storage
— Microsoft OneDrive
— Minio
— Nextcloud
— Openstack Swift
— Oracle Cloud Storage
— ownCloud
— Rackspace Cloud Files
— rsync.net
— SFTP
— WebDAV
— Yandex Disk

Основной функционал:
— Проверка целостности файлов по хэшам MD5/SHA1.
— Сохранение временных меток создания/изменения файлов.
— Поддержка частичной синхронизации.
— Копирование только новых файлов.
— Синхронизация (односторонняя).
— Проверка файлов (по хэшам).
— Возможность синхронизации из одного облачного аккаунта в другой.
— Поддержка шифрования.
— Поддержка локального кэширования файлов.
— Возможность монтирования облачных сервисов через FUSE.

От себя добавлю, что Rclone также помогает мне решать львиную долю задач связанных с автоматизацией резервирования данных в проекте «Väinämöinen».

Следующая задача — выбор модели размещения «миграционного менеджера».

Ко всем источникам данных — коими являются различные публичные облачные сервисы, есть доступ через интернет. В том числе и через API. У двух из трёх приёмников — тоже. Неясно только где развёрнут сам Nextcloud и какой доступ к нему есть?

Возможных вариантов я насчитал пять:

  1. На собственном сервере в домашней/корпоративной сети.
  2. На собственном сервере в арендуемой стойке дата-центра сервис-провайдера.
  3. На арендуемом у сервис-провайдера сервере.
  4. На виртуальном сервере (VDS/VPS) у сервис/хостинг-провайдера 
  5. У сервис-провайдера по модели SaaS

Учитывая то, что Nextcloud это всё-таки ПО для создания и использования облачного хранилища, можно смело утверждать что доступ к нему через интернет доступен во всех пяти вариантах. И оптимальным в этом случае моделью размещения «миграционного менеджера» станет — модель B.

Согласно выбранной в качестве площадки для «миграционного менеджера» модели, я выберу один из оптимальных, с моей точки зрения, вариантов — виртуальный сервер в дата-центре М9 крупнейшей в России точки обмена интернет-трафиком MSK-IX.

Третье решение, которое необходимо принять — это определиться с конфигурацией виртуального сервера. 

При выборе параметров конфигурации VDS нужно руководствоваться необходимой производительностью, которая зависит от ширины каналов между площадками, количеством и размером перемещаемых файлов, количеством потоков миграции и настройками. Что касается ОС, то Rclone — кроссплатформенное ПО, работающее под различными операционными системами, включая Windows и Linux.

Если планируется запускать несколько процессов миграции, да ещё и определённой периодичностью, то стоит рассмотреть вариант аренды VDS с оплатой за ресурсы.

Kreatioun

Согласно вышеизложенному, при создании прототипа для этой статьи я выбрал VDS в следующей конфигурации.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

стоимостью 560 руб./мес. с учётом 15% скидки по купону NOSTRESS.

Такой выбор обусловлен тем, что узел под ОС Windows, для соответствия условиям нашего ТЗ, настраивается легче, чем под другие ОС, доступные к заказу.

Оффтопик: Кстати, для пущей безопасности, этот виртуальный сервер назначен одним из узлов защищенной виртуальной сети. и доступ к нему по RDP разрешён только оттуда…

После создания VDS и получения доступа к рабочему столу по RDP, первое что необходимо сделать — подготовить окружение для Rclone и Web-GUI. Т.е. установить новый браузер по умолчанию, например Chrome, так как установленный изначально IE 11, к сожалению, не всегда корректно работает с используемым ПО. 

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

После подготовки окружения загружаем архив с программным пакетом Rclone для Windows и распаковываем его. 

Далее — в режиме командной строки Windows выполняем команду перехода в папку с извлечёнными файлами. У меня она располагается в домашней папке администратора:

C:UsersAdministrator>cd rclone

После перехода — выполняем команду запуска Rclone c Web-GUI:

C:UsersAdministratorrclone>rclone rcd --rc-web-gui --rc-user=”login” --rc-pass=”password” -L

где “login” и “password”, заданные вами логин и пароль, естественно, без кавычек.

По факту выполнения команды в терминале выводится

2020/05/17 22:34:10 NOTICE: Web GUI exists. Update skipped.
2020/05/17 22:34:10 NOTICE: Serving Web GUI
2020/05/17 22:34:10 NOTICE: Serving remote control on http://127.0.0.1:5572/

а в браузере автоматически открывается графический веб-интерфейс Rclone.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

Несмотря на то, что Web-GUI ещё находится в стадии тестовой версии и не обладает пока всеми возможностями управления Rclone, которые есть у интерфейса командной строки, его возможностей вполне достаточно для осуществления миграции данных. И даже чуть больше.

Upassung

Следующим этапом мы настроим подключения к площадкам где находятся или будут находится данные. И первым в очереди будет основной приёмник данных — Nextcloud.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

1. Для этого переходим в раздел Configuratioun Web-GUI. 

2. Инициируем создание новой конфигурации — кнопка New Config.

3. Задаём имя площадке — поле Name of this drive (For your reference): Nextcloud.

4. Выбираем тип или вид хранилища wielt: Для Nextcloud и Owncloud основной интерфейс обмена данными — WebDAV.

5. Далее кликом на Schrëtt 2: Setup drive раскрываем список параметров соединения и заполняем. 

- 5.1. URL of http host to connect to URL — гипертекстовая ссылка интерфейса WebDAV. В Nextcloud находятся в настройках — левый нижний угол интерфейса.
- 5.2. Name of the Webdav site/service/software you are using — имя интерфейса WebDAV. Поле необязательное, для себя, чтобы не запутаться если таких подключений много.
- 5.3 Benotzernumm — Имя пользователя при авторизации
- 5.4. Passwuert — Пароль для авторизации
- 5.5. Bearer token instead of user/pass (eg a Macaroon) и Command to run to get a bearer token в расширенных опциях дополнительные параемтры и команды авторизации. В моём Nextcloud они не задействованы.

6. Nächst klickt Create config и для того чтобы убедиться в создании конфигурации, переходим в раздел Сonfig веб-интерфейса… Через эту же страницу вновь созданную конфигурацию можно удалить или отредактировать.

Для того чтобы проверить работоспособность подключения к площадке — переходим в раздел Explorer. Am Feld Remoten вводим название настроенной площадки и нажимаем Open. Если вы увидели список файлов и каталогов — соединение с площадкой работает.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

Для пущей убедительности можете через веб-интерфейс создать/удалить папку или скачать/удалить какой-либо файл.

Второй по порядку подключаемой площадкой будет Яндекс диск.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

  • Первые четыре шага аналогичны процессу подключения Nextcloud.
  • Далее всё оставляем как есть, то есть — поля в Step 2: Setup drive оставляем пустыми, в расширенных опциях ничего не меняем.
  • Mir drécken Сreate Config.
  • В браузере открывается страница авторизации на Яндексе, после прохождения которой, сообщение об успешном подключении и предложением вернуться к Rclone.
  • Что мы и делаем, проверяя раздел Configuréieren.

D'Migratioun

Когда у нас подключены две площадки, мы уже можем осуществить миграцию данных между ними. Собственно процесс похож на проверку работоспособности подключения к Nextcloud, что мы проводили ранее.

  • Géi op Explorer.
  • Выбираем шаблон 2-side by side.
  • В каждом из Remoten указываем имя своей площадки.
  • Mir drécken Open.
  • Видим каталог файлов и папок каждой из них.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

Для начала процесса миграции остаётся только выбрать нужную папку с файлами в каталоге источника данных и перетащить её мышкой в каталог приёмника.

Механизм добавления оставшихся площадок и действий по миграции данных между ними аналогичен операциям, выполненным выше. Если в процессе работы вы сталкиваетесь с ошибками, то подробности о них можно изучить в терминале, где запущен Rclone с Web-GUI.

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

PS Если вы не согласны с последним утверждением — пишите в комментариях: какая «тема не раскрыта» и в каком ключе стоит продолжать.

Wéi Dir Dateien vun enger Wollek op eng aner transferéiert ouni duerch Äre PC ze goen

Source: will.com

Setzt e Commentaire