Appendix H. Migration from a Cluster with IRIX Server-Capable Administration Nodes

The information in this appendix will help you migrate from a cluster with IRIX server-capable administration nodes to a cluster with SGI Foundation Software for Linux server-capable administration nodes. It discusses the following:

You must ensure that you have the correct network configuration for the new Linux server-capable administration nodes; see Chapter 6, “Preinstallation Steps”. For assistance, contact SGI Managed Services.

An Overview of Differences Between IRIX and Linux System Administration

If you are migrating from a cluster with IRIX metadata servers to a cluster with SGI Foundation Software metadata servers, you should understand the differences between IRIX and Linux system administration. The details of these differences are beyond the scope of this guide, but a brief overview includes:

  • Installation tools

  • Mount options

  • Paths

  • Location of kernel system-tunable parameters

For more information, see the operating system documentation.

See also:

Caveats for Migrating from IRIX

This section discusses the following:

Changing SGIRDAC Mode to SGIAVT Mode for SGI RAID

CXFS does not support SGIRDAC mode. To convert from SGIRDAC to SGIAVT, do the following:

  1. Install the latest supported firmware on the RAID.

  2. Determine the IP address for one of the controllers on each RAID box.

  3. Make a script settype.scr that contains the following line:

    set storageArray defaultHostType="modename";


    Note: The capitalization and punctuation in the above line are required.

    To switch to SGIAVT mode, use the following line:

    set storageArray defaultHostType="SGIAVT";

    For the InfiniteStorage 220, use the CLI client to set the host type to SGIAVT:

    smicli -w SA_WWID -c 'set storageArray defaultHostType="SGIAVT";'

    To determine the value for SA_WWID, invoke the following:

    smicli -d -w

    For example:

    # smicli -d -w
    unit1  600a0b80002459d40000000045003fbc        localhost
              |---> SA_WWID

  4. Run the following for one of the controllers per RAID box:

    /opt/tpssm/client/tpssmcli RAID_IPaddress -f settype.scr
    

    For example:

    # /opt/tpssm/client/tpssmcli 192.168.0.1 -f settype.scr
    Performing syntax check...
    
    Syntax check complete.
    
    Executing script...
    
    Script execution complete.
    
    tpssmcli completed successfully.

Recreating Filesystems with the Appropriate Naming Version

Linux does not support version 1 naming on filesystems. You must examine the parameters for each filesystem by using the following command on the active metadata server for each filesystem:

xfs_growfs -n mountpoint

For example, the following shows that the /stripe1 filesystem has version-2 naming:

irixMDS# xfs_growfs -n /stripe1
meta-data=/stripe1               isize=256    agcount=16, agsize=1663360 blks
         =                       sectsz=512   attr=0, parent=0
data     =                       bsize=4096   blocks=26611968, imaxpct=25
         =                       sunit=128    swidth=768 blks, unwritten=1
         =                       mmr=0
naming   =version 2              bsize=4096   mixed-case=Y
log      =internal               bsize=4096   blocks=13056 version=1
         =                       sectsz=512   sunit=0 blks lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

If you have a filesystem that displays version 1 naming, you must recreate it on a Linux server-capable administration node so that it will have version 2 naming. Do the following:

  1. Dump the filesystem data to backup media by using the xfsdump(1M) command.


    Warning: If this step is not performed, all data currently on the filesystems will become inaccessible and will be permanently lost.


  2. Unmount the CXFS filesystems clusterwide by using the cxfs_admin command.

  3. Recreate the filesystem by using the mkfs.xfs(8) command on a Linux server-capable administration node. Preserve any nondefault filesystem parameters by specifying the applicable options to the mkfs.xfs command.

  4. Restore the filesystem data from backup media by using the xfsrestore(8) command.

For more information, see the man pages for the above commands and the following:

  • IRIX Admin: Disks and Filesystems

  • XFS for Linux Administration

Recreating Filesystems with Large Block Sizes

The maximum block size on Linux nodes varies by architecture:

  • For SGI Altix ia64 server-capable administration nodes, the maximum block size is 16K.

  • For SGI Altix XE x86_64 server-capable administration nodes, the maximum block size is 4K.

If you have filesystems with larger block sizes than the above, you must recreate them by performing a dump and a restore, changing the block size so that it does not exceed the maximum for the architecture of your systems.


Note: SGI recommends a block size of 4K for CXFS filesystems in a multiOS cluster because this is the only block size that is supported on all CXFS hardware platforms.


Using Project Quotas

Under Linux, project quotas are applied to the files below a given directory. You can view the project quotas only from the active CXFS metadata server, not from CXFS client-only nodes. See “Quotas Differences” in Chapter 1.

Migration Procedure Using cxfs_admin


Note: The following procedure assumes that the filesystems in the cluster you want to migrate do not have block sizes greater than the system page size and that they are not real-time filesystems or external log filesystems. These types of filesystems are supported on IRIX but not on SGI Foundation Software.

Following is a procedure for using cxfs_admin to migrate from a cluster with IRIX server-capable administration nodes to a cluster with SGI Foundation Software for Linux server-capable administration nodes. For details about using cxfs_admin, see Chapter 11, “cxfs_admin Command”.


Note: The cluster cannot be used for product work during this process.


  1. As a precaution, save the current cluster database contents by using the build_cmgr_script command. See “Creating a cmgr Script Automatically” in Appendix F.

  2. Ensure you have CXFS 5.0 and XVM 5.0 licenses installed on the Linux server-capable administration nodes. See:

  3. From an IRIX server-capable administration node:

    1. Unmount the CXFS filesystems clusterwide by using the cxfs_admin command. For example, to unmount the CXFS V9500 filesystem clusterwide:

      cxfs_admin:mycluster> unmount V9500

    2. Use the IRIX mount and umount commands to mount and unmount the filesystems locally, which will ensure that the XFS log plays back cleanly. For example, mount and unmount the V9500 filesystem locally:

      irixadmin# mount /dev/cxvm/V9500 /mnt
      irixadmin# umount /mnt

    3. Disable each IRIX server-capable administration node by using the cxfs_admin command. For example, to disable the node named irixnode1:

      cxfs_admin:mycluster> disable irixnode1

      Repeat the disable command for each IRIX server-capable administration node.

    4. Create a Linux server-capable administration node in the cluster. This will allow the cluster database information to be transferred to the Linux nodes.


      Note: This migration situation is the only time that mixed OS server-capable administration nodes are allowed in the same cluster.

      For example:

      cxfs_admin:mycluster> create node name=linuxnode1 type=server_admin os=Linux 
      private_net=10.0.10.1 enabled=true hostname=linuxnode1.domain.com

  4. From the Linux server-capable administration node created in step d above, do the following:

    1. Delete each IRIX server-capable administration node by using the cxfs_admin command. For example, to delete the node named irixnode1:

      cxfs_admin:mycluster> delete irixnode1

      Repeat the delete command for each IRIX server-capable administration node.

    2. Create any additional Linux server-capable administration nodes in the cluster. For example, to create a node named linuxnode2:

      cxfs_admin:mycluster> create node name=linuxnode2 type=server_admin os=Linux 
      private_net=10.0.10.2 enabled=true hostname=linuxnode2.domain.com

      Repeat the create command for each Linux server-capable administration node.

    3. Modify the CXFS filesystems to assign the new Linux server-capable administration nodes as potential metadata servers. For example:

      cxfs_admin:mycluster> modify filesystem name=V9500 servers=linuxnode1,linuxnode2

    4. Mount the CXFS filesystems by using the cxfs_admin command. For example, to mount the V9500 filesystem:

      cxfs_admin:mycluster> mount V9500

    5. Check cluster configuration:

      cxfs_admin:mycluster> status

      You could also use the cxfs-config command to verify the status.

  5. Dispose of the former IRIX server-capable administration nodes properly:

    1. Stop CXFS processes on each IRIX server-capable administration node:

      irixadmin# service grio2 stop (if running GRIOv2)
      irixadmin# service cxfs stop 
      irixadmin# service cluster stop 

      Repeat these commands on each IRIX server-capable administration node.

    2. Do one of the following:

Migration Procedure Using cmgr


Note: The following procedure assumes that the filesystems in the cluster you want to migrate do not have block sizes greater than the system page size and that they are not real-time filesystems or external log filesystems. These types of filesystems are supported on IRIX but not on SGI Foundation Software.

You should also be aware the differences between basic IRIX and Linux system administration. See “An Overview of Differences Between IRIX and Linux System Administration ”.

The example in this chapter uses cmgr, but you could perform a similar procedure using cxfs_admin or the GUI; for a brief procedure using cxfs_admin, see “Migration Procedure Using cxfs_admin”. The example begins with a cluster named performance having a two IRIX server-capable administration nodes named rum and snake and a Solaris client-only node named ray:

rum # clconf_info

Event at [2004-02-13 07:57:17]

Membership since Thu Feb 12 15:15:26 2004
____________ ______ ________ ______ ______
Node         NodeID Status   Age    CellID
____________ ______ ________ ______ ______
snake             1 up            2      1
rum               2 up            2      2
ray               3 up            1      0
____________ ______ ________ ______ ______
1 CXFS FileSystems
/dev/cxvm/V9500 on /cxfs/V9500  enabled  server=(snake)  2 client(s)=(ray,rum)  status=UP

Do the following:

  1. As a precaution, save the current cluster database contents by using the build_cmgr_script command. See “Creating a cmgr Script Automatically” in Appendix F.

  2. Ensure you have CXFS 5.0 and XVM 5.0 licenses installed on the Linux server-capable administration nodes. See:

  3. Unmount the CXFS filesystems cluster-wide within CXFS. For example:

    cmgr> admin cxfs_unmount cxfs_filesystem V9500
    
    cxfs_unmount operation successful

  4. Mount and unmount the filesystems locally, which will ensure that the XFS log plays back cleanly. For example:

    # mount /dev/cxvm/V9500 /mnt
    # umount /mnt

  5. Stop CXFS services on all nodes. For example on the IRIX node rum:

    cmgr> stop cx_services for cluster performance
    
    CXFS services have been deactivated in cluster performance


    Note: If you use cxfs_admin, you must issue a command for each node.


  6. Define the server-capable administration node with the SGI Foundation Software operating system type. For example on the IRIX node rum:


    Note: This migration situation is the only time that mixed OS server-capable administration nodes are allowed in the same cluster.


    cmgr> define node bang
    Enter commands, you may enter "done" or "cancel" at any time to exit
    
    Hostname[optional] ? bang
    Is this a FailSafe node <true|false> ? false
    Is this a CXFS node <true|false> ? true
    Operating System <IRIX|Linux32|Linux64|AIX|HPUX|Solaris|MacOSX|Windows> ? Linux64
    Node Function <server_admin|client_admin|client_only> ? server_admin
    Node ID[optional] ? 64
    Partition ID[optional] ? (0) 
    Do you wish to define failure hierarchy[y/n]:y
    Hierarchy option 0 <System|FenceReset|Fence|Reset|Shutdown>[optional] ? Fence
    Hierarchy option 1 <System|FenceReset|Fence|Reset|Shutdown>[optional] ? 
    Reset type <powerCycle|reset|nmi> ? (powerCycle) 
    Do you wish to define system controller info[y/n]:n
    Number of Network Interfaces ? (1) 
    NIC 1 - IP Address ? bang-p
    NIC 1 - Heartbeat HB (use network for heartbeats) <true|false> ? true
    NIC 1 - (use network for control messages) <true|false> ? true
    NIC 1 - Priority <1,2,...> ? 1
    
    Successfully defined node bang

  7. Add the SGI Foundation Software server-capable administration node to the cluster. For example on the IRIX node rum:

    cmgr> modify cluster performance
    Enter commands, you may enter "done" or "cancel" at any time to exit
    
    Is this a FailSafe cluster <true|false> ? (false) 
    Is this a CXFS cluster <true|false> ? (true) 
    Cluster Notify Cmd [optional] ? 
    Cluster Notify Address [optional] ? 
    Cluster CXFS mode <normal|experimental>[optional] ? (normal) 
    Cluster ID ? (1) 
    
    Current nodes in cluster performance:
    Node - 1: ray
    Node - 2: snake
    Node - 3: rum
    
    
    No networks in cluster performance
    
    Add nodes to or remove nodes/networks from cluster performance
    Enter "done" when completed or "cancel" to abort
    
    performance ? add node bang
    performance ? done
    Added node <bang> to cluster <performance>
    Successfully modified cluster performance

  8. Modify the CXFS filesystems to remove the IRIX server-capable administration nodes as metadata servers and add the new SGI Foundation Software server-capable administration node as metadata server. For example, on the IRIX node rum:

    cmgr> modify cxfs_filesystem V9500
    
    (Enter "cancel" at any time to abort)
    
    Device ? (/dev/cxvm/V9500) 
    Mount Point ? (/cxfs/V9500) 
    Mount Options[optional] ? 
    Use Forced Unmount ? <true|false> ? (false) 
    Grio Qualififed Bandwidth[optional] ? 
    Grio managed filesystem ? <true|false>[optional] ? 
    Default Local Status  ? (enabled)
    
    MODIFY CXFS FILESYSTEM OPTIONS
    
            0) Modify Server.
            1) Add Server.
            2) Remove Server.
            3) Add Enabled Node.
            4) Remove Enabled Node.
            5) Add Disabled Node.
            6) Remove Disabled Node.
            7) Show Current Information.
            8) Cancel. (Aborts command)
            9) Done. (Exits and runs command)
    
    Enter option:2
    
    Current servers:
    CXFS Server 1 - Rank: 0         Node: rum
    CXFS Server 2 - Rank: 1         Node: snake
    
    Server Node ? rum
    
            0) Modify Server.
            1) Add Server.
            2) Remove Server.
            3) Add Enabled Node.
            4) Remove Enabled Node.
            5) Add Disabled Node.
            6) Remove Disabled Node.
            7) Show Current Information.
            8) Cancel. (Aborts command)
            9) Done. (Exits and runs command)
    
    Enter option:2
    
    Current servers:
    CXFS Server 1 - Rank: 1         Node: snake
    
    Server Node ? snake
    
            0) Modify Server.
            1) Add Server.
            2) Remove Server.
            3) Add Enabled Node.
            4) Remove Enabled Node.
            5) Add Disabled Node.
            6) Remove Disabled Node.
            7) Show Current Information.
            8) Cancel. (Aborts command)
            9) Done. (Exits and runs command)
    
    Enter option:1
    
    No current servers
    
    Server Node ? bang
    Server Rank ? 1
    
            0) Modify Server.        
            1) Add Server.
            2) Remove Server.
            3) Add Enabled Node.
            4) Remove Enabled Node.
            5) Add Disabled Node.
            6) Remove Disabled Node.
            7) Show Current Information.
            8) Cancel. (Aborts command)
            9) Done. (Exits and runs command)
    
    Enter option:9
    Successfully modified cxfs_filesystem V9500

    After you complete this step, the filesystems would show the following information:

    cmgr> show cxfs_filesystem V9500
    
    Name: V9500
    Device: /dev/cxvm/V9500
    Mount Point: /cxfs/V9500
    Forced Unmount: false
    Global Status: disabled
    Default Local Status: enabled
    
    Server Name: bang
           Rank: 1

  9. Remove the IRIX server-capable administration nodes from the cluster. For example, switching to the SGI Foundation Software node bang:

    cmgr> modify cluster performance 
    Enter commands, you may enter "done" or "cancel" at any time to exit
    
    Is this a FailSafe cluster <true|false> ? (false) 
    Is this a CXFS cluster <true|false> ? (true) 
    Cluster Notify Cmd [optional] ? 
    Cluster Notify Address [optional] ? 
    Cluster CXFS mode <normal|experimental>[optional] ? (normal) 
    Cluster ID ? (1) 
    
    Current nodes in cluster performance:
    Node - 1: ray
    Node - 2: snake
    Node - 3: rum
    Node - 4: bang
    
    
    Add nodes to or remove nodes/networks from cluster performance
    Enter "done" when completed or "cancel" to abort
    
    performance ? remove node rum
    performance ? remove node snake
    performance ? done
    Successfully modified cluster performance

  10. Delete the IRIX server-capable administration nodes from the pool. For example, from the SGI Foundation Software node bang:

    cmgr> delete node rum
    Deleted node (rum).
    
    cmgr> delete node snake
    Deleted node (snake).

  11. Start CXFS services for all nodes in the cluster. For example, from the SGI Foundation Software node bang:

    cmgr> start cx_services for cluster performance
    
    CXFS services have been activated in cluster performance

  12. Mount the CXFS filesystems. For example, from the SGI Foundation Software node bang:

    cmgr> admin cxfs_mount cxfs_filesystem V9500
    
    cxfs_mount operation successful

  13. If you are running other storage software products on server-capable administration nodes, confirm that you have installed either TPSSM or SMI, as appropriate for your hardware.

After completing this procedure, the cluster information is as follows:

[root@bang root]# clconf_info

Event at [2004-02-13 08:44:18]

Membership since Fri Feb 13 08:44:13 2004
____________ ______ ________ ______ ______
Node         NodeID Status   Age    CellID
____________ ______ ________ ______ ______
ray               3 up            1      0
bang             64 up            1      3
____________ ______ ________ ______ ______
1 CXFS FileSystems
/dev/cxvm/V9500 on /cxfs/V9500  enabled  server=(bang)  1 client(s)=(ray)  status=UP

For more information about using the GUI, see the following:

Migration Troubleshooting

The following sections discuss possible problems you may encounter after migrating from an IRIX cluster to an SGI Foundation Software cluster:

Filesystems Will Not Mount

Messages such as the following indicate that the filesystem was not cleanly unmounted from the IRIX metadata server:

Jan 29 22:06:07 4A:cxfs2 kernel: XFS: nil uuid in log - IRIX style log
Jan 29 22:06:07 5A:cxfs2 kernel: Starting XFS recovery on filesystem:
xvm-0 (dev: xvm-0)
Jan 29 22:06:07 4A:cxfs2 kernel: XFS: dirty log written in incompatible
format - can't recover

To resolve this problem, you must return to the IRIX node and then mount and umount the filesystem locally on the IRIX node in order to replay the dirty log messages (as in step 4 above in “Migration Procedure Using cmgr”).


Caution: Do not steal the XVM volumes to the local host. Mounting /dev/cxvm/volname locally on /mnt is sufficient.


DMF Filesystems Will Not Mount

If you have DMF filesystems and have dmi as a mount option,you must edit the/etc/sysconfig/sysctlfile to turn on DMAPI probing in order to mount CXFS filesystems. Change the bottom line from:

DMAPI_PROBE="no"

to:

DMAPI_PROBE="yes"

Do Not Use extlog or rtfs Filesystems

If you have SGI Foundation Software server-capable administration nodes, you cannot use extlog or rtfs filesystems.