Guru Enterprise Server is hosted on CentOS 7 or Red Hat Enterprise Linux (RHEL 7+) Ggnome as the window manager to provide UI (required). Private cloud is any virtualization technology including VirtualBox, VMWare, KVM, etc. Microsoft Azure is a cloud computing platform and infrastructure created by Microsoft for building, deploying, and managing applications and services through a global network of Microsoft-managed data centers.
Recommended Azure virtual machine size: Standard_F2 or greater. High IOPS affects server startup and is not needed for normal use. OS storage can start with the default and expand as needed. Latency on the internet connection between the test floor and the Azure hosted guru system may affect the time it takes to display menu's but should not impact actual application loading, actual test times, or datalog processing.
Topics included below explain the procedure to change common settings in the OS. Any topic not listed below is covered by instructions available by searching the internet for "<topic> rhel". Guru Server is configured at the factory to integrate into the destination's network architecture, see Guru Enterprise Planning Checklist. Servers can be accessed using the local workstation (monitor and keyboard) or remotely via VNC (remote desktop UI) or SSH (command line). When possible both command line and GUI instructions are provided. Instructions not provided below can be found by searching online for "<topic> centos or RHEL" to access a vast amount of information.
Topics Covered: Server Administration, Desktop (KVM or VNC), Network Settings, NTP Settings, Timezone, VNC Server Settings, Mount Shared Network Drives (NFS), Shared Folders, Change OS Update Country, OS Update, Guru Server Launch Script, Identify Guru Server Version, Hardware Monitoring.
To Deploy New Private Cloud VM
See Guru Server - Recommended & Minimum System Requirements for details. Continue with "Install EPEL and enable VNC service"
To Deploy New Azure Resource
Log into MS Azure portal: https://portal.azure.com/#create/hub
MS Azure Template:
1. New > Compute > RHEL 7+ > Create (Resource Manager)
2. Name: "<GuruServerHostName>", SSD, "guru", SSH or Password (IT policy), Resource Group: Create New = "guru", Location = "<ClosestAzureDatacenter>"
3. Size: A2 or higher
4. Settings: default
5. Summary: OK
6. Add Inbound Security Rules: Priority 300, GuruServer_in, Any Any TCP/50000 Allow, Priority 1010 RDP Any Any TCP/3389 Allow (SSH 22 is enabled by default), Priority 1020 NTP Any Any UPD/123
7. Add Outbound Security Rules: Priority 300, GuruServer_out, Any Any TCP/50000 Allow, Priority 1020 NTP Any Any UPD/123
1. CentOS/RHEL version 7 or newer with "Server with GUI" package (From "minimal" install, yum install group "Server with GUI" then change target runlevel from 3 to 5 )
2. "guru" user account setup with auto-login (adding a new user and Enable GDM automatic user login is not in the scope of this document)
Install EPEL and enable VNC service - https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-classic-remote-desktop/
1. ssh to public IP of host (or set up DNS A record and use the hostname) "ssh [email protected]###.###.###.###"
2. If using RedHat, register RHEL and add subscription (https://access.redhat.com/solutions/253273) with "subscription-manager register --username <username> --password <password> --auto-attach"
3. download EPEL .rpm file from https://fedoraproject.org/wiki/EPEL "The newest version of 'epel-release' for EL7
4. sudo yum install epel-release
5. sudo yum install glibc-devel.i686 tcsh ntp tigervnc-server
6. See How to Install and Configure VNC Server in CentOS 7
su - guru
vncpasswd <<enter vnc password>>
cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service
nano /etc/systemd/system/[email protected]\:1.service (change user to "guru")
systemctl start [email protected]:1
systemctl status [email protected]:1
systemctl enable [email protected]:1
7. (Optional) If firewall enabled:
firewall-cmd --add-port=5901/tcp --permanent
Install Guru Server
1. use scp/FTP to get gSrv##-l.tar.gz and GURUID.vfd from ftp.roos.com (username/password provided in email from [email protected]) "scp gSrv72-l.tar.gz [email protected]<hostname>"
Note: If migrating from another Guru Server, use rsync to copy the home/RiApps and home/RiGuru directories. Repeat after closing guruServer on the old server to finish the migration.
2. tar -xvf gSrv72-l.tar.gz
3. create loopback device for guru key:
unzip GBCU4ZSA.zip (yum install unzip if program not available)
sudo mkdir /media/floppy
sudo mount -t vfat -o loop /home/guru/<<G#####SA>>.vfd /media/floppy
sudo chmod +r /dev/loop0
4. Mount loop device at startup
append "/home/guru/<<G#####SA>>.vfd /media/floppy vfat loop" and CTL+X to exit, y to save.
Note: Guru Server will use a previously used Guru ID and check to make sure the network interfaces have not changed, if they have, the loop device is required to re-initialize the Guru ID.
5. Run Guru Server
RiApps/guruServer/guruServerStart.sh -RiNoBackup -RiNoUpdate -RiNoClone (Remove options as needed)
Install Java and Set Guru to Automatically Launch
1. (optional) install updated java from http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html ) 64 bit linux and utar in ~/riApps and edit symlink "./jre" symlink to point to the new directory
2. (optional) Install Java Cryptography Extension (JCE). If you are planning on performing any user admin functions on the Guru Server itself (vs from Virtual Workstation) Guru Groups Admin, User Password, etc., then you must install this extension.
3. (optional) install openJDK with sudo apt-get install openjdk-8-jre, then use sudo update-alternatives --config java and adjust symlink from ~/RiApps/jre to point to
4. Create Autostart entry with gnome-session-properties command, Add button, with "Guru Server" name "Roos Instruments Cassini Guru Server" description and command = "/home/guru/riApps/guruServer/guruServerStart.sh -RiNoBackup -RiNoUpdate -RiNoClone" (remove -options as needed)
There are 2 interfaces used to administer Guru Server. Graphically via Remote Desktop (rdp) or terminal session via SSH. Password is required for RDP access (vs only SSH cert).
Default username/password = guru/****UNIQUE****
(note: SSH prevents "root" logon, use "guru" then prepend commands with "sudo")
Best security practice is to use both SSH cert to create a local tunnel for the RDP client as well as a sufficiently complex password.
The the ONLY way to interact directly with GURU is via a GUI from remote terminal (VNC). The command line interface (terminal or ssh) can only be used for OS activities. Command line interface can be opened via the local and remote terminals, however SSH is recommended for best remote admin performance.
Use a VNC client to connect to "<hostname>:5901" and enter the vnc credentials to access GUI.
Since many configuration changes do not have a graphical user interface. Use "sudo mousepad /path/to/file" from a terminal to open a graphical based text editor.
From a command line: "ssh [email protected]<hostname>" and follow "from Terminal" instructions (where available).
Network Settings (IP Address, DNS, host name, etc.)
- "nmcli d" for info
"nmtui" for config
For Static IP: use "Manual" IPv4 CONFIGURATION and set address, Gateway, DNS
Note: Normally in a VM environment, the host OS controls the time and this is redundant and unnecessary (updated time will revert the next second). This should be implemented if deployed on actual hardware.
From Terminal: "sudo nano /etc/ntp.conf", update "server <hostname>" where <hostname> is the IP address or host name of the local NTP server..
See Install NTP Server in CentOS
See CentOS/RHEL How to change timezone
Mount Shared Network Drives (NFS or SMB)
IMPORTANT: /RiGuru and /RiApps should NOT be hosted on a remote NSF server without proper tuning.
From Terminal: "sudo nano /etc/fstab"
- Then add a line with this general syntax to connect to NFS server.
example.hostname.com:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr
Then add a line with this general syntax to connect to SABMA or Windows server.
//myserver_ip_address/myshare /media/samba_share cifs credentials=/etc/samba/user,noexec 0 0
Shared Folders (Samba)
From Terminal: ""sudo nano /etc/samba/smb.conf" Modify [global] or [Public] with changes.
OS Software Update
Notice: Security updates should be applied, unless instructed by Roos Support, regular updates do not need to be applied for reliable functionality.
Guru Server Launch Script
Guru Server requires a GUI (X) session to be running, so the "guru" user is set to autologin and Guru Server is set to start from the Gnome Autostart settings. DO NOT change these settings unless instructed by Roos Instruments. This information is provided for disaster recovery purposes only.
Guru Server is launched from the gnome-session-properties window.
Select "Guru Server (Roos Instruments Cassini Guru Server)" and press Edit. Command = "/home/guru/RiApps/guruServer/guruServerStart.sh -RiNoUpdate -RiNoBackup -RiNoClone"
"guru" user is set to automatically log on via Enable GDM automatic user login
Identify Guru Server Version and OS Version
Identify the version of Guru Server that is currently running by hovering over the "[RI Guru Server..." task on the Task Bar.
Determine the OS version with "lsb_release -a" command.