...
Note | ||
---|---|---|
| ||
If selinux is enabled and at its default configuration during the NMIS installation perl modules will be installed with the wrong path. This will cause NMIS to be non-functional. |
Procedure
Prepare Target CentOS 7 Server
1) Install prerequisite packages
After installing CentOS 7 on the new server install the following packages.:
- yum update
- yum install perl
- yum install perl-core
- yum install rrdtool
- yum install rrdtool-perl
- yum install libpng12
- yum install rsync
- yum install ntp
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
yum update yum install -y perl perl-core rrdtool rrdtool-perl libpng12 rsync ntp |
2) Install NMIS and OMK Applications
Install the correct NMIS and OMK application versions on the new CentOS 7 server. If you no longer have the installer packages for the correct versions contact support@opmantek.com and someone will provide them.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#!/bin/bash upgrade_list=$(</installs/omk8_list.txt) echo "starting downloads based on upgrade_list" sleep 2 while read LINE; do `wget ${LINE}`; done < /installs/omk8_list.txt echo "Downloads complete" sleep 2 echo "##########" echo "#" echo "# Starting installs" echo "#" echo "##########" while IFS=/ read -r var1 var2 var3 var4 var5; do #echo $var1 #echo $var2 #echo $var3 echo "Running install on $var4" `sh ./$var4 -- -y` sleep 2 #echo $var5 done < /installs/omk8_list.txt echo "##########" echo "#" echo "# Installs Complete" echo "#" echo "##########" |
3) Install SSH Keys
In order for the export script to work a valid ssh key must be installed in the /root/.ssh/authorized_keys file.
- Does Current server have valid key? cat ~/.ssh/id_rsa.pub
- If yes copy "ssh-copy-id -i ~/.ssh/authorized_keys user@host
- If no create ssh key then run ssh-copy-id command from above
4) Shutdown Related Services
- On both the old CentOS 6 and the new CentOS 7 servers shutdown the following services:
- opeventsd
- opchartsd
- opconfigd
- opflowd
- omkd
- mongod
...
5) Edit /etc/cron.d/nmis and comment out all cron jobs
- This should performed on both servers before running the script.
6) Run Export Script
Run the following script on the old CentOS 6 server. The following six variables at the top of the script will need to be modified to suit your environment.
...
Code Block | ||
---|---|---|
| ||
#!/bin/sh TARGET=192.168.10.67 NODEDATA=/usr/local/nmis8/database/nodes SOURCE_MONGODBLOCATION=/data SOURCE_MONGODBDIR=mongodb DESTINATION_MONGODBLOCATION=/var/lib DESTINATION_MONGODBDIR=mongo NODES=$(fgrep "'name'" /usr/local/nmis8/conf/Nodes.nmis | awk '{print $3}' | tr "\'" ' ' | tr ',' ' ' | awk '{print $1}') # copy mongodb rsync --progress -av $SOURCE_MONGODBLOCATION/$SOURCE_MONGODBDIR $TARGET:$DESTINATION_MONGODBLOCATION/. ssh $TARGET "chown -R mongod:mongod $DESTINATION_MONGODBLOCATION/$DESTINATION_MONGODBDIR" for NODE in $NODES do # create a directory to store the node export JSON files. install -d $NODEDATA # export the node records from NMIS /usr/local/nmis8/admin/node_admin.pl act=export node=$NODE file=$NODEDATA/$NODE.json # get the node data to the target server rsync -avz -e ssh $NODEDATA/* $TARGET:$NODEDATA/ rsync -avz -e ssh /usr/local/nmis8/database/nodes/$NODE $TARGET:/usr/local/nmis8/database/nodes scp /usr/local/nmis8/var/$NODE* $TARGET:/usr/local/nmis8/var # remotely add the nodes to the TARGET server ssh -t $TARGET "/usr/local/nmis8/admin/node_admin.pl act=create node=$NODE file=$NODEDATA/$NODE.json" done # Update the group list with any new groups ssh -t $TARGET "/usr/local/nmis8/admin/grouplist.pl patch=true" # copy NMIS/OMK config rsync --progress -av /usr/local/nmis8/models root@$TARGET:/usr/local/nmis8/. rsync --progress -av /usr/local/nmis8/conf root@$TARGET:/usr/local/nmis8/. rsync --progress -av /usr/local/omk/conf root@$TARGET:/usr/local/omk/. # Fix file permissions ssh $TARGET /usr/local/nmis8/admin/fixperms.pl |
7) Update your Mongo Config File on the New CentOS 7 Server
Update your /etc/mongod.conf to reflect the current configuration from your old CentOS 6 Server, note that the dbpath could be different from your old environment.
8) Correct NMIS Hostname on the New CentOS 7 Server
In /usr/local/nmis8/conf put the correct hostname for 'server_name' attribute.
9) Restart Related Services on the New CentOS 7 Server
Restart the following services:
- mongod
- omkd
- opeventsd
- opconfigd
- opflowd
- opchartsd
10) Verification
Log into the GUI on the new CentOS 7 server and verify each application is functional and presents data from before the migration.