AN!CDB - Cluster Dashboard

From Alteeve Wiki
Jump to navigation Jump to search

 AN!Wiki :: AN!CDB - Cluster Dashboard

AN!CDB - Cluster Dashboard

AN!CDB, the Alteeve's Niche! Cluster Dashboard, is a management tool for clusters built following the 2-Node Red Hat KVM Cluster Tutorial.

It's first and foremost goal is to be extremely easy to use. No special skills or understanding of HA is required!

To achieve this ease of use, the cluster must be built to fairly specific requirements. Simplicity of use requires many assumptions be made.

AN!CDB provides;

  • A single view of all cluster components and their current status.
    • Control of the cluster nodes. Nodes can be:
      • Powered On, Powered Off and Fenced
      • Join to and withdrawn from the cluster
    • Control of the virtual servers. Servers can be:
      • Booted up, gracefully shut down and forced off
      • Migrated between nodes
    • Create, modify and delete servers;
      • Create and upload installation and driver media
      • Provision new servers, installing from media just like bare-iron servers
      • Insert and Eject CD/DVD images
      • Change allocated RAM and CPUs
      • Delete servers that are no longer needed.

AN!CDB is designed to run on a machine outside of the cluster. The only customization needed is for the cluster name and the name of the nodes be added to the program. Once done, AN!CDB will collect and cache everything needed to control the cluster, even when both nodes are offline.

Note: AN!CDB is a constantly evolving, changing and improving project. It is highly likely that the version you install will differ somewhat from what is shown in this manual.

Installation

Installing AN!CDB is pretty easy. Please jump to the tutorial below and return here once AN!CDB is installed.

Using AN!CDB

Feel free to jump to the section you are interested in. The order below was compiled as a "story line" of how someone might use AN!CDB to "cold boot" a new Anvil!, create some servers, take a node out for maintenance, manage existing servers, boot a windows server off of the install disk for recovery, "cold stop" and Anvil! and delete servers.

All screen shots shown here were taken in late July 2013. AN!CDB is always evolving so what you see today may differ somewhat from what you see here.

Dashboard Buttons

AN!CDB buttons.

