Re-IP addresses with a mapping file

Mapping new IP addresses includes:.

Mapping new IP addresses includes:

  • Creating a mapping file that maps the old IP addresses to the new IP addresses.

  • Using the mapping file to update configuration files and the database catalog.

If you use control messaging for communication between hosts, you might also need to update IPs with new controlAddress and controlBroadcast IP addresses.

Create a mapping file

Create a mapping file as follows:

  1. Get the new IP addresses and save them in a text file.

  2. Get the old IP addresses with list_allnodes:

    $ admintools -t list_allnodes
    Node             | Host          | State | Version        | DB
    -----------------+---------------+-------+----------------+-----------
    v_vmart_node0001 | 192.0.2.254   | UP    | vertica-10.1.1 | VMart
    v_vmart_node0002 | 192.0.2.255   | UP    | vertica-10.1.1 | VMart
    v_vmart_node0003 | 192.0.2.256   | UP    | vertica-10.1.1 | VMart
    
  3. Copy the contents of the Host column into the text file where you saved the new IP addresses, in this format:

    oldIPaddress newIPaddress
    

    For example:

    192.0.2.254 198.51.100.255
    192.0.2.255 198.51.100.256
    192.0.2.256 198.51.100.257
    
  4. Use the text file to create a mapping file that you can use to perform one of these tasks:

Re-IP from an old IP address to a new IP address

  1. Create a mapping file that uses this format:

    oldIPaddress newIPaddress[, controlAddress, controlBroadcast]
    

    For example:

    192.0.2.254 198.51.100.255, 198.51.100.255, 203.0.113.255
    192.0.2.255 198.51.100.256, 198.51.100.256, 203.0.113.255
    192.0.2.256 198.51.100.257, 198.51.100.257, 203.0.113.255
    

    controlAddress and controlBroadcast are optional. If omitted:

    • controlAddress defaults to the newIPaddress.

    • controlBroadcast defaults to the host of the newIPaddress’s broadcast IP address.

  2. Run re_ip as follows:

    $ admintools -t re_ip -f mapfile
    

Re-IP from an old IP address to a new IP address and change the control messaging mode

  1. Create a mapping file that uses this format:

    oldIPaddress newIPaddress, controlAddress, controlBroadcast
    

    For example:

    192.0.2.254 198.51.100.255, 203.0.113.255, 203.0.113.258
    192.0.2.255 198.51.100.256, 203.0.113.256, 203.0.113.258
    192.0.2.256 198.51.100.257, 203.0.113.257, 203.0.113.258
    
  2. Run re_ip and change the control messaging mode as follows:

    • Change control messaging mode to point-to-point:

      $ admintools -t re_ip -d db name -T
      
    • Change control messaging mode to broadcast:

      $ admintools -t re_ip -d db name -U
      

      The embedded messages subsystem operates based on the controlAddress and controlBroadcast IPs when you use the -U option.

Re-IP the node control address on the database only

  1. Create a mapping file that uses this format:

    nodeName nodeIPaddress, controlAddress, controlBroadcast
    

    For example:

    v_vmart_node0001 192.0.2.254, 203.0.113.255, 203.0.113.258
    v_vmart_node0002 192.0.2.255, 203.0.113.256, 203.0.113.258
    v_vmart_node0003 192.0.2.256, 203.0.113.257, 203.0.113.258
    
  2. Run re_ip as follows:

    $ admintools -t re_ip -f mapfile -O -d database
    

For details, see Mapping IP Addresses on the Database below.

Re-IP IP addresses

After creating the mapping file you can re-IP the new IP addresses. The re-IP process automatically backs up admintools.conf so you can recover the original settings if necessary.

  1. Stop the database.

  2. Run re-ip to map old IP addresses to new IP addresses:

    $ admintools -t re_ip -f mapfile
    

    A warning occurs if:

    • Any of the IP addresses is incorrectly formatted

    • A duplicate old or new IP address exists in the file—for example, 192.0.2.256 appears twice in the old IP set.

    If the syntax is correct and mapping begins, re_ip performs the following tasks:

    • Remaps the IP addresses as listed in the mapping file.

    • Prompts you to confirm the updates to the database, unless you use the -i option.

    • Updates the required local configuration files with the new IP addresses.

    • Distributes the updated configuration files to the hosts using new IP addresses.

    Track these steps using the following prompts:

    Parsing mapfile...
    New settings for Host 192.0.2.254 are:
    
    address: 198.51.100.255
    
    New settings for Host 192.0.2.255 are:
    
    address: 198.51.100.256
    
    New settings for Host 192.0.2.254 are:
    
    address: 198.51.100.257
    
    The following databases would be affected by this tool: Vmart
    
    Checking DB status ...
    Enter "yes" to write new settings or "no" to exit > yes
    Backing up local admintools.conf ...
    Writing new settings to local admintools.conf ...
    
    Writing new settings to the catalogs of database Vmart ...
    The change was applied to all nodes.
    Success. Change committed on a quorum of nodes.
    
    Initiating admintools.conf distribution ...
    Success. Local admintools.conf sent to all hosts in the cluster.
    
  3. Restart the database.

Mapping IP addresses on the database

You can map IP addresses for the database only. This task involves mapping the name of the nodes in the database to the new IP addresses. This is useful for error recovery because admintools.conf does not get updated. Vertica updates only spread.conf and the catalog with the changes.

You can also map IP addresses on the database only to set controlAddress and controlBroadcast on a single database. This task allows nodes on the same host to have a different data and controlAddress.

  1. Stop the database.

  2. Create a mapping file in the following format:

    nodeName IPaddress, controlAddres, controlBroadcast
    

    For example:

    vertica_node001 192.0.2.254, 203.0.113.255, 203.0.113.258
    vertica_node002 192.0.2.255, 203.0.113.256, 203.0.113.258
    vertica_node003 192.0.2.256, 203.0.113.257, 203.0.113.258
    
  3. Run the following command to map the new IP addresses:

    $ admintools -t re_ip -f mapfile -O -d database
    
  4. Restart the database.