Changing the Hostname/IP address

Background

If the hostname or IP address has already been modified on compute nodes, follow the steps to change the configuration in xcat.

Remove Old Provision Environment

  1. Remove the nodes from DNS configuration

    makedns -d <noderange>
    
  2. Remove the nodes from the DHCP configuration

    makedhcp -d <noderange>
    
  3. Remove the nodes from the goconserver configuration

    makegocons -d <noderange>
    

Change Definition

  1. Change networks table definitions

    lsdef -t network -l
    

    The output may be like

    10_0_0_0-255_0_0_0  (network)
    192_168_122_0-255_255_255_0  (network)
    

    Change the networks table definitions, For example 192_168_122_0-255_255_255_0 is a original network configuration which should be modified to 192_168_123_0-255_255_255_0:

    rmdef -t network 192_168_122_0-255_255_255_0
    mkdef -t network 192_168_123_0-255_255_255_0 net=192.168.123.0 mask=255.255.255.0
    
  2. Change the hostname in the xCAT database (This command only supports one node at a time). For many nodes you will have to write a script.

    # changes node1 to node2 in the database
    chdef -t node -o node1 -n node2
    
  3. Change the hostname and IP address in the /etc/hosts file

    • If you do not use the hosts table in xCAT to create the /etc/hosts file, edit the /etc/hosts file and change your hostname and IP address entries directly.

    • If you use the xCAT hosts table, and your nodes are defined by name in the hosts table, the hosts table must be updated with the new names when we changed the node name using chdef command. If the hosts tables contains regular expression, you have to rewrite the regular expression to match your new hostname and IP address.

    • If these is no regular expression in the hosts table, you can run

      # change the IP address for the new hostname in the hosts table.
      nodech <newnodename> hosts.ip="x.xx.xx.xx"
      # add hostname/IP records in /etc/hosts from the definition in the xCAT hosts
      # table for the <noderange>
      makehosts <noderange>
      

Update The Provision Environment

  1. Configure the new names in DNS

    makedns -n
    
  2. Configure the new names in DHCP

    makedhcp -a
    
  3. Configure the new names in goconserver

    makegocons