There are two main buttons that you will see and use often. They are the "Back" button (not to be confused with your browser's "Back" button) and the "Refresh" button. In addition, the main dashboard logo is click-able and will either return you to the Anvil! selection screen or, if you have just one Anvil!, return you to the main dashboard page.

  1. The "Back" button, #1, will return you to the status and control screen for the currently selected Anvil!.
  2. The "Refresh" button, #2, will update the current screen to ensure that what you are seeing is accurate and up to date. It is a good habit to always click "Refresh" when ever you return to AN!CDB after a period of time away.
  3. The main logo, #3, will return you to the Anvil! selection screen. If you have just one Anvil, it will be automatically selected causing it to behave like the "Back" button.

Glossary

Many terms in the computer world are a little fuzzy. To make sure we're all on the same page, this is how we at AN! define a few core terms;

Term Definition
Node The physical hardware machines. These are members in the cluster stack and a node can host any of your servers.
Server This "virtual" server that you install your operating system and software on. You can think of servers as being essentially identical to traditional "base-iron" servers you are used to using.
Bare-iron This is a term often used to describe traditional servers where the operating system and software are installed on a dedicated hardware machine.
Hypervisor This is the software that emulates the "virtual hardware" that your servers see and use.

Connecting to the Dashboard

Connecting to the Dashboard
AN!CDB Login prompt.

Open a web browser and browse to the dashboard. Here we will use the actual dashboard's desktop, so we will browse to http://localhost. If you connect from another computer, browse to the IP address or host name you setup for the dashboard.

When you first connect, you will be asked to log into the dashboard. The default user name is admin. There is no default password, but it usually set to the same password used when logging into the dashboard's desktop as the alteeve user.

If you do not know what the password is, please contact support. We can not recover your password, but we can help you reset it.

Choosing the Anvil! to Work On

Choosing an Anvil!
Choose the Anvil! you wish to work on.

If you have configured your dashboard to work on two or more Anvil!s, the first screen you see will ask you to select the one you wish to work on. This list is created by reading your /etc/an/an.conf file on the dashboard. By default, four sample entries are created. You will need to edit the an.conf configuration file to point to your Anvil!(s) before you can use the dashboard to control them.

If you have only one Anvil!, you will not see this screen.

If the dashboard sees only one Anvil! in the configuration file, it will automatically be selected.

The Loading Screen

Choosing an Anvil!
The ever-present AN!CDB loading screen.

The dashboard does not cache or record an Anvil!'s state. Each time the dashboard needs to display information about the Anvil! and before performing an action on an Anvil!, the dashboard calls the nodes directly and checks their current state.

What this means is that you will frequently see the dashboard loading screen. This is an animated pinwheel asking you to wait while it gathers information.

When you see this screen, please be patient. The dashboard will wait up to 1 hour and 40 minutes, by default, for the cluster to return information. This is far longer than any action should take, of course. If you wait several minutes and the loading screen is still displayed, feel free to click on the "reload" icon to the right of the top logo.

"Cold Start" the Anvil!

"Cold Start" process
"Cold Start" screen.
"Cold Start" confirmation screen.
"Cold Start" initiated screen.
"Cold Start" initiated; "No Access" screen.
"Cold Start" initiated; "Connection Refused" screen.
"Cold Start" complete, nodes are up.

If you Anvil! nodes are both powered off, you will see the "Cold Start" screen. If your dashboard is connected to the Anvil!'s "Back-Channel Network" (BCN), you will be given the option to turn on both nodes or just one node.

In almost all cases, you will want to start both nodes at the same time.

To start both nodes, simply click on the "Power On Both" button. Should you ever want to turn on just one of the nodes, click on the "Power On" button that is on the same line as the name of the node you wish to boot.

Once you click on "Power on Both" or "Power On" for a single node, you will be asked to confirm the action. Click on the "Confirm" button and the dashboard will connect to each node's IPMI interface and ask it to boot the nodes.

After confirming the action, the dashboard will do an initial scan to make sure that the nodes can still be turned on. If someone else turned them on already, the dashboard will abort and tell you why. These checks are done because multiple people can use the dashboard at one time. In most cases though, your action will complete successfully.

If you go back to the main page before the nodes are booting, you will see one of two screens;

  • "No Access"; This tells you that the dashboard can see that the node is powered up, but it was unable to connect via ssh to the node. This means that the node is still powering up, a process that can take several minutes on most modern hardware servers.
  • "Connection Refused"; This tells you that the node's operating system is booting up, but not quite ready to accept ssh connections. The node should become accessible very soon. Click on the "refresh" icon at the top-right and you should be able to connect to the Anvil! in just a moment.

Start the Cluster Stack

Starting the Cluster Stack
The cluster stack is stopped.
Confirm the start operation.
The cluster stack has started.
The cluster stack is running.

To prevent a possible condition called a "Fence Loop", the cluster nodes are not allowed to automatically start the cluster stack when they boot.

After a cold start of the cluster, your Anvil! will not yet be able to run servers. The next step that is needed is to start the cluster stack by pressing the "Start Cluster" button. You will be asked to confirm the action, press "Confirm".

The two nodes in the cluster must have their stacks started at the same time (as opposed to one after the other). For this reason, the data coming back from the nodes can be mixed together. The main effect of this is that, sometimes, the formatting of the output can be skewed, as seen in the third screen shot above. This is harmless and safe to ignore.

When you click on the "back" button, you will see that the cluster stack is either starting or fully started. The fourth screen shot above shows the cluster after it has fully started. If you see anything that isn't green, please wait a moment and then click on the "refresh" button. Within a minute or two, everything should become green and you will be ready to proceed.

Media Connector

The Media Connector is used to make installation, driver and software media (CD and DVD images) available for use in servers. There are three ways that media can be added to an Anvil!;

  1. Create an image of a physical CD or DVD disk.
  2. Download from a website address.
  3. Upload a file from your computer.

Once an image file is on you Anvil!'s shared storage, you will be able to use it to install a server's operating system or mount it in an existing server's (virtual) DVD-ROM drive.

Creating an Image from a Physical CD or DVD

Note: This step requires a physical CD or DVD drive be installed or plugged into the dashboard server.
Creating an image of a physical CD or DVD
Media Connector page, no disc in drive.
Disc inserted into DVD-ROM.
Create image, confirmation screen.
Change image file name.
Image process starting.
Image created, uploading to Anvil! storage.
Upload complete.
Image listed in shared storage.
  1. If your dashboard has a DVD or CD drive, insert your disc into it. If your dashboard does not have an optical drive, plug a USB drive in and insert your DVD or CD.
  2. Once the disc has been inserted, refresh the Media Connector window and the "Upload" button will become available. Click on Upload to go to the confirmation page.
  3. The label on the disk will be used to name the disc image file. Often this is a fairly cyptic name, so you can change the name if you wish. Once you are happy with the name, click on Confirm.
  4. PLEASE BE PATIENT! This can take a while for anything to show up on your screen. Please give it some time.
  5. After a bit, you will see a screen telling you that the image is being created. How long this takes to complete depends on the speed of the CD or DVD-ROM and the size of the disc being imaged.
  6. Once the image has been created, it will be uploaded from the dashboard machine to the Anvil!. How long this takes will depend on the speed on the Back-Channel Network connection and the size of the image file.
  7. Once the upload is complete, you will see Done!. Click on the back AN!CDB "Back" button to return to the Media Connector page.
  8. On the main Media Connector page's Files already on the shared space section, you should see the image file you just created!

Downloading an Image From a Website or FTP Server

Download an ISO from a website or FTP server directly to shared storage
Media Connector page; Pasting the URL in the Address field.
Confirming the download.
The download is under way!
Download complete!
The downloaded image is now in the file list.
 

If you have an ISO image available for download from a website, you can pass the URL directly to Media Connector and it will connect to the address and download the image directly to the Anvil!'s shared storage. This is one of the most efficient ways to make CD/DVD images available to your servers.

  1. Copy the website or FTP server address and paste it into the Address field and then click the Download button.
  2. You will be asked to confirm the download. Note that, depending on the size of the image and the network speed, the download might take a long time to complete.
  3. Once the download begins, a progress message will be displayed every 5% of the download.
  4. Once the download is complete, you will see a summary of the download and a Done! message.
  5. Click on the "Back" icon and you will see the new image in the file list!
Warning: Once the download starts, do not browse away from the download screen! Doing so could result in a partial download and unusable image file. If this happens, delete the file and download the file again.

Uploading an Image From Your Computer

Upload an ISO from your computer to shared storage.
Click on Browse to select a file from your computer.
Click on Upload and please be patient!
The upload screen eventually is displayed.
Upload complete!
The uploaded image is now in the file list.
 

There are two common cases where you will need to upload an ISO from your personal computer;

  • You created an image file of a CD or DVD using an application on your computer.
  • You had to download an ISO from a website that uses temporary, session-based links to ISO files.

In either case, you will need to upload the ISO file to your Anvil!'s shared storage.

Note: Browsers are very cautious about links that open your file browser. For this reason, when you click on Upload, it might take a while before the progress screen appears. Note in the second screen shot how the browser shows that the upload is in progress by showing a pin-wheel in the tab and a notification message at the bottom (other browsers will do some variation of this). Please be patient!
  1. Click on the Browse button, locate the CD/DVD image file you wish to upload and select it. Once done, you will see the path to the file in the File field.
  2. Click on the Upload button and the upload will begin. Note that it could take a while for the page to change!. The browser should show a message and an icon indicating that the upload is in progress.
  3. After a time, the browser will refresh and an "in-progress" message will be displayed. Please continue to wait.
  4. When the upload is complete, a message indicating this will be displayed.
  5. Click on the "Back" icon and you will see the new image in the file list!
Warning: Once the upload starts, do not browse away from the download screen! Doing so could result in a partial download and unusable image file. If this happens, delete the file and download the file again.

Building Servers

This section will cover how to install various operating systems. The first one will use Microsoft's Windows 7. This first example will cover all of the installation steps in detail. The OS instructions after that will be somewhat condensed, so please review the Windows 7 install even if you plan to install a different operating system.

Starting the Build

Note: The Build a New Server will turn grey once you run out of disk space or memory. If this has happened, you will need to free up some resources before you can build a new server.
Connect to 'Virtual Machine Manager' and then click on Build a New Server
Double-click on Virtual Machine Manager.
Single-click on Build a New Server.
The "New Server" form.

To build a new server, we will need direct access to the new server just as if we had a monitor, keyboard and mouse plugged into a traditional bare-iron server. This is needed because when the operating system install starts, there is no network connection. This makes remote installation (almost always) impossible. To do this, the first step is to double-click on the Virtual Machine Manager icon on the dashboard server's desktop. In order to do this, you will need to be using the dashboard server directly.

If you enabled auto connect when you added your nodes to Virtual Machine Manager, then the connection to the servers should immediately be established. If you see Not Connected beside the node names, then simply double-click on the node names in the Virtual Machine Manager window. This will connect to the nodes and you will then be ready to start the new server build!

Single-click on the Build a New Server button at the bottom-left of the dashboard. This will take you to the New Server form. There are seven sections you will need to fill out.

  1. Server Name: This is the name of your server. It must be unique from any existing servers on your Anvil!(s). Beyond that, you can use just about any name you wish.
  2. Optimize for: The hypervisor adjusts how it creates the virtual hardware to try and get the best performance possible. To do this, you will need to select the operating system that most closely matches the operating system you plan to install. If you can't find the exact entry for your operating system, then choose the one that is closest. It does not have to match exactly.
  3. Install From: This is a drop-down list of installation media. Select the disc image that you wish to install your operating system from.
  4. Driver Disc: This is the same drop-down list found by Install From. In this case, you can select a second disc image to use during the operating system install. This disc will not be used to start the operating system install, but it will be available during the install process. This is ideal if your operating system will need extra drivers, such as the virtio drivers needed for all Windows installs. It can also be used if your operating system needs a "Disc 2" in order to complete. If you don't need a second disc, you can leave this empty.
  5. Memory (RAM): This is where you can choose how much RAM to give your new server. Please note the amount of RAM free and do not try to set a value higher than what is available. There is a select field to the right of the text field where you can change the capacity from GiB to another size type. Generally this can be left as-is.
  6. Number of CPUs: This is a drop-down list that lets you choose how many CPUs to allocate to the new server.
  7. Storage Space: This section serves two jobs, which we'll cover in more detail below;
    1. It allows you to choose how much hard drive space to assign to the new server.
    2. It assigns the new server to a given node.

For the Server Name, we will use the format vmXX-description. The prefix vmXX- is a simple way to ensure that all servers are uniquely named. If you have two or more Anvil!'s, you will want to ensure that the server names are unique across all dashboards. This way, if you want to move a server from one Anvil! to another, you won't ever have to worry about conflicting names. In the end, you can use whatever makes sense to you.

The Optimize for section contains many, many operating systems. Even so, it is not a complete list. If you do not see your operating system in the list, try to choose the closest one. For example; At the time of writing, there is not an entry for Microsoft Windows Server 2012. So you could choose "Microsoft Windows Server 2008" as it is the closest match.

Above Install From is a button called Add a new Disc. If you don't see the install or driver disc you wish to use in the drop down lists, you can click on this button. It will open the Media Connector in another browser window or tab. You can add the missing disc(s) and then, when you are done, close the Media Connector window. Then refresh the Build a New Server window and the new disc(s) should show up in the list. Most modern browsers will preserve any fields you've already filled out, so you should not have to start over.

The Storage Space section, as mentioned, serves two roles.

Each new server gets assigned to a "preferred" host node. This is done because, usually, you will have two storage pools. Whenever possible, you will want all of the servers on a given storage pool to be running on the same node at the same time. This is done as a fail-safe to simplify recovery in some failure scenarios.

You will have to consider two things when choosing a host node;

  • Do both nodes have enough free space for the new server? If not, then your decision will be limited to the storage pool with enough free space.
  • If both storage pools have enough space, then look at the existing servers on each host. If your new server will have a high CPU load, then you will want to add it to the node with servers that have relatively lower-CPU loads. This way, you can spread out the processing load when both nodes are healthy and online to gain the best performance possible.

Once you have filled out the fields, click on the Confirm button and your new server will be created and the install will begin!

Once the install starts, you will see your new server appear in Virtual Machine Manager under the node whose storage pool you used. Double-click on the server and you will get direct access to the server. From there, you can install your operating system just like you would if your were installing the same OS on a bare-iron server.

Building a Windows 7 Server

Installing Windows 7
Form fields filled out.
Installation started!
Connect to the new server's monitor using Virtual Machine Manager. Follow the operating system's installer just as you would on a bare-iron server.


Rough Notes

KVM/QEMU maintained list of tested guest OS.

Windows 7

Windows 7 Professional has a limit of two sockets. The hypervisor presents each core as a socket, so Windows 7 will only use up to two cores.

Solaris 11

There is a harmless but verbose bug when using Solaris 11. You will see errors like:

WARNING: /pci@0,0/pci1af4,1100@1,2 (uhci0): No SOF interrupts have been received
, this USB UHCI host controller is unusable

Ignore this until the install is complete. Once the OS is installed, run:

rem_drv uhci

The errors will no longer appear.

Solution found here.

 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.