SevOne Data Platform Deployment on IBM Cloud using VPC Infrastructure
This document describes how to deploy SevOne NMS on IBM Cloud using the Virtual Private Cloud (VPC) infrastructure.
Log on to the instance created and perform the following.
- Using a text editor of your choice, create /opt/ibmcloud_setup.sh file, if it does not exist.
$ touch /opt/ibmcloud_setup.sh
- Edit /opt/ibmcloud_setup.sh file.
$ vi /opt/ibmcloud_setup.sh
- Add the following script to configure the data disk and run the script manually with
bash.
Example: ibmcloud_setup.sh# This script is only valid during initial deployment, and should not be used # to migrate data on an existing environment with a significant amount of # collected historical data set -e MIN_SIZE=$((150 * 1024 * 1024 * 1024)) DATA_SIZE=$(df -B1 /data 2>/dev/null | awk 'NR==2 {print $3}') if [[ "$DATA_SIZE" =~ ^[0-9]+$ ]] && (( DATA_SIZE > MIN_SIZE )); then MIN_SIZE=$DATA_SIZE fi DISK_NAME=$(lsblk -o NAME,FSTYPE,SIZE -Jb | jq -r --argjson minSize "$MIN_SIZE" '[.blockdevices[] | select((.children|length==0) and (.size|tonumber >= $minSize) and (.fstype|not))] | max_by(.size|tonumber) | select(.) | .name') if [ -z "$DISK_NAME" ]; then echo "No appropriate blank disks found" >&2 exit 1 fi systemctl stop nms mkdir -p /data_temp /data mv /data/* /data_temp mkfs.xfs /dev/$DISK_NAME cat > /etc/systemd/system/data.mount <<__DATA_MOUNT__ [Unit] Description=Mount unit for /data Before=nms_deployment.service prometheus_deployment.service collectors_deployment.service [Mount] What=/dev/$DISK_NAME Where=/data Type=xfs DirectoryMode=0755 [Install] WantedBy=multi-user.target __DATA_MOUNT__ systemctl daemon-reload systemctl enable data.mount systemctl restart data.mount mv /data_temp/* /data systemctl start nms rmdir /data_temp
To deploy IBM SevOne NPM component, NMS, on IBM Cloud, the following steps are required.
- create or utilize an existing IBM Cloud Object Storage location to upload IBM SevOne NPM .qcow2 image for component, SevOne NMS.
- create a custom image for VPC.
- create a new Virtual Server instance for VPC and boot the newly created custom image.
- configure the boot and data drives.
- set the appliance size and type.
- You must download IBM SevOne NPM KVM/Openstack .qcow2 image for component, SevOne NMS, from IBM Passport Advantage (https://www.ibm.com/software/passportadvantage/pao_download_software.html) via Passport Advantage Online.
- You must have experience with IBM Cloud and have an account with required permissions to create infrastructure such as, storage, custom images, and virtual server instances.
- For details on how to create a standard IBM Cloud component, please refer to https://cloud.ibm.com/docs or contact SevOne Support Team or your Technical Account Manager.
Upload image to IBM Cloud Object Storage
Execute the following steps.
- Create or utilize an existing IBM Cloud Object Storage instance and bucket. For details on how to configure these, please refer to https://cloud.ibm.com/docs.
- Once an IBM Cloud Object Storage instance and bucket are configured, browse to the bucket and
click the Upload button.
- An Upload menu will open.
Upload menu...- Select Aspera high-speed transfer radio button; this option is recommended for large
files.Important: You may be prompted to install the IBM Aspera Connect file transfer utility.
- Click Upload files button to open the file browser and select the nms-<enter
version>.qcow2 file from your local machine.Important: The file must have a .qcow2 extension. If the file extension is .gz then you will first need to decompress the file using an archive utility.
- Click Upload button to start the transfer.Important: You must wait for the file transfer to complete.
This may take some time depending on your connection speed to the IBM Cloud.
Once the upload has completed, nms-<enter version>.qcow2 file will be available in the bucket.
- Upload of .qcow2 file to IBM Cloud Object Storage is now complete. You may now proceed to section Create a Custom image for VPC to create a custom VPC image.
- Select Aspera high-speed transfer radio button; this option is recommended for large
files.
Create a Custom image for VPC
Execute the following steps.
- To create a custom image for virtual private cloud, .qcow2 image is required. This image is converted to a bootable image which can be attached to a VPC virtual server instance.
- Under VPC Infrastructure in left panel, click Images.
- In the right panel, tab Custom images, click the Create button.
- When you click on Create button, Custom image for VPC workflow will
open.
Example- Name - enter the name for the image. For example, nms-<enter version>.qcow2. For consistency, do not enter extension .qcow2.
- Image source - choose radio button Cloud Object Storage.
- select Locate by instance and bucket.
- set the Cloud Object Storage instance, Location, and Bucket from the respective drop-downs. The instance and bucket must match to where you uploaded the image in the previous step.
- locate your .qcow2 image in the file list and select the radio button next to it. For example, nms-<enter version>.qcow2.
- For SevOne NMS 6.x, choose the operating system.
- Operating system - select Red Hat Enterprise Linux.
- Version - select red-8-amd64-byol.
- For any other settings such as, Encryption, Tags, Resource group, etc., please contact your IBM Cloud Administrator or leave the fields with the default values.
- Click Create custom image button.Note: You have now created an image and you may perform the provisioning of one or more VPC virtual server instances for SevOne NMS.
Create a new Virtual server instance for VPC
- Create a Virtual server instance for each node you intend to deploy in your SevOne NMS cluster.
- Under VPC Infrastructure in left panel, click Virtual server instances.
- In the right panel Virtual server instances for VPC, click the Create
button.
- When you click on Create button, Virtual server for VPC workflow will
open.
- Name - enter the name for the specific instance. It is recommended to set this to the desired hostname.
- Image - click Change image and select the custom NMS image you created in the previous step.
- Profile - click Change profile and select an appropriate compute profile to match
or exceed the hardware requirements of the instance you are deploying.
Note: Please refer to Hardware Requirements to obtain compute requirements for each instance type.
For example, if you are deploying a vPAS100k, the minimum hardware requirements are,
- vCPU Cores - 8
- RAM - 96GB
- Storage - 500GB / 2TB (Boot Drive / Data Storage)
Based on this, the closest IBM Cloud instance type is bx2-32x128 or cx2-64x128.
- SSH keys - choose your SSH key.
- StorageImportant: This does not apply to vPAS5k hardware component.
- Leave the Boot volume as default. It is usually 150 GB.
- Under Data volumes, add additional volumes as required.Note: Example
For vPAS100k, 500GB of boot drive is required. 150GB already configured. So, you need to add an additional 350GB volume to meet the 500GB total boot drive requirement. Additionally, for vPAS100k, you also require 2TB of data storage. For this, add 2TB volume.
- For any other settings such as, Networking, Advanced options, Tags, Resource group, etc., please contact your IBM Cloud Administrator or leave the fields with the default values.
- Click Create virtual server button. Repeat this process for each NMS instance you want to
create.Important: Once the instance is created, it will automatically boot and become available from your Virtual Server Instance list.
Configure Boot & Data Drives
To configure the boot and data drives, it is assumed that the additional storage volumes have been created as mentioned in the section above. Additionally, it is assumed that the volumes are attached as /dev/vd<x>. If the attachment differs from this, please use the correct paths for your environment.
To find the correct paths for your environment, execute the following command as root.
Example: vPAS100k
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 150G 0 disk
vda1 252:1 0 500M 0 part /boot
vda2 252:2 0 149.5G 0 part
root_vg-root 253:0 0 145.4G 0 lvm /
root_vg-swap 253:1 0 4G 0 lvm [SWAP]
vdb 252.16 0 350G 0 disk
vdc 252.32 0 2T 0 disk
vdd 252.48 0 368K 0 disk
vde 252.64 0 44K 0 disk
There are two additional unmounted disks (vdb and vdc)
- /dev/vdb - an additional 350GB for boot expansion.
- /dev/vdc - 2TB for data storage.
Prior to deployment, determine the size of the hard drive required based on the virtual appliance you are deploying. For details, please refer to Hardware Requirements.
Configure additional Boot Drive
To configure additional boot drive space, assume /dev/vdb as the additional boot drive.
Execute the commands below as root.
$ pvcreate /dev/vdb
Physical volume "/dev/vdb" successfully created.
$ vgextend root_vg /dev/vdb
Volume group "root_vg" successfully extended
$ lvextend -l +100%FREE /dev/root_vg/root -r
Size of logical volume root_vg/root changed from <145.44 GiB (2327 extents) to <495.44 GiB (7927
extents).
Logical volume root_vg/root successfully resized.
meta-data=/dev/mapper/root_vg-root isize=512 agcount=4, agsize=9531392 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=38125568, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=18616, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 38125568 to 129875968
Verify that the boot disk has been expanded.
$ df -hT /
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/root_vg-root xfs 496G 26G 471G 6% /
This indicates that the boot drive (the slash drive) has now been resized to 500GB.
Configure Data Drive
To configure the additional data drive space, assuming /dev/vdc is the data drive, perform the following steps as root.
Format volume for 'xfs'
$ mkfs.xfs /dev/vdc
Create 'mount' directory
$ mkdir -p /mnt/data_volume
Using a text editor of your choice, manually add the following entry to fstab to avoid formatting issues.
Add entry to 'fstab'
/dev/vdc /mnt/data_volume xfs defaults 1 2
Mount using the updated 'fstab' entry
$ mount -a
Shutdown both MySQL instances (data & config) and stop SevOne daemons
$ podman stop nms-nms-mysqldata
$ podman stop nms-nms-mysqlconfig
Move existing data directories to newly mounted volume
$ mv /data /mnt/data_volume
$ mv /data2 /mnt/data_volume
Add symlink to the new locations
$ ln -s /mnt/data_volume/data /data
$ ln -s /mnt/data_volume/data2 /data2
$ ln -s /mnt/data_volume/data/index /index
Change file permissions to MySQL user
$ chown -R mysql:mysql /data /data2 /mnt/data_volume
Start SevOne daemons and both MySQL instances (data & config)
$ podman start nms-nms-mysqldata
$ podman start nms-nms-mysqlconfig
Set Appliance Size & Type
Allow the system to operate in the most optimal manner using all applicable resources you have allocated. Please refer to SevOne NMS Appliance Configuration Guide for details.