Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

En el siguiente apartado se describe el procedimiento para realizar un mongodump desde el servidor con NMIS 8, una copia de la carpeta creada /mongodump hacia NMIS 9, ajuste de archivos de mongo en NMIS 9 y mongorestore en NMIS 9 desde la carpeta /mongodump.

Prerrequisitos

Debemos contar con un servidor de NMIS 8 que ya tenga nodos colectando. De igual forma, necesitamos un servidor con NMIS 9 que tenga suficiente espacio para que pueda recibir la carpeta /mongodump que se creará en NMIS 8. Adicional, debemos poder acceder vía ssh entre cada una de nuestras máquinas virtuales para poder realizar de una manera más fácil la copia de la carpeta.

Procedimiento


1.- Para comenzar, debemos crear una carpeta llamada mongodump en nuestro servidor NMIS 8, de preferencia la creamos en el directorio /data que es donde tenemos más espacio disponible la mayor parte de las veces.


Code Block
[root@opmantek ~]# cd /data/

[root@opmantek data]# mkdir mongodump

[root@opmantek data]# cd mongodump/

[root@opmantek mongodump]# pwd

/data/mongodump


2.- Después, es preferible detener servicios para que el servidor no tenga algún problema de recursos. Acto seguido, ejecutamos un mongodump como sigue, esto es para poder exportar todo el contenido de nuestra base de datos de mongo en NMIS 8:

...

Code Block
[root@opmantek mongodump]# mongodump -u=opUserRW -p=op42flow42 --out=/data/mongodump

3.- Cuando el proceso concluya, podemos ver que se han creado varias carpetas en /data/mongodump, las cuales contienen toda la información de cada base de datos de NMIS 9 y sus módulos:

Code Block
service omkd stop
[root@opmantek mongodump]# ll

total 16

drwxr-xr-x 2 root root 4096 Dec  8 00:05 admin

drwxr-xr-x 2 root root 4096 Dec  8 00:05 flows

drwxr-xr-x 2 root root 4096 Dec  8 00:05 nmis

drwxr-xr-x 2 root root 4096 Dec  8 00:05 opcharts service opeventsd stop
[root@opmantek mongodump]# service opconfigd stop stop
[root@opmantek mongodump]# mongodump -u=opUserRW -p=op42flow42 --out=/data/mongodump


34.- Ahora, ejecutamos un scp para poder copiar nuestra carpeta creada en NMIS 8 hacia NMIS 9, de preferencia también hacia la carpeta /data en NMIS 9:

...

Code Block
[root@opmantek mongodump]# scp -r /data/mongodump/ root@X.X.X.X:/data/


54.- Una vez que concluya el proceso de transferencia, corroboramos que las carpetas ya se encuentren en NMIS 9:

...

Code Block
[root@omk-vm9-cva ~]# cd /data/

[root@omk-vm9-cva data]# ll

total 68

drwxr-xr-x  6 root   root    4096 Dec  8 01:11 mongodump

[root@omk-vm9-cva data]# cd mongodump/

[root@omk-vm9-cva mongodump]# ll

total 16

drwxr-xr-x 2 root root 4096 Dec  8 00:18 admin

drwxr-xr-x 2 root root 4096 Dec  8 01:11 flows

drwxr-xr-x 2 root root 4096 Dec  8 01:11 nmis

drwxr-xr-x 2 root root 4096 Dec  8 01:11 opcharts


5.- Cuando el proceso concluya, podemos ver que se han creado varias carpetas en /data/mongodump, las cuales contienen toda la información de cada base de datos de NMIS 9 y sus módulos:


Code Block
[root@opmantek mongodump]# ll

total 16

drwxr-xr-x 2 root root 4096 Dec  8 00:05 admin

drwxr-xr-x 2 root root 4096 Dec  8 00:05 flows

drwxr-xr-x 2 root root 4096 Dec  8 00:05 nmis

drwxr-xr-x 2 root root 4096 Dec  8 00:05 opcharts


6.- Procedemos a realizar algunas configuraciones antes de realizar el mongorestore en nuestra máquina virtual de NMIS 9. Primero, creamos una carpeta llamada mongodb en la ruta /data, que es en donde almacenaremos toda la información de la base de datos de mongo de ahora en adelante:

...

7.- Ahora, debemos de cambiar los permisos de la carpeta mongodb que hemos creado para que sea mongod:mongod en vez de root:root; esto lo realizamos mediante un chown:


Code Block
[root@omk-vm9-cva data]# ll

...



total 72

...



drwxr-xr-x  2 root   root    4096 Dec  8 18:11 mongodb

...



...



