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]# llservice opeventsd totalstop 16[root@opmantek 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 |
...
mongodump]# service opconfigd stop stop
[root@opmantek mongodump]# mongodump -u=opUserRW -p=op42flow42 --out=/data/mongodump |
3.- 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:
Code Block |
---|
[root@omk-vm9-cva ~]# cd /data/ |
...
[root@omk-vm9-cva data]# mkdir mongodb |
...
[root@omk-vm9-cva data]# cd mongodb |
...
[root@omk-vm9-cva mongodb]# ll |
...
total 0 |
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 |