An administrator can manage physical servers located in different data centers from a single DCImanager interface. He can group servers according to their geographical location into "Locations".
A location is a web-interface that allows DCImanager to manage servers from one data center. Every location in the data center has a special server that is used as the DHCP-server and storage for OS templates for all other servers in the location.
Requirements
- Homogeneous environment - the parent server (with DCImanager) and server-locations must have the same version of the operating system. Supported OS is CentOS 7;
- The parent server must have access to PDU and switches through the network;
- Each location must have enough disks space for OS templates. We recommend allocating 100 Gb of disk space;
- Locations must be accessible through SSH from the parent server;
- Do not install DCImanager and other applications that use DHCP and TFTP on the server with locations;
- Servers from locations must have access to the parent server through HTTP/HTTPS to the port that ihttpd listens.
Location setup
Navigate to Main menu → Locations → Add or Edit .
General information
- Location name;
- Address— actual address of this location;
- Owner — administrator responsible for the location;
- Comment — any information related to this location. It will be shown in the "Comment' column in the list of locations.
Access to server
- IP-address— location IP address. DCImanager will use this IP to connect to the location via SSH;
- Block of IP addresses — a type of IP-addresses added in IPmanager that will be used for servers in this location;
- SSH port — port to connect via SHH;
- Superuser — root account on the location server. DCImanager will manage servers on the locations with these permissions;
- Server authorization:
- by password— DCImanager connects to the location server with the username and password from the Superuser password field. When creating a location the control panel will add its public key on the server and will use SSH-key authentication afterward;
- by SSH key— the location administrator needs to add the public part of the key from the Open key field into the list of keys on the location.
Name servers
Name servers — enter the IP addresses of the name servers that will be set up on the server after the OS template is installed Enter IPv4 or IPv6. Leave the field blank to apply the name servers of the parent server.
How it works
Preliminary steps
DHCP, TFTP, DCImini, and rsync are set upDCImini on each location (DCImanager will set them up automatically when adding locations in the web-interface). Do not install other applications that use DHCP or TFTP!
DCImini configuration are specified in the configuration file (the default location is /usr/local/mgr5/etc/dcimini.conf). The unique parameters: DciMiniParentAddress — IP address of the server with DCImanager in the format <IP-address>:<Port> and MD5 — internal password hash. Other settings are inherited from DCImanager. For more information please refer to the DCImanager configuration file.
The configuration of the location DHCP-server is sent from the parent server. A unique DHCP configuration file is created for each location. The files are stored on the parent server with names in the following format: dhcp.conf-<location_ID> in the /etc/dhcp directory and are added to locations when the operation starts or terminates (Main menu → Servers→ Operations→ Add). The DHCP configuration files are added into the /etc/dhcp directory of the location. The section "-<location_ID>" will be deleted from the file name.
In DCImanager perform the following steps:
- add the 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 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 the location is not selected for the rack, the server is considered local (where DCImanager is installed) and can be managed in the usual way.
The rsync utility is used to copy OS templates from the parent sever to locations. In the case of standard configuration, they are added into the /DCI directory. To change the directory, add the path ostemplatedir parameter into DCImanager configuration file /usr/local/mgr5/etc/dcimgr.conf. Specify a required path:
echo "path ostemplatedir <Directory>" >> /usr/local/mgr5/etc/dcimgr.conf
Allocating IP address
An IP address for the server in the location is allocated from the IP addresses in the server edit form → IP type/pool. Leaving this field blank will utilize the IP type specified in the location parameters edit form → Block of IP addresses. If the IP type is not specified for the location, the system will use the type from the Global settings → Standard type of IP addresses .
Operations on servers
"Install OS from template": if the location is selected for the rack, and the rack is specified for the server, a remote setup process will start. Otherwise, the standard deployment mechanisms will be applied.
Remote installation
The dhcp.conf-<location_ID> file is created in the /etc/dhcp directory on the server with DCImanager. If the file already exists, it will be edited. All the required information is added and the file is copied via SSH into the /etc/dhcp directory of the location server. The section "-<location_ID>" will be deleted. The DHCP server will restart to apply the new settings. The files from OS templates that are used for server reboot are added into the /var/lib/tftpboot directory. The server reboots, gets the IP address from the DHCP-server and uploads the boot OS image through TFTP.
Server search
Server search runs for every location. Navigate to Integration → Modules → Settings → Add to add parameters for the location. Learn more in "Server search" module.
Configuration example
We need to configure locations for the servers in Moscow, New York, and Amsterdam. DCImanager is installed on the server located in Moscow.
In Amsterdam and New York, we reserve servers for locations. You need to integrate DCImanager with IPmanager. Once completed, in IPmanager create subnets for locations. Create separate types of IP addresses: amst_net in Amsterdam and nyk_net in New-York. IP addresses for servers housed in Moscow can be allocated 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 Main menu → Locations→ Add and add 2 locations - "AMST" and "NYK". Specify the corresponding type of IP addresses: amst_net for the location AMST and nyk_test for the location NYC. Clicking "Ok" will assign the network (IP type) from which IP addresses will be allocated to servers from that network.
Navigate to the "Racks" section and create 3 racks: msk_rack, nyk_rack, and amst_rack for the servers in Moscow, New-York, and Amsterdam. For the racks in Amsterdam and New York select the corresponding locations in the Location drop-down menu. Select "None" for the racks in Moscow. This will associate the racks with servers with the locations.
Navigate to the "Servers" module. To add a server to the location, in the Rack field select the rack msk_rack, nyk_rack or amst_rack depending on the data-center where the server is housed.