Locations in DCImanager

From ISPWiki
Jump to: navigation, search

Starting from DCImanager 5.42 you can use the Multiple Location feature to manage servers housed in different data-centers.

Features

You can manage physical servers (reboot, power on/off, deploy, run diagnostics) located in different data centers from a single DCImanager interface.

Requirements

  • Homogeneous environment - DCImanager server and its locations (see below) must run the same operating systems of the same versions.
  • The main server (where DCImanager is installed) must have access to serve equipment (PDU and switches) on all locations.
  • Each location must have enough disks space for OS templates. We recommend allocating 100 Gb of disk space. Templates will be placed into the directory specified by the path ostemplatedir parameter. If this parameters is not specified in the configuration file, the standard /DCI directory will be used.
  • Locations must be accessed through SSH from the DCImanager server.
  • Do not install DCImanager on the sever with locations. Install DCImanager only on the master server. DHCP, TFTP and the rsync utility will be automatically set up on locations when adding a new location in DCImanager. Thus, our server-location may run any software except for those interconnected with DHCP and TFTP, because this may lead to conflicts. E.g. DCImanager will copy its DHCP configuration on the location, while other program will try to modify it. This is also the reason why DCImanager must not be installed on the location. DCImanager on the location won't "know" about DCImanager on the master server, and will try to modify DHCP according to its needs.
  • Servers in different data-centers, where operations will run must have access to DCImanager through HTTP/HTTPS to the port, which ihttpd listens to. Thus, servers will inform DCImanager about the process and results. Once completed, DCImanager will update server statuses in the web-interface, modify configurations, etc.
  • Recommended OS: Centos 7, Debian 8

Operation scheme

We have DCImanager running in one data-center, and several locations (special servers) in other data-centers.

DHCP and TFTP services are setup on each location (DCImanager will set up them automatically when adding locations in the web-interface). All the servers created in DCImanager will be associated with a certain location. For each location a DHCP configuration file is created. Copies of OS templates are located on each location. During server deployment, the DHCP configuration file will be sent to its location, and required files will be created in the TFTP-server's directory. So, the server will be deployed "from its location".

In DCImanager complete the following steps:

  • add data-centers in the "Locations" module
  • add racks with corresponding locations in the "Racks" module. Each rack is associated with a certain location. If the rack is associated with a data-center, where the server with DCImanager is located, select "None" in the "Locations" field. All the servers from locations should have the corresponding racks. DCImanager defines a location where the server is housed, by its rack. DCImanager will find the location of the server rack and configure DHCP and TFTP on that location. If location is not selected for the rack, the server is considered local (where DCImanager is running) and can be managed in the usual way.

Configuration example

We have several servers in Moscow, New York, and Amsterdam.

DCImanager is installed on one of the servers in Moscow. We want to manage servers not only in Moscow, but also in Amsterdam, and New York, from DCImanager.

In Amsterdam and New Your we reserve servers for locations, and we have three servers - the first server with DCImanager in Moscow, the second - in New York, and the third in Amsterdam.

Login to DCImanager to set up integration with IPmanager. Once completed, go to IPmanager to create subnets for locations. Choose a type for each location. We'll create amst and nyk subnets.

IP addresses for servers in Amsterdam will be allocated from the amst network, IP address for New York will be allocated from nyk. IP addresses for servers housed in Moscow (local servers with DCImanager) will be allocated as usual - either from the network, which type is specified for the server, or from the standard type selected in the "Global settings" module.

Navigate to the "Locations" module and add 2 locations - "AMST" and "NYK". Specify the corresponding type of IP addresses - "amst" and "nyk". Clicking "Ok" will start the configuration process - set up TFTP and DHCP and copy OS templates.

Navigate to the "Racks" section and create 3 racks (AMST-2, NYK-3, MSK-1). For racks in Amsterdam and New York select corresponding locations in the "Location" drop-down menu. Leave "None" for MSK-1.

Navigate to the "Servers" module and add our servers in Amsterdam , New York, and Moscow. Select the racks AMST-2, NYK, and MSK-1 correspondingly.

We have specified racks to associate our servers with certain locations. Now we can run operations on our servers regardless their physical location. DCImanager will define a location the server is related to, by the server's rack.

Technical notes

The operations described above can be performed in DCImanager and Enterprise. IP-address for servers in DCImanager are allocated as follows:

If the "Block of IP address" in the server's edit form is not empty, an IP address of a specified type will be allocated.

If the field is empty, and a location is specified for the server's rack, an IP address specified for that location will be allocated. In all other cases, IP addresses will be allocated based on parameters selected the "Global settings" module.

Operations on servers are performed as follows:

if a location is selected for the rack, and the rack is specified for the server, a remote setup process will start. Otherwise, standard deployment mechanisms will be applied.

Remote deployment

On the server with DCImanager, a new file dhcp.conf-LOCATIONID is created (or it can be edited) in the directory with the DHCP file. All the required information is added through SSH into the location where the directory with DHCP configuration file is located. -LOCATIONID will be deleted. The DHCP server will restart, and the configuration file will be applied. Note! The configuration file on the location will be overwritten every time you start/cancel the operation, so you shouldn't add custom settings. If you want to add custom settings into the configuration file for locations, edit dhcp.conf-LOCATIONID on the server with DCImanager. Required files for TFTP will be created on the location, the server will be rebooted, assigned the IP address from the location's DHCP service and a boot image from its TFTP service.

Server search is not supported for locations. Server search can be performed only in the data-center (or network), where the DCImanager server is located,. Therefore, server search options (the "Global settings" module) are applied only to the data-center (or network), where the DCImanager server is located.

Troubleshooting

If the location configuration failed, navigate to the "Notifications" module, select the corresponding notification, and click "Resolve".

The configuration process will restart, and you will need to wait for the process to complete. We do not recommend that you terminate the operation.