Novell is now a part of Micro Focus

Moving iFolder Data to Another Server

Novell Cool Solutions: Feature
By Jenn Bitondo

Digg This - Slashdot This

Posted: 16 May 2005
 

Suppose you want to move your iFolder data from one server to another. If you are moving data to another iFolder server that is configured and you are authenticating against the same tree as your older iFolder server, the move should be transparent for your users.

For this example, our old server is called iFolder_Server01 and we will be migrating our data to a server called iFolder_New. First you need to install the new iFolder server in your tree. After you install the SoftWare you will need to go into the iFolder Management Console (https://serverip/iFolderServer/Admin) you can make this change under Global Settings. (See Figure 1 below.)

Figure 1: Adding a new iFolder server.


Here's how to complete the steps in Figure 1:

  1. Under the Global Settings section, click iFolder Servers and then click Add.

  2. In this example, our New iFolder server is going to be called iFolder_New, so we enter the appropriate information and click Add.

You also need to add your LDAP server settings to the iFolder Management Console. So under the Global Settings section of the iFolder Management Console, click User LDAPs (you can add up to 8 LDAP directories). See Figure 2.

Figure 2: Adding an LDAP user.


Now that we have installed and configured the new iFolder Server and made it part of the iFolder system, we are ready to proceed with the 10-step process to move iFolder data to the new iFolder server.

  1. Copy all the data from iFolderServer_01 to iFolder_New. You can actually do this while the users are still active. You can use the RSYNC utility or any other Backup System that you have. You also may want to run this for a couple of days and just get the incremental backups.

    Note: Novell does not technically support RSYNC on a NON-Branch Office server, but this is one method that you can use to copy all user data from the iFolderServer_01 server to the iFolder_New server.

    There is a great Cool Solutions article that can help you out and it is called "Using RSYNC for NetWare Outside of Nterprise Branch Office." This article explains the setup for RSYNC step by step and can be found at the http://www.novell.com/coolsolutions/trench/470.html URL.

  2. When RSYNC is copying data to iFolder_New, you can create an LDIF file to set the iFolderServerName attribute of all the users on iFolderServer_01 to a dummy server called iFolder_AlmostNew.

    Note: This is going to be an invalid value because there is no server actually known as iFolder_AlmostNew. This way no syncs will happen to the new or old iFolder Server during the upgrade process.

    There are a couple ways you can create your LDIF file. One easy method is the command line approach. You can run the ICE utility at the command line to create an export file, as shown below:

    ice -S LDAP -s localhost -p636 -d cn=admin,o=novell\
    -w novell -b o=novell -c sub
    -F"(&(objectclass=user)(ifolderservername=*))"  \
    -a ifolderserverName -D LDIF
    -f sys:\filename
    -S = Source Handler, (in this case, the source is LDAP)
    -s = Server, where you can either put in the server name, or if LDAP 
        is running on this server, you can put localhost
    -p = Use Port 389 (non secure) or Port 636 (secure), depending 
        on your setup
    -d = Context of admin
    -w = Password
    -b = The Organization from which the search will begin
    -F = This is a compliant LDAP Filter Search. In this case we want all 
        user names that are assigned a particular iFolderServerName
    -a= Attribute
    -D = Destination Handler (we want an LDIF file in this example)
    -f= Output filename
    

    You will get a file that looks like what you see in Figure 3.

    Figure 3: Looking at the LDIF output file.


    Note: We picked up all Users with the iFolderServerName attribute because we used an asterisk (*). If you want just a specific iFolderServername attribute, you would use the specific name in the LDAP compliant filter search.

    To import your LDIF file you will need to make the appropriate changes to the LDIF file you have just created. Figure 4 is an example of one way to make the change.

    Figure 4: Making changes to the joey1.ldif file.


    You can then use the ICE utility at the command line to import your new LDIF file.

    ICE -S LDIF -f sys:\joey1.ldif -D LDAP -s localhost -d \
    cn=admin,o=pearl -w novell
    -S= Source Handler.  In this case it is LDIF 
    -f= Filename
    -s= Server (in this case, localhost)
    -d= Context of admin
    -w = Password

    If your commands are successful, you should see them processed in the ICE Utility Screen, as shown in Figure 5.

    Figure 5: Using the Novell Import/Convert/Export utility.


    You can look at the properties of the user in either the ConsoleOne or the iManager utility. Below is the example of what the change looks like in Console One.

    Figure 6: How your changes will look in the ConsoleOne utility.


  3. When you are ready to make the final move, stop the iFolder Service on both servers and perform a final RSYNC copy (or whatever back up software you used) to make sure that you have all the changes in place and that NO files were in use during the last copy.

  4. Start up the iFolder Service on the new server. Make sure that there is a SERVER.FLG file in the iFolder data directory (sys:\ifolder). The server looks for this file when it is coming up and sets the CheckUserData variable to True if it exists. If the file does not exist, it is created and a boolean variable "server_running" is set to the value of "CheckUserData==FALSE".

    This will cause the server to perform a data integrity check on all the moved data. At this time none of the users accounts will connect because the iFolderServerName attribute points to an invalid server and the old server is still down. (Jenn, does it perform a data integrity check if it finds the server.flg file, or is the data integrity check performed in either case?)

    Once the data integrity check completes, you can then move on to the next step.

  5. Use a second LDIF file to set the iFolder ServerName attribute to the correct value for the new server, as shown in Figure 7.

    Figure 7: Running the second ldif file to change the server's name to iFolder_New.


  6. By running the second file, the old server iFolderServer_01 is renamed in the ifolderdata directory and it will create an empty directory.

  7. Start up the old server called iFolderServer_01. All the clients that are waiting to login will try to connect to iFolderServer_01. This server will look at its local accounts, find that there are none, and it will then look at the iFolderServername attribute of the users. The server will see that they are supposed to be handled by the iFolder_New server and will redirect them to connect to that server. The clients will then connect to the server iFolder_New and will begin to synchronize with their data.

  8. You may want to change the DNS settings for the iFolderServer_01 server to point at the iFolder_New server. This will ensure that any users who have not logged in for a long time will be sent to the new server when they do login.

  9. You can now perform a SHUTDOWN on the server iFolderServer_01 and delete it from the iFolder Management Console.


Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

© Micro Focus