Admin Alert: The Absolute Coolness of the QNTC File System
March 17, 2004 Joe Hertvik
Because most OS/400 shops also have Windows servers, IBM provides tools to integrate Windows data and objects with OS/400 applications, including the little understood but immensely valuable QNTC file system. QNTC allows OS/400 processes to access Windows server data from OS/400 applications just as if those processes resided on a Windows client machine.
Like QDLS and QSYS.LIB, QNTC is an OS/400-based file system that resides in a subsection of OS/400’s Integrated File System (IFS). But where most other IFS file systems provide access to data that physically resides on your iSeries or AS/400 box, QNTC provides access to data and objects that are stored on any Windows server that is running Windows NT 4.0 or higher in the local domain. This means your OS/400 commands and applications can read and write stream data to stand-alone Windows servers, as well as to Windows servers located on local or remote Integrated xSeries Server for iSeries setups. And that is a pretty cool feature.
You don’t need any special software to use QNTC. QNTC is shipped as part of the base OS/400 operating system, but you must have the TCP/IP Connectivity Utilities for iSeries 400 licensed program 5769TC1 or 5722TC1 installed and configured in order to use it. You also need a working AS/400 NetServer configuration on your iSeries or AS/400 box, which is configured through a later version Client Access Express for Windows or iSeries Access for Windows Operations Navigator. On the Windows side, you generally need a working Microsoft Windows Internet Name Service (WINS) server in order to locate other Windows servers on the network. Once you have these basic items in place, you can configure and start accessing Windows server data and objects from inside OS/400.
To show you how easy it is to set up QNTC access, here’s a quick example of configuring your system for this feature. To run this example, you’ll need the name of the Windows domain you want your AS/400 NetServer server to join, the IP addresses (or domain names) of the primary WINS server, and, if available, the secondary WINS server that services that domain.
Once you have that information, here’s the procedure for setting up QNTC to access computers in your Windows domain.
Step 1: Configure AS/400 NetServer to participate in your target Windows server’s domain or workgroup.
AS/400 NetServer is a native OS/400 TCP/IP server that uses the Server Message Block (SMB) protocol to emulate a Windows server. You configure AS/400 NetServer to become part of your target domain by using the OpsNav program that comes with Client Access Express for Windows or iSeries Access for Windows.
In OpsNav V5R1M0, you configure an existing NetServer configuration for QNTC by opening the OpsNav tree and expanding the Network, Servers, and TCP/IP nodes under your target AS/400. Right-click the AS/400 NetServer icon, on the right-hand panel of the screen, and select the Properties option from the pop-up menu. This brings up the AS/400 NetServer properties panel. Inside that panel, click the General tab and then click the Next Start button that appears on that screen. Fill in the name of the Windows domain you want your AS/400 NetServer to join and click the OK button. Clicking OK takes you back to the AS/400 NetServer properties screen, where you can then enter the WINS servers to use, under the WINS Configuration tab. Click the Next Start button, under WINS Configuration, and enter the IP addresses or domain names of your primary and secondary WINS servers, on the WINS Configuration screen. Click the OK button and exit the AS/400 NetServer properties screen back to the TCP/IP panel. Restart your AS/400 NetServer server by right-clicking the AS/400 NetServer entry and selecting Stop from the pop-up menu that appears. Once the server is stopped, right-click the AS/400 NetServer entry again and select Start from the pop-up menu to restart the server with these new parameters.
If AS/400 NetServer isn’t currently configured on your system, right-click the AS/400 NetServer entry under OpsNav’s Network, Servers, and TCP/IP nodes for your target AS/400. Select Configure from the pop-up menu that appears and run the AS/400 NetServer Configuration wizard, inserting the name of the Windows domain you want your AS/400 or iSeries to join, as well as the IP addresses or domain names of your primary and secondary WINS servers.
You’ll also need OpsNav to configure AS/400 NetServer. There is no native green-screen function for AS/400 NetServer configuration. For more information on configuring AS/400 NetServer, consult the AS/400 NetServer entries in the iSeries Information Center.
Step 2: Once you’ve reconfigured AS/400 NetServer, and the server has been restarted, verify that your QNTC configuration is working correctly.
You can do this by using the Work with Object Links (WRKLNK) command to view all the Windows servers in the target domain that your iSeries or AS/400 now belongs to.
WRKLNK OBJ('/QNTC')
This shows all the servers in your domain that might have open file shares that your AS/400 can access. Scroll down to the computer you want to examine for open file shares and type in a 5 (display) to see what directories that computer is sharing with the network. There is one important item to note before this command will work properly. To access any Windows file share through AS/400 NetServer, the user profile of the OS/400 job accessing that share must contain a user profile and password that is equal to the user profile and password on the Windows server being accessed. This matching Windows profile must also contain proper authority to perform any required option on the share (such as read, write, or delete).
One thing you’ll notice about using the WRKLNK command to view all the computers in your domain is that it is incredibly slow in bringing up the list of active domain computers. If you only want to display the shares of a particular server in the domain, you could modify your WRKLNK command to only display that server, by typing in the following:
WRKLNK OBJ('QNTCserver_name')
This will display that server under QNTC much faster than if you tried to find it by displaying all the network computers by using the first WRKLNK command.
Once you have QNTC configured, and you have a user profile that can perform operations on your target Windows file shares, you can use QNTC to read and write stream file data to a Windows server in the same way you would normally use the root (/) directory of the IFS, the QDLS file system, or the OpenSys IFS file systems in application programs. Your Windows file systems merely become targets for ASCII and stream file operations, which gives you the ability to use your Windows servers to read and update Windows data in OS/400 programs or to back up Windows data to an OS/400-based tape drive by using the Save Object (SAV) command.
More information on using QNTC to access Windows file shares in OS/400 programs can be found at the iSeries Information Center.
With QNTC, any OS/400 program that would normally access stream file data in the IFS can be rewritten to access data on a Windows NT or 2000 server. You can also use QNTC to access data on a Windows 2003 server with Active Directory installed, but it may require you to make a configuration change on the 2003 server. IBM reports that the digital signature feature of the Server Message Block (SMB) protocol on 2003 servers affects OS/400’s ability to use WRKLNK on these servers’ shares or to back up 2003 server data by using the SAV command. IBM has posted a circumvention to this situation on its Web site.