NCPCON provides several SET parameters that can be used to customize your NCP Server configuration. The parameters can be changed by entering set parameter_name while in the NCPCON utility. You can also enter ncpcon set parameter_name at the Linux command line.
The following sections identify the global NCP Server parameters with their default values and valid options:
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
MAXIMUM_CACHED_FILES_PER_SUBDIRECTORY Controls the maximum number of file entries that can be cached by the system for a given folder in the directory cache. The NCP engine attempts to cache all files in a subdirectory for better performance, but sometimes memory is insufficient, so the NCP engine handles instances where only some of the file metadata is cached. Changing this parameter might improve or worsen performance, depending on your usage patterns. |
10240 |
Minimum is 512 files. |
MAXIMUM_CACHED_FILES_PER_VOLUME Controls the maximum number of file entries that can be cached by the system for a given volume in the directory cache. The NCP engine attempts to cache as many files as possible for better performance, but sometimes memory is insufficient, so the NCP engine handles instances where only some of the file metadata is cached. Changing this parameter might improve or worsen performance, depending on your usage patterns. |
256000 |
Minimum is 2048 files. |
MAXIMUM_LAZY_CLOSE_FILES Controls the maximum number of file handles that can be lazy closed in the directory cache. When the NCP engine opens files for a client, it manages one Linux file handle for each file that is opened, regardless of how many clients open the same file. When a file is closed by the client, the NCP engine waits before closing the file just in case a client wants to reopen the file. This is called a “lazy close.” This parameter controls how many files can be in a lazy close state at one time. If the configured maximum lazy close files number has been reached, the files that are closed by a client also have their Linux file handles immediately closed. Linux limits how many file handles can be in use at one time (64,000), so setting this number too high can have negative consequences. |
4096 |
16 to 64000 |
MAXIMUM_CACHED_SUBDIRECTORIES_PER_VOLUME Controls the maximum number of folder entries that can be cached by the system for a volume in the directory cache. |
102400 |
4096 |
LOG_CACHE_STATISTICS Controls whether cache statistics are logged in the ncpserv.log file. |
0 |
0 - Disable 1 - Enable |
For information about configuring global policies for DST, see the OES 2018 SP2: Dynamic Storage Technology Administration Guide.
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
DUPLICATE_SHADOW_FILE_ACTION Controls how duplicate files conflicts are handled. |
0 |
0 - Show duplicate shadow files (default) 1 - Hide duplicate shadow files 2 - Rename duplicate shadow files 3 - Delete duplicate files from shadow area 4 - Move duplicate shadow files to /._DUPLICATE_FILES |
DUPLICATE_SHADOW_FILE_BROADCAST Controls whether broadcast messages are sent to NCP users whenever duplicate files conflicts occur. |
1 |
0 - Disable 1 - Enable |
REPLICATE_PRIMARY_TREE_TO_SHADOW Controls how the primary tree is replicated from the primary tree to the shadow tree. By default, it is disabled, and paths are replicated to the secondary storage area gradually as data is moved from the primary location to the secondary location. If it is enabled, the entire tree is replicated even if no files in a path have been moved to the secondary storage location. |
0 |
0 - Disable 1 - Enable |
SHIFT_ACCESSED_SHADOW_FILES Controls whether files are moved from the secondary volume to the primary volume if the volume is accessed twice during a specified elapsed time. Use SHIFT_DAYS_SINCE_LAST_ACCESS to specify the time period. The file is moved after it is closed. |
0 |
0 - Disable 1 - Enable |
SHIFT_MODIFIED_SHADOW_FILES Controls whether files are moved from the secondary volume to the primary volume if the file is modified. The file is moved after it is closed. |
1 |
0 - Disable 1 - Enable |
SHIFT_DAYS_SINCE_LAST_ACCESS Specifies the number of elapsed days during which a file must be accessed twice before it is moved. This applies only if SHIFT_ACCESSED_SHADOW_FILES is enabled. |
1 |
0 - Disable 1 to 365 (in days) |
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
CROSS_PROTOCOL_LOCKS Controls cross-protocol file locking support between NCP and other protocols, including OES CIFS and OES AFP. Cross-protocol locks help prevent the same file from being concurrently accessed for modifications with multiple protocols. Each recognizes when the other has the file in use. Turning this option on decreases performance, so do not turn it on unless you plan on sharing files across multiple protocol clients. |
1 |
1 - Enable 0 - Disable |
OPLOCK_SUPPORT_LEVEL Controls NCP opportunistic locking. Oplocks are locks that allow the client to cache file data for better performance. |
2 |
0 - Disable 1 - Exclusive locks 2 - Shared and exclusive locks |
LOCK_RANGE_MASK |
1 |
By default this parameter is turned on. Setting the parameter value to 0 turns off this parameter and does not permit locking beyond the 0x7fffffffffffffff region. |
NCP Server has an internal byte-ranging mechanism to prevent potential data corruption when files on NSS and NCP volumes are accessed by NCP clients. Cross-protocol file locking uses the Linux Advisory byte-range lock to prevent potential data corruption when files are accessed by non-NCP file access protocols and by other applications that directly access the files with POSIX APIs. By default, cross-protocol file locking is enabled (CROSS_PROTOCOL_LOCKS = 1) on OES 2015 SP1 and later servers. Cross-protocol file locking is enforced globally for all NCP and NSS volumes on the server.
Non-NCP file access protocols include OES CIFS and OES AFP. Applications include any application or service that accesses data on an NCP volume or NSS volume, such as SSH, FTP, restore, scripts, antivirus, database, management tools, and so on.
For example, when ConsoleOne is used to administer the GroupWise database, GroupWise agents directly access the files. You must enable CROSS_PROTOCOL_LOCKS in order for the Linux Advisory byte-range locks to work and prevent any potential data corruption.
NOTE:Disabling cross-protocol file locking can cause data corruption if any application or non-NCP file access protocol accesses the same data that is accessed via NCP. We recommend that you do not disable cross-protocol file locking, even if NCP is the only active file access protocol.
For better performance, you can disable cross-protocol file locking if you are not using non-NCP file access protocols and the files are not directly accessed by other applications. However, this is not recommended, because disabling cross-protocol file locking can cause data corruption.
Table A-1 Server Parameter Information for Logging NCP Server Events
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
LOG_LEVEL Controls the nature and types of messages that are logged to the /var/opt/novell/log/ncpserv.log file. |
WARN |
Each level logs entries for its level and the levels listed above it.
|
LOG_CACHE_STATISTICS Controls whether cache statistics are logged in the ncpserv.log file. Turning this setting on causes the NCP engine’s directory cache to output statistics to a log file. Information such as the number of cached files, number of cached directories, number of open files, etc. is logged. |
0 |
0 - Disable 1 - Enable |
LOG_IDBROKER_ERRORS Controls whether ID broker errors are logged in the ncpserv.log file. |
0 |
0 - Disable 1 - Enable |
LOG_MEMORY_STATISTICS Controls whether memory statistics are logged in the ncpserv.log file. |
0 |
0 - Disable 1 - Enable |
Table A-2 Server Parameter Information for Communications
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
FIRST_WATCHDOG_PACKET Controls how long to wait in minutes of inactivity before checking to see if an NCP connection is still alive. The server sends an NCP ping packet to the client if it detects no client activity for a specified amount of time. By doing this, the server tries to keep the connection alive. You can configure this parameter if there is any mechanism implemented between the server and the client that would break idle connections. |
0 |
0 - Disable 1-120(minutes) - Enable |
NCP_TCP_KEEPALIVE_INTERVAL If the client is inactive for a configured amount of time, the server sends a TCP packet to the client to check if the client is still connected to the server or not. If the server does not get an acknowledgement from the client, then the server identifies that the client is not available and clears all the information related to the specific client connection. |
8 minutes |
3 to 240 (minutes) |
DISABLE_BROADCAST Controls the ability to broadcast messages from the NCP Server. |
0 |
0 - Disable 1 - Enable |
Table A-3 Server Parameter Information for the NCP Server Environment
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
LOCAL_CODE_PAGE Controls which base code page is used by the NCP Server. This setting defines the local code page used for file and subdirectory names, except for case 89 NCPs that use UTF-8. This value should be set to match the majority of your clients. Syntax: LOCAL_CODE_PAGE code_page
For example: LOCAL_CODE_PAGE CP437 You can get the complete list by typing the following command at the linux command line: iconv - - list | more |
CP437 |
Valid language codes Commonly used values are: CP437 for the standard English character set. CP850 for European character sets. CP932 for Japanese CP949 for Korean CP866 for Russian GBK for simplified Chinese BIG5 for traditional Chinese |
NCP_FILE_SERVER_NAME This parameter is set by eDirectory when the NCP Server is installed, and must not be modified arbitrarily. For information, see Section 3.12, Modifying the NCP File Server Name. |
Server hostname |
This setting must match the server hostname, such as server1. |
Table A-4 Server Parameter Information for Volume and File Management
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
COMMIT_FILE This parameter assures an NCP client that all data previously written to a file has been written to disk. Because files must be stored on the physical storage medium before certain actions are attempted, this call provides a checkpoint that guarantees that the file has been flushed from cache and written to disk. When this parameter is enabled, it calls the Linux fsync command to flush data from cache and write it to the disk, then it returns success to the calling function. When this parameter is disabled (the default setting), nothing is done, but it returns success to the calling function. |
0 |
0 - Disable 1 - Enable |
EXECUTE_ATTRIBUTE_SUPPORT With this setting turned on, the NCP “execute only” attribute can be associated with the user mode execute bit on a file or subdirectory. With this setting turned on, NCP clients can set or clear this bit. The Client for Linux uses this bit to represent the user mode execute bit on a file or subdirectory. |
1 |
0 - Disable 1 - Enable |
KEEP_NSS_FILE_DELETOR_IDS This option is for retaining the deletor ID when a file is deleted on NSS volumes. NCP notifies NSS to provide the identity of the user who initiated the delete. This information is then retained by NSS and available when the file is salvaged, assuming that the Salvage attribute is enabled for the NSS volume when the file is deleted and salvaged. |
1 |
0 - Disable 1 - Enable |
SENDFILE_SUPPORT This option allows the NCP Server to send file read data to the client directly from the Linux Kernel Ring 0 environment, rather than copying it to Ring 3 and then back to Ring 0. Turning on this option gives you a slight performance improvement. |
0 |
0 - Disable 1 - Enable |
SYNC_TRUSTEES_TO_NSS_AT_VOLUME_MOUNT Controls trustee resynchronization for an NSS volume when it is mounted for NCP. |
0 |
0 - Disable 1 - Enable |
VOLUME_GONE_WARN_USERS Controls whether a message is broadcast to warn users when the volume path is no longer present. |
1 |
0 - Disable 1 - Enable |
Table A-5 Server Parameter Information for Volume Low-Space Warning
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
VOLUME_EMPTY_WARN_USERS Controls whether a message is broadcast to warn users when no volume space is available. |
1 |
0 - Disable 1 - Enable |
VOLUME_LOW_WARN_USERS Controls whether a message is broadcast to warn users when volume space is low. |
1 |
0 - Disable 1 - Enable |
VOLUME_LOW_WARNING_RESET_THRESHOLD Sets the high watermark threshold (in blocks), which is the level where the low watermark threshold is reset, and users no longer receive the low-space message. An NSS block is 4 KB. |
128 |
0 to 100000 |
VOLUME_LOW_WARNING_THRESHOLD Sets the low watermark threshold (in blocks) that indicates space is low. An NSS block is 4 KB. |
64 |
0 to 100000 |
Use the commands in this section to enable or disable the maintenance thread to update UIDs. If users are LUM-enabled, you should update UIDs at least once in every 3 or 4 days.
Table A-6 Server Parameter Information for Enabling or Disabling UID Updates
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
UID_UPDATE_ENABLED Controls the maintenance thread to update UIDs. 0: Disables UID updates. You can disable UID updates only if all users are non-LUM users. 1: Enables periodic UID updates. Set the frequency of updates by using the UID_UPDATE_PERIOD parameter. 2: Enables a one-time UID update. After updating, the maintenance thread resets the parameter to the previous value. |
1 |
0 - Disable 1 - Enable periodic updates 2 - Enable one-time update |
UID_UPDATE_PERIOD Sets the frequency in hours. This option is applicable only if UID_UPDATE_ENABLED is set to 1. The maintenance thread completes the previous cycle and then updates according to the new value set. For example, if the previous value of UID_UPDATE_PERIOD was 45 minutes and the new value set is 30 minutes, the maintenance thread completes the 45-minute cycle first and then updates every 30 minutes. |
Default and minimum value: 0.5 (30 minutes or half of an hour) |
Maximum: No limits |
Examples
ncpcon set UID_UPDATE_ENABLED=0
The maintenance thread does not update UIDs.
ncpcon set UID_UPDATE_ENABLED=1 ncpcon set UID_UPDATE_PERIOD=0.5
The maintenance thread updates UIDs every 30 minutes.
ncpcon set UID_UPDATE_ENABLED=2
Triggers an immediate one-time update of the UID, then resets the value to 1.
When an object is deleted or renamed in eDirectory, NCP sends a notification to NSS via IPC and logs the event in the /opt/novell/ncpserv/sbin/objecthistory.txt file. Beginning with OES2015 SP1, this file is renamed to objecthistory.log, moved to /var/opt/novell/log/ directory, and added to the log rotation. You can choose to disable or enable logging of object history events.
Table A-7 Server Parameter Information for Enabling or Disabling Logging eDirectory Object Rename or Delete Events
Parameter Name and Description |
Default Value |
Value Options |
---|---|---|
LOG_OBJECT_HISTORY = <value> 0: Disables logging rename or delete eDirectory object events. 1: Enables logging rename or delete eDirectory object events. |
1 |
0 - Disable 1 - Enable |
Examples
ncpcon set LOG_OBJECT_HISTORY = 1 ncpcon set LOG_OBJECT_HISTORY = 0
Certain NCP verb replies require 64K buffers to be allocated internally from the memory subsystem. If there are a number of such requests, a chunk of memory is allocated and processed for each request.
Continuous allocation and deallocation of a huge chunk of memory buffers makes the memory subsystem busy.
To offload the memory subsystem, a buffer pool is created when the NCP server starts, and a 64K buffer is allocated from the buffer pool for processing and storing the reply data.
Suggestions for configuring the CONN_LBUF_POOL_SIZE parameter.
Specify the memory pool size in MB.
If it is expected that the maximum of "n" number of connections will actively access the NCP server during the peak time at any single point of time, set CONN_LBUF_POOL_SIZE to n/32.
This calculation is based on the assumption that only half of those connections require a 64K buffer to store the reply.
NOTE:Although this parameter can be configured dynamically, it will be effective only after the next restart of ndsd.
Until ndsd is restarted, the existing buffer pool will remain intact and will not be changed to accommodate the new size value.
Pool minimum size: 10 MB
Pool maximum size: 1024 MB
Pool default size: 64 MB