Як перанесці файлы з аднаго аблокі на іншае абыходзячы свой ПК
Смерць, развод, пераезд - тры найбольш стрэсавых сітуацый у жыцці любога чалавека.
"Амерыканская гісторыя жахаў".
— Андрюх, я з хаты сыходжу, дапамажы з пераездам, да мяне ўсё не ўлезе:(
- Добра, а многа там?
— тон* 7-8…
*Тона (жарг.) - Тэрабайт.
Нядаўна, падчас інтэрнэт-серфінгу, я звярнуў увагу на тое, што нягледзячы на даступнасць на Хабре і на аналагічных яму рэсурсах мноства матэрыялаў аб спосабах і мадэлях міграцыі розных тыпаў дадзеных, у сетцы ўсё яшчэ з'яўляюцца пытанні па гэтай тэме. Якія, чамусьці, не заўсёды ўдастойваюцца грунтоўных адказаў. Гэты факт і падштурхнуў мяне аднойчы сабраць нататкі аб рэалізацыі падобнага рашэння і аформіць іх у выглядзе асобнай пасады.
Наогул, пераносіць дадзеныя з адных прылад, сістэм і сэрвісаў на іншыя мне даводзіцца з некаторай назойлівай перыядычнасцю. Якая, шляхам спроб і памылак дазволіла мне не толькі пазнаёміцца з масай цікавых прадуктаў, але і знайсці баланс паміж функцыяналам і коштам рашэння, аб якім хачу расказаць
праектаванне
Як аказалася ў выніку праектна-пошукавых работ, якасць і аператыўнасць працэсу міграцыі залежыць не толькі ад тэхнічных характарыстык «пляцовак», дзе знаходзяцца або будуць знаходзіцца дадзеныя, але і ад іх фізічнага месцазнаходжання.
Міграцыйны менеджэр - вылічальны вузел, на якім функцыянуе "логіка" працэсу - ПЗ для кіравання міграцыяй.
Гэта значыць, усяго існуюць дзве мадэлі размяшчэння "міграцыйнага мэнэджара"
Мадэль А. Калі хаця б да адной з пляцовак ёсць доступ толькі знутры лакальнай сеткі, то ў гэтай жа сетцы варта размяшчаць і "міграцыйнага мэнэджара". Бо прадукцыйнасць і час міграцыі ўсё роўна абмежаваныя хуткасцю і аптаймам канала, пляцоўкі якія злучаюць.
Мадэль B. Калі і да крыніцы, і да прымача дадзеных ёсць доступ за межамі лакальнага сеткі, то "міграцыйнага мэнэджара" варта сяліць там, дзе хуткасць і аптайм канала паміж імі будзе загадзя лепш.
Каб неяк дэкампазіраваць вышэйсказанае, прапаную вярнуцца да задач з асноўнага пытання артыкула, і фармалізаваць іх у тэхнічнае заданне.
Для пачатку неабходна высветліць, ці падтрымлівае выкарыстоўванае мной праграмнае забеспячэнне "аблокі": Mail.ru, Yandex, Google Drive, Mega, Nextloud?
Rclone - rsync для хмарных сховішчаў. Open Source ПА прызначанае для сінхранізацыі файлаў і тэчак больш за з 45 тыпамі і выглядамі сховішчаў.
Вось толькі некаторыя з іх:
- 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 і які доступ да яго ёсць?
Магчымых варыянтаў я налічыў пяць:
На ўласным серверы ў хатняй/карпаратыўнай сетцы.
На ўласным серверы ў арандуемай стойцы дата-цэнтра сэрвіс-правайдэра.
На які арандуецца ў сэрвіс-правайдэра серверы.
На віртуальным серверы (VDS/VPS) у сэрвіс/хостынг-правайдэра
Улічваючы тое, што Nextcloud гэта ўсёткі ПЗ для стварэння і выкарыстанні хмарнага сховішча, можна смела сцвярджаць што доступ да яго праз інтэрнэт даступны ва ўсіх пяці варыянтах. І аптымальным у гэтым выпадку мадэллю размяшчэння "міграцыйнага мэнэджара" стане - мадэль B.
Паводле абранай у якасці пляцоўкі для «міграцыйнага мэнэджара» мадэлі, я абяру адзін з аптымальных, з майго пункта гледжання, варыянтаў — віртуальны сервер у дата-цэнтры М9 найбуйнейшай у Расіі кропкі абмену інтэрнэт-трафікам MSK-IX.
Трэцяе рашэнне, якое неабходна прыняць - гэта вызначыцца з канфігурацыяй віртуальнага сервера.
Пры выбары параметраў канфігурацыі VDS трэба кіравацца неабходнай прадукцыйнасцю, якая залежыць ад шырыні каналаў паміж пляцоўкамі, колькасцю і памерам перамяшчаных файлаў, колькасцю струменяў міграцыі і наладамі. Што да АС, то Rclone – кросплатформавае ПЗ, якое працуе пад рознымі аперацыйнымі сістэмамі, уключаючы Windows і Linux.
Калі плануецца запускаць некалькі працэсаў міграцыі, ды яшчэ і вызначанай перыядычнасцю, тое варта разгледзець варыянт арэнды VDS з аплатай за рэсурсы.
стварэнне
Паводле вышэйпададзенага, пры стварэнні прататыпа для гэтага артыкула я абраў VDS у наступнай канфігурацыі.
коштам 560 руб. / Мес. з улікам 15% скідкі па купоне NOSTRESS.
Такі выбар абумоўлены тым, што вузел пад АС Windows, для адпаведнасці ўмовам нашага ТЗ, наладжваецца лягчэй, чым пад іншыя АС, даступныя да замовы.
Афтопік: Дарэчы, для мацнейшай бяспекі, гэты віртуальны сервер прызначаны адным з вузлоў. абароненай віртуальнай сеткі. і доступ да яго па RDP дазволены толькі адтуль…
Пасля стварэння VDS і атрыманні доступу да працоўнага стала па RDP, першае што неабходна зрабіць - падрыхтаваць асяроддзе для Rclone і Web-GUI. Г.зн. усталяваць новы браўзэр па змаўчанні, напрыклад Chrome, бо ўсталяваны першапачаткова IE 11, нажаль, не заўсёды карэктна працуе з выкарыстоўваным ПА.
Пасля падрыхтоўкі асяроддзя загружаем архіў з праграмным пакетам Rclone для Windows і распакоўваем яго.
Далей - у рэжыме каманднага радка Windows выконваем каманду пераходу ў тэчку з вынятымі файламі. У мяне яна размяшчаецца ў хатняй тэчцы адміністратара:
C:UsersAdministrator>cd rclone
Пасля пераходу - выконваем каманду запуску Rclone c Web-GUI:
дзе "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.
Нягледзячы на тое, што Web-GUI яшчэ знаходзіцца ў стадыі тэставай версіі і не валодае пакуль усімі магчымасцямі кіравання Rclone, якія ёсць у інтэрфейсу каманднага радка, яго магчымасцяў суцэль досыць для ажыццяўлення міграцыі дадзеных. І нават крыху больш.
Настройка
Наступным этапам мы наладзім падлучэнні да пляцовак дзе знаходзяцца ці будуць знаходзіцца дадзеныя. І першым у чарзе будзе асноўны прымач дадзеных – Nextcloud.
1. Для гэтага пераходзім у падзел Канфігурацыі Web-GUI.
2. Ініцыюем стварэнне новай канфігурацыі - кнопка Новая канфігурацыя.
3. Задаём імя пляцоўцы - поле Name of this drive (For your reference): Nextcloud.
4. Выбіраемы тып або выгляд сховішча выбраць: Для Nextcloud і Owncloud асноўны інтэрфейс абмену дадзенымі - WebDAV.
5. Далей клікам на Крок 2: Налада drive раскрываем спіс параметраў злучэння і запаўняем.
- 5.1. URL of http host to connect to URL - гіпертэкставая спасылка інтэрфейсу WebDAV. У Nextcloud знаходзяцца ў наладах – левы ніжні кут інтэрфейсу.
- 5.2. Name of the Webdav Site/Service/Software Вы можаце выкарыстоўваць - імя інтэрфейсу WebDAV. Поле неабавязковае, для сябе, каб не заблытацца, калі такіх падлучэнняў шмат.
- 5.3 імя карыстальніка - Імя карыстальніка пры аўтарызацыі
- 5.4. пароль - Пароль для аўтарызацыі
- 5.5. Bearer token выкарыстоўвае карыстача / pass (eg a Macaroon) і Command to run to get a bearer token у пашыраных опцыях дадатковыя параемтры і каманды аўтарызацыі. У маім Nextcloud яны не задзейнічаны.
6. Далей ціснем Create config і для таго каб пераканацца ў стварэнні канфігурацыі, пераходзім у падзел Сonfig вэб-інтэрфейсу… Праз гэтую ж старонку зноў створаную канфігурацыю можна выдаліць або адрэдагаваць.
Для таго каб праверыць працаздольнасць падлучэння да пляцоўкі - пераходзім у падзел Даследчык. У полі Remotes уводзім назву настроенай пляцоўкі і націскаем адкрыты. Калі вы ўбачылі спіс файлаў і каталогаў - злучэнне з пляцоўкай працуе.
Для мацнейшай пераканаўчасці можаце праз вэб-інтэрфейс стварыць/выдаліць тэчку ці запампаваць/выдаліць які-небудзь файл.
Другі па парадку падключанай пляцоўкай будзе Яндэкс дыск.
Першыя чатыры крокі аналагічныя працэсу падключэння Nextcloud.
Далей усё пакідаем як ёсць, гэта значыць - палі ў Step 2: Setup drive пакідаем пустымі, у пашыраных опцыях нічога не мяняем.
Ціснем Сreate Config.
У браўзэры адкрываецца старонка аўтарызацыі на Яндэксе, пасля праходжання якой, паведамленне аб паспяховым падключэнні і прапановай вярнуцца да Rclone.
Што мы і робім, правяраючы раздзел Конфіг.
Міграцыя
Калі ў нас падключаны дзве пляцоўкі, мы ўжо можам ажыццявіць міграцыю дадзеных паміж імі. Уласна працэс падобны на праверку працаздольнасці падлучэння да Nextcloud, што мы праводзілі раней.
пераходзім у Даследчык.
Выбіраемы шаблон 2-side by side.
У кожным з Remotes указваем імя сваёй пляцоўкі.
Ціснем адкрыты.
Бачым каталог файлаў і тэчак кожнай з іх.
Для пачатку працэсу міграцыі застаецца толькі абраць патрэбную тэчку з файламі ў каталогу крыніцы дадзеных і перацягнуць яе мышкай у каталог прымача.
Механізм дадання пакінутых пляцовак і дзеянняў па міграцыі дадзеных паміж імі аналагічны аперацыям, выкананым вышэй. Калі падчас прац вы сутыкаецеся з памылкамі, то падрабязнасці пра іх можна вывучыць у тэрмінале, дзе запушчаны Rclone з Web-GUI.
Наогул, дакументацыя па Rclone шырокая і даступная на сайце і ў інтэрнэце, і не павінна выклікаць нейкіх складанасцяў у выкарыстанні. На гэтым, першы пост аб тым, як перанесці файлы з аднаго аблокі на іншае, абыходзячы свой ПК, лічу завершаным.
PS Калі вы не згодныя з апошнім сцвярджэннем - пішыце ў каментарах: якая "тэма не раскрытая" і ў якім ключы варта працягваць.