Hogyan készítsen biztonsági másolatot és migráljon egy MongoDB adatbázist – CloudSavvy IT

Avatar Gadam | 2021.01.20. 44 Views 0 Likes 0 Ratings

44 Views 0 Ratings Rate it

[ad_1]

Az adatbázisok áttelepítését minden rendszergazdának meg kell tennie valamikor. Szerencsére a MongoDB beépített parancsokat biztosít a biztonsági másolatok létrehozásához és visszaállításához, megkönnyítve ezzel az új szerverre való áttérést.

A mongodump segítségével készítsen biztonsági másolatot

A mongodump egy egyszerű parancs, amely létrehoz egy biztonsági másolat fájlt az adatbázisról és gyűjteményeiről, amelyekből visszaállíthat. Ehhez némi állásidőre van szükség, amíg a biztonsági másolat készen van, és az új szerver felkerül.

Ha nem akar leállást, végezhet fürt migrációt új csomópont hozzáadásával a fürtbe, ezt beállítva elsődleges írási forrásként, majd gyorsan átcserélve az új csomópontra. Ez sokkal könnyebbé válik, ha a MongoDB Atlas programot, a kezelt adatbázis-szolgáltatást használja.

mongodump sokkal egyszerűbb. Létre kell hoznia egy könyvtárat a biztonsági mentésekhez:

sudo mkdir /var/backups/mongobackups

És akkor fuss mongodump, egy adatbázis-paraméterben és egy kimeneti helyen továbbítva:

sudo mongodump --db databasename --out /var/backups/mongobackups/backup

Az egyes gyűjteményeket manuálisan is kiírhatja a --collection zászló.

A Mongodump egy élő adatbázisban futtatható, és csak néhány másodpercet vesz igénybe a biztonsági másolat létrehozása. Az adatbázisba írt írások azonban elvesznek, mivel szervereket mozgat. Emiatt a dump létrehozása előtt le kell tiltania a forgalmat.

Visszaállítás a biztonsági mentésből

A biztonsági másolat fájlt át kell töltenie a régi szerverről az új kiszolgálóra. Ez megtehető úgy, hogy letölti az FTP-n keresztül, majd feltölti az új szerverre, de nagy biztonsági másolatok esetén a legjobb közvetlen kapcsolatot létrehozni és átvinni a scp.

Használhatja a következő parancsot, kicserélve a felhasználóneveket és a gazdagépneveket a kiszolgálók értékeire.

scp user@SRC_HOST:/var/backups/mongobackups/FILENAME  user@DEST_HOST:~/FILENAME

Ezután, ha megvan a biztonsági másolat az új szerveren, betöltheti a biztonsági másolatból. Természetesen szüksége lesz a MongoDB-re az új szerverre.

Ehhez használhatja a mongorestore parancs:

mongorestore <options> <connection-string> <file to restore>

Azonnal meg kell látnia az új táblázatot az új adatbázisban.

Miután ellenőrizte, hogy minden megfelelően átment-e, fel kell cserélnie a forgalmat az új szerverre, valószínűleg a DNS-rekordok frissítésével. Ha AWS-t vagy hasonló szolgáltatót használ Elastic IP-címmel, kicserélheti a címet, hogy az új szerverre mutasson, amelyhez nem lesz szükség DNS-frissítésre.

A rugalmas IP-cím társításának módosítása

A teljes lemez átvitele (opcionális)

Opcionálisan, ha csak egy erősebb kiszolgálóra költözik, átviheti a teljes indító meghajtót, amelynek át kell másolnia az adatbázist a szerver többi konfigurációjával együtt.

Ebben az esetben érdemes használni a rsync parancs az adatok közvetlen feltöltésére a célkiszolgálóra. rsync csatlakozni fog az SSH használatával, és szinkronizálja a két mappát; ebben az esetben a helyi mappát a távoli szerverre akarjuk tolni:

sudo rsync -azAP / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} username@remote_host:/

Ez az egész parancs. Látnia kell egy előrehaladási sávot, amint befejezi az átvitelt (a -z flag), és ha ez megtörtént, az új szerver célmappájában láthatja a fájlokat. Lehetséges, hogy ezt többször kell futtatnia az egyes mappák másolásához; Te tudod használni ezt online rsync parancsgenerátor hogy generálja a parancsot az egyes futtatásokhoz.

[ad_2]
Source link


44 Views 0 Ratings Rate it