Dödsfall, skilsmässa och flytt är de tre mest stressiga situationerna i ens liv.
"Amerikansk skräckhistoria".
- Andryukh, jag flyttar hemifrån, hjälp mig att flytta, jag får inte plats med allt :(
– Okej, men finns det många?
— Ton* 7–8…
*Ton (jarg) - Terabyte.
Nyligen, när jag surfade på internet, lade jag märke till att trots att Habr och liknande resurser har tillgång till många material om metoder och modeller för att migrera olika typer av data, så dyker det fortfarande upp frågor om detta ämne online. Som av någon anledning inte alltid får utförliga svar. Detta faktum fick mig att en gång samla anteckningar om implementeringen av en liknande lösning och ordna dem i form av ett separat inlägg.

Generellt sett måste jag överföra data från en enhet, ett system och en tjänst till en annan med en viss irriterande frekvens. Vilket, genom trial and error, gjorde det möjligt för mig att inte bara bekanta mig med många intressanta produkter, utan också att hitta en balans mellan funktionaliteten och kostnaden för den lösning jag vill prata om.
utformning
Som det visade sig, till följd av design- och undersökningsarbete, beror migreringsprocessens kvalitet och effektivitet inte bara på de tekniska egenskaperna hos de "platser" där informationen finns eller kommer att finnas, utan även på deras fysiska plats.
Migreringshanteraren är en datornod där processens "logik" fungerar – programvara för migreringshantering.
Det vill säga, det finns bara två modeller för att placera en "migrationshanterare"
- Modell A. Om minst en av webbplatserna endast kan nås från det lokala nätverket, bör även ”migreringshanteraren” placeras i samma nätverk. Eftersom produktiviteten och migreringstiden fortfarande begränsas av hastigheten och drifttiden för kanalen som förbinder webbplatserna.
- Modell B. Om både datakällan och mottagaren har åtkomst utanför det lokala nätverket, bör "migreringshanteraren" placeras där hastigheten och drifttiden för kanalen mellan dem blir uppenbart bättre.
För att på något sätt bryta ner ovanstående föreslår jag att återgå till uppgifterna från artikelns huvudfråga och formalisera dem till en teknisk uppgift.
Först måste jag ta reda på om programvaran jag använder stöder molnet: Mail.ru, Yandex, Google Drive, Mega, Nextloud?
Det korta svaret är: ”JA!”
Jag använder .
Rclone - rsync för molnlagring. Öppen källkodsprogramvara utformad för att synkronisera filer och mappar med mer än 45 typer och lagringsmöjligheter.
Här är bara några av dem:
— Alibaba Cloud (Aliyun) objektlagringssystem (OSS)
— Amazon S3
— Ceph
— DigitalaOcean-utrymmen
— Dropbox
— Google Cloud Storage
— Google Drive
— Google Foto
— 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
Huvudfunktionalitet:
— Kontrollera filernas integritet med hjälp av MD5/SHA1-hashar.
— Sparar tidsstämplar för skapande/ändring av filer.
— Stöd för partiell synkronisering.
— Kopierar endast nya filer.
— Synkronisering (enkelriktad).
— Kontrollera filer (med hashkoder).
— Möjlighet att synkronisera från ett molnkonto till ett annat.
— Krypteringsstöd.
— Stöd för lokal filcachning.
— Möjlighet att montera molntjänster via FUSE.
Jag vill tillägga att Rclone också hjälper mig att lösa lejonparten av uppgifter relaterade till automatisering av säkerhetskopiering av data i .
Nästa uppgift är att välja en modell för att placera "migreringshanteraren".
Alla datakällor, vilket inkluderar olika publika molntjänster, är tillgängliga via internet. Inklusive via API. Två av de tre mottagarna har samma problem. Det är bara oklart var Nextcloud självt är distribuerat och vilken åtkomst som är tillgänglig för det?
Jag räknade fem möjliga alternativ:
- På din egen server i ditt hem-/företagsnätverk.
- På din egen server i ett hyrt rack i tjänsteleverantörens datacenter.
- På en server som hyrts från en tjänsteleverantör.
- På en virtuell server (VDS/VPS) hos en tjänste-/hostingleverantör
- Hos tjänsteleverantören
Med tanke på att Nextcloud fortfarande är programvara för att skapa och använda molnlagring, kan vi säkert säga att åtkomst till den via internet finns tillgänglig i alla fem versioner. Och den optimala modellen för att placera en "migrationshanterare" i detta fall kommer att vara — Modell B.
Enligt den modell som valts som plattform för "migreringshanteraren" kommer jag att välja ett av de optimala alternativen, ur min synvinkel - en virtuell server i den största internettrafikutbytespunkten i Ryssland MSK-IX.
Det tredje beslutet som måste fattas är att bestämma den virtuella serverkonfigurationen.
При выборе параметров конфигурации VDS нужно руководствоваться необходимой производительностью, которая зависит от ширины каналов между площадками, количеством и размером перемещаемых файлов, количеством потоков миграции и настройками. Что касается ОС, то Rclone — кроссплатформенное ПО, работающее под различными операционными системами, включая Windows и Linux.
Om du planerar att starta flera migreringsprocesser, och även med vissa intervall, bör du överväga möjligheten att hyra ett VDS med betalning för resurser.
skapande
Baserat på ovanstående valde jag en VDS med följande konfiguration när jag skapade prototypen för den här artikeln.

kostar 560 rubel/månad. med hänsyn till 15%-rabatten på kupongen NÄSTERINNA.
Такой выбор обусловлен тем, что узел под ОС Windows, для соответствия условиям нашего ТЗ, настраивается легче, чем под другие ОС, доступные к заказу.
Offtopic: Förresten, för extra säkerhet är denna virtuella server utsedd som en av noderna . och åtkomst till den via RDP är endast tillåten därifrån...
Efter att du har skapat ett VDS och fått åtkomst till skrivbordet via RDP, är det första du behöver göra att förbereda miljön för Rclone och Web-GUI. Dessa. ställ in en ny standardwebbläsare, till exempel Chrome, eftersom den ursprungligen installerade IE 11 tyvärr inte alltid fungerar korrekt med den programvara som används.

Efter att du har förberett miljön, ladda ner arkivet med programpaketet och packa upp den.
Далее — в режиме командной строки Windows выполняем команду перехода в папку с извлечёнными файлами. У меня она располагается в домашней папке администратора:
C:UsersAdministrator>cd rclone
Efter övergången kör vi kommandot för att starta Rclone från webbgränssnittet:
C:UsersAdministratorrclone>rclone rcd --rc-web-gui --rc-user=”login” --rc-pass=”password” -L
där ”login” och ”password” är den inloggning och det lösenord du angav, naturligtvis utan citattecken.
Efter att kommandot har körts visas följande i terminalen:
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/
och Rclones grafiska webbgränssnitt öppnas automatiskt i webbläsaren.

Även om webbgränssnittet fortfarande är i betafasen och ännu inte har alla Rclone-hanteringsfunktioner som kommandoradsgränssnittet har, är dess funktioner fullt tillräckliga för datamigrering. Och ännu lite mer.
justering
Nästa steg är att upprätta kopplingar till de platser där informationen finns eller kommer att finnas. Och först i tur blir den huvudsakliga datamottagaren - Nextcloud.

1. För att göra detta, gå till avsnittet Konfig Webbgränssnitt.
2. Vi initierar skapandet av en ny konfiguration - knapp Ny konfiguration.
3. Vi ställer in webbplatsens namn - fält Namn på denna enhet (för din referens)Nextcloud.
4. Välj typ eller typ av lagring VäljaFör Nextcloud och Owncloud är WebDAV det primära gränssnittet för datautbyte.
5. Klicka sedan på Steg 2: Installation öppna listan med anslutningsparametrar och fyll i dem.
- 5.1. URL till http-värd för att ansluta till URL — hypertextlänk i WebDAV-gränssnittet. I Nextcloud finns de i inställningarna - nedre vänstra hörnet av gränssnittet.
- 5.2. Namn på Webdav-webbplatsen/tjänsten/programvaran du använder — namnet på WebDAV-gränssnittet. Fältet är valfritt för dig själv, så att du inte blir förvirrad om det finns många sådana kopplingar.
- 5.3 Användarnamn — Användarnamn under auktorisering
- 5.4. Lösenord — Lösenord för auktorisering
- 5.5. Bärartoken istället för användar/lösenord (t.ex. en macaroon) och kommando för att köra för att hämta en bärartoken i avancerade alternativ ytterligare parametrar och auktoriseringskommandon. De används inte i min Nextcloud.
6. Klicka sedan Skapa konfiguration och för att säkerställa att konfigurationen har skapats, gå till avsnittet Konfiguration webbgränssnitt... Via samma sida kan den nyskapade konfigurationen raderas eller redigeras.
För att kontrollera funktionen hos anslutningen till webbplatsen, gå till avsnittet explorer... I fält fjärrkontroller ange namnet på den konfigurerade webbplatsen och klicka på Öppet. Om du ser en lista över filer och kataloger fungerar anslutningen till webbplatsen.

För att göra det mer övertygande kan du skapa/ta bort en mapp eller ladda ner/ta bort en fil via webbgränssnittet.
Den andra plattformen som ska anslutas kommer att vara Yandex Disk.

- De första fyra stegen liknar Nextcloud-anslutningsprocessen.
- Sedan lämnar vi allt som det är, det vill säga fälten i Steg 2: Konfigurera hårddisken Lämna dem tomma, ändra ingenting i de avancerade alternativen.
- Vi trycker på Skapa konfiguration.
- Yandex-auktoriseringssidan öppnas i webbläsaren, varefter du får ett meddelande om en lyckad anslutning och ett erbjudande att återvända till Rclone.
- Vilket är vad vi gör genom att kontrollera avsnittet Konfig.
migration
När vi väl har anslutit två webbplatser kan vi redan migrera data mellan dem. Själva processen liknar den Nextcloud-anslutningskontroll vi gjorde tidigare.
- Gå till explorer.
- Välj en mall 2-sida vid sida.
- I var och en av fjärrkontroller Vi anger namnet på vår webbplats.
- Vi trycker på Öppet.
- Vi ser katalogen med filer och mappar för var och en av dem.

För att starta migreringsprocessen behöver du bara välja önskad mapp med filer i datakällkatalogen och dra den med musen till mottagarkatalogen.
Mekanismen för att lägga till de återstående webbplatserna och åtgärder för datamigrering mellan dem liknar de åtgärder som utförts ovan. Om du stöter på fel under ditt arbete kan du studera detaljerna i terminalen där Rclone med webbgränssnitt körs.
I allmänhet dokumentationen om är omfattande och tillgänglig på webbplatsen och på internet, och bör inte orsaka några svårigheter i användningen. Med detta anser jag det första inlägget om hur man överför filer från ett moln till ett annat, utan att behöva använda datorn, avslutat.
PS Om du inte håller med om det sista påståendet, skriv i kommentarerna: vilket "ämne som inte behandlas" och i vilken anda ska vi fortsätta.
Källa: will.com