[root@omk-vm9-cva data]# chown mongod:mongod mongodb/

...



[root@omk-vm9-cva data]# ll

...



total 72

...



drwxr-xr-x  2 mongod   mongod    4096 Dec  8 18:13 mongodb

...




8.- Después, modificamos el archivo /etc/mongod.conf comentando la línea dbPath: /var/lib/mongo y poniendo en su lugar la línea dbPath: /data/mongodb, esto es para que toda la información de la base de datos de mongo se vaya hacia la carpeta que creamos anteriormente:


Code Block
# Where and how to store data.

...



storage:

...



  #dbPath: /var/lib/mongo

...



  dbPath: /data/mongodb

...



  journal:

...



    enabled: true

...



 engine:

...



 mmapv1:

...



 wiredTiger:

...



9.- Si accedemos a la carpeta /data/mongodb, podemos observar que no tenemos información alguna, para que se comiencen a crear las colecciones, simplemente reiniciamos mongod y ejecutamos el pl. Después de esto, tendremos que ver archivos .wt ya creados de forma automática:


Code Block
[root@omk-vm9-cva data]# cd mongodb/

...



[root@omk-vm9-cva mongodb]# ll

...



total 0

...



[root@omk-vm9-cva mongodb]# service mongod restart

...



Redirecting to /bin/systemctl restart mongod.service

...



[root@omk-vm9-cva mongodb]# /usr/local/omk/bin/setup_mongodb.pl

...



setup_mongodb.pl version 4.150.0

...





Reading configuration file /usr/local/omk/bin/../conf//opCommon.json...

...



Checking authentication status for db_server localhost...

...



MongoDB on localhost:27017 is running in non-authenticated mode.

...



INFO: server version is 3.4.24, using new auth model.

...



INFO: adding user opUserRW to admin db

...



INFO: adding user opUserRW to database flows

...



INFO: adding user opUserRW to database opconfig

...



INFO: adding user opUserRW to database omk_shared

...



INFO: adding user opUserRW to database opcharts

...



INFO: adding user opUserRW to database opaddress

...



INFO: adding user opUserRW to database flowsp

...



INFO: adding user opUserRW to database opha

...



INFO: adding user opUserRW to database optrend

...



INFO: adding user opUserRW to database

...

 opevents





WARNING: Authentication should be enabled for production use!

...



Currently your MongoDB server at localhost:27017 operates without

...



authentication. This is MongoDB's default, but is not recommended for

...



production use. You should add the setting auth=true (for 2.4-style config)

...



or authorization: enabled (for YAML config format)

...



to your /etc/mongodb.conf or change your init script to include --auth.

...




Hit enter to continue:

...




[root@omk-vm9-cva mongodb]# ll

...



total 64

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 collection-0-4757025178356315371.wt

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 collection-2-4757025178356315371.wt

...



drwxr-xr-x 2 mongod mongod 4096 Dec  8 14:48 diagnostic.data

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 index-1-4757025178356315371.wt

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 index-3-4757025178356315371.wt

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 index-4-4757025178356315371.wt

...



drwxr-xr-x 2 mongod mongod 4096 Dec  8 14:48 journal

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 _mdb_catalog.wt

...



-rw-r--r-- 1 mongod mongod    5 Dec  8 14:48 mongod.lock

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 sizeStorer.wt

...



-rw-r--r-- 1 mongod mongod   95 Dec  8 14:48 storage.bson

...



-rw-r--r-- 1 mongod mongod   49 Dec  8 14:48 WiredTiger

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 WiredTigerLAS.wt

...



-rw-r--r-- 1 mongod mongod   21 Dec  8 14:48 WiredTiger.lock

...



-rw-r--r-- 1 mongod mongod  842 Dec  8 14:48 WiredTiger.turtle

...



-rw-r--r-- 1 mongod mongod 4096 Dec  8 14:48 WiredTiger.wt


10.- Por último, ejecutamos el mongorestore para restablecer toda nuestra base de datos de NMIS 8 en NMIS 9:


Code Block
[root@omk-vm9-cva mongodb]# mongorestore -u opUserRW -p op42flow42 /data/mongodump


11.- Cuando concluya el mongorestore, reiniciamos los servicios y verificamos que NMIS continúe funcionando de manera normal:


Code Block
[root@omk-vm9-cva mongodb]# service omkd stop

...



[root@omk-vm9-cva mongodb]# service mongod stop

...



[root@omk-vm9-cva mongodb]# service nmis9d stop

...



[root@omk-vm9-cva mongodb]# service mongod start

...



[root@omk-vm9-cva mongodb]# service omkd start

...



[root@omk-vm9-cva mongodb]# service nmis9d start