Virtual Server Implementation

Hey guys,

We're thinking of putting our servers into a virtual environment and the IT guys want to make sure that everything will play nice, here is a list of our current environment and where we will be upgrading to in the next few years:

Current Spec

Windows 2008 R2
Vmware ESX 3.5 update 5
SQL 2005

Future Spec

Windows 2008 R2
Vmware ESXI 4.1
SQL 2008 R2

Does anyone see any issue with this? Let me know, thanks!

We’re running Ignition on Win2003
ESX4.0(moving to ESXI 4.1 next week)
SQL Server 2005,2008, MySql
w/out any problems.

I haven’t noticed any compatibilitly issues on ESX 4.0 or on our dev ESXI 4.1 system.

I have a system running virtual and havent had any issues.

The only issue we have found with VMs is time.

Virtual machines have a really hard time keeping the correct time. This only becomes an issue if you timestamping events based on the virtual machines’ time. If you field devices are timestamping the events and they are sync to an external clock (GPS, IRG-B, IEEE-1588, etc) then there is no problem.

We use VMs a lot in development and have witnessed the time jump around by many seconds.

To check it you have to compare the VMs time to a stable time (like the host or another machine) several times a minute.

There is a detailed explanation here

This isn’t specifically germane to the discussion but I wanted to post a pleasant success with Ignition and virtualization.

I downloaded a free VMWare Appliance from Turnkeylinux that had MySQL pre-installed on a VMWare Workstation virtual machine with a Debian/Ubuntu 10.04 LTS operating system and the popular Webmin and PHPMyAdmin web-based administrative consoles. No Apache, no Gnome, no anything else to weigh it down.

All I had to do was assign an IP address and two root passwords and the installation was done. Installing Java was a two-line process from the console. Installing Ignition 7.2.5 was dead-simple, following the instructions on the IA website (which are word-for-word also in the Online Help). Unlike most Linux installation guides they don’t assume you know how to do any Linux administration tasks.

And wham, I was off to the races. No new software on my host PC, no extra server boxes whirring away in the corner.

I’m an absolute beginner with Ignition (and Python and SQL… it’s going to be a steep curve) but I was gratified to find that compared to an installation of any other major HMI software, installing Ignition was stunningly simple and quick.

That’s a design goal that all software developers should strive for. It’s really nice when some of them achieve it. :thumb_left:

Kakkerlak: Which one of Turnkey’s VM’s did you start with.

Thanks…

Dennis

BTW: Have you ever noticed that with some turnkey projects, the “n” often falls out? Cough…

I started with the MySQL appliance.

turnkeylinux.org/mysql

I’m running a Windows 7 Professional 64-bit host, and running the virtual machine in VMWare Workstation 7.1. Being able to give the Ignition Gateway and SQL Server machine different amounts of resources should help me determine how much power I need for real Ignition servers.

Kakkerlak: Was Java already installed or did you have to apt get?

Thanks for posting.

Dennis

I have setup a whole enterprise level infrastructure with highly available network stores, with about 40 virtual machines (DNS,DHCP,Router,Ignition,MySQL,WebServer,Load Balancers,etc) for a SCADA hosting company, and it works great. VMs work great.

@DennisWomack: I installed Java 6 using “apt-get install sun-java6-jre”, exactly as shown in Step 1 of the Ignition installation instructions for Linux.

This was one of the things that made the Turnkey Linux VM easier than a bare-iron Ubuntu Server installation, because Canonical chose to remove Java 6 from their Universe repository over some GNU license issue that got their undies in a bunch, so you had to point to some third-party repository or learn how to install it from scratch from Oracle/Sun.

Another nice thing is that the Turnkey Linux VM actually lets you log in as Root, while Ubuntu requires that you perform SUDO for every Root-level access function. While I realize the dangers of logging in as Root, I can handle the risk for the 1-page installation of Ignition. Since I installed Ignition I haven’t seen the command prompt: I do everything through Webmin and MyPHPAdmin.

You can enable root on Ubuntu… if you have to.

A better thing to do if you only need root access in the short term, BUT don’t want to deal w/ sudo’ing every command(or writing a quick script, heh), is to start a bash shell w/ root’s environment. Assuming you have permission to sudo under your normal acct

 sudo -i /bin/bash

will give you a shell as root. Do what you need to do then ‘exit’.

An update; I went to do a new installation of Ignition 7.3 on a copy of the same Turnkey Linux virtual machine, and found that the command line “apt-get” wouldn’t find a repository of the Java6 runtime, even if I tried to point it to the Canonical software archive.

This was the problem that I alluded to with using ordinary Ubuntu 10.04 !

Fortunately when I used the Software Packages management feature of the Webmin console built into that Turnkey Linux VM, the “Install a new Package from APT” with the keyword “Java6” found a repository and happily installed Java6 for me.

I did get the option to install the Standard versus the Headless versions, and I chose Standard because I think that the X window system is required for the Mobile module to work (if in fact it does with a truly headless server, in Ignition 7.3).

If I find more things of note I’ll post them here, regarding specifically this Turnkey Linux VM.

Thank you to everyone who posted on this topic. I was able to install Ignition on a turnkeylinux virtual machine.

Now that the Linux Ignition install is no longer a zip file, I think Ignition’s install instructions need a little updating. The apt-get instruction for java6 is a big problem now due to the issues previously mentioned.

One other gotcha that newbies will need to know is to chmod +x the run file to make it executable.

[quote=“Dravik”]You can enable root on Ubuntu… if you have to.

A better thing to do if you only need root access in the short term, BUT don’t want to deal w/ sudo’ing every command(or writing a quick script, heh), is to start a bash shell w/ root’s environment. Assuming you have permission to sudo under your normal acct

 sudo -i /bin/bash

will give you a shell as root. Do what you need to do then ‘exit’.[/quote]

better way is to just use the su command

$ sudo su
password:

to reduce privileges type exit

exit

$

I’m revisiting this topic because I did a new installation today. Skip to the bit about adding a sources.list file in order to get Java installed if that’s your thing.

The target hardware is a Compulab Fit-PC2i. This is a teeny little embedded computer, literally smaller than a peanut butter sandwich. It has an Intel Nano Z530 CPU at 1.6 GHz, and my model came with 1 GB of RAM soldered to the board, as well as an 8 GB solid state drive. Like I said: teeny.

My steps were:

Downloaded turnkey-mysql-11.3-lucid-x86.iso from Turnkey Linux.
Used unetbootin utility to make a bootable USB drive
Inserted the USB drive into the Fit-PC2i and rebooted.
Chose LiveCD mode, then selected Install to Hard Drive.
Set and wrote down root passwords for Linux and for MySQL.
Did not complete security update process because PC was not connected to a network.
For eth0 (labeled “Eth1” on back of Fit-PC2i) static IP configuration 192.168.2.2, 255.255.255.0, 192.168.2.1 (gateway), no name server
For eth1 (labeled “Eth2” on back of Fit-PC2i) DHCP is enabled.
Reboot
Fit-PC2i came back up as MySQL appliance. Auto-ON was already enabled.
Copied Ignition 7.3.3 onto Fit-PC2i using Webmin Upload and Download utility to place ignition-7.3.4-linux-32-installer.run file into /home directory, owned by user root

Used Webmin to install Time service on server.
turnkeylinux.org/blog/configuring-timezone

Next I logged into the Linux machine using the Shell In A Box command-line interface, as the root user.

Created sources.list file in directory etc/apt, with just these two lines:

deb archive.canonical.com/ lucid partner
deb-src archive.canonical.com/ lucid partner

Peformed “apt-get update” from the command line
Performed “apt-get install sun-java6-jre” from command line, accepting OK prompts along the way.

From command line, performed “chmod +x” on the installer .run file.

From command line, “./ignition-7.3.4-linux-32-installer.run” and hit Enter to accept the terms 98 times.

And ta-da… I have an Ignition instance running on a tiny 6-watt computer.

I have literally spent days configuring and patching powerful servers to run competitive software. I am extremely impressed with the ease of installation of Ignition.

Very cool - thanks for sharing that!

It occurs to me after a day that I posted this into a thread titled “Virtual Server Implementation”.

The reason why is the Turnkey Linux base operating system, which is a pre-packaged MySQL server built on top of Ubuntu Server 10.04.

The bulk of Turnkey Linux products are virtual appliances, for VMWare or Amazon EC2. I’ve been doing all of my development on a VMWare Workstation 7.1 instance of this same Turnkey Linux appliance, but now it’s time to pack that up and put it in the box with the logic controller and motion controllers.

What’s very neat is that the same Turnkey appliance, when downloaded as an ISO instead of a VDMK file, installs on this bare-metal Atom-based miniature PC very well.

How big a system is this? ie: how many tags can you fit into it?