|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
|
| News | See Also | Recommended links | Reference | |
| The "noatime" Option | The "logging" Option | The "forcedirectio" Option | Humor | Etc |
The "noatime" mount option is useful for running your webserver type of applications, since it's mostly a read-only operation. By eliminating the need to update access times each time a file is accessed, you reduce filesystem activity:
"By default, the file system is mounted with normal access time (atime) recording. If noatime is specified, the file system will ignore access time updates on files, except when they coincide with updates to the ctime or mtime. See stat(2). This option reduces disk activity on file systems where access times are unimportant (for example, a Usenet news spool). noatime turns off access time recording regardless of dfratime or nodfratime."
The "logging" option is a very useful feature that unfortunately was not enabled by default till Solaris 10. By using the "logging" mount option, you enable a filesystem that is journalled on top of the atypical ufs type. From the mount_ufs man page, we see this explanation:
"If logging is specified, then logging is enabled for the duration of the mounted file system. Logging is the process of storing transactions (changes that make up a complete UFS operation) in a log before the transactions are applied to the file system. Once a transaction is stored, the transaction can be applied to the file system later. This prevents file systems from becoming inconsistent, therefore eliminating the need to run fsck. And, because fsck can be bypassed, logging reduces the time required to reboot a system if it crashes, or after an unclean halt. The default behavior is nologging.
The log is allocated from free blocks on the file system, and is sized approximately 1 Mbyte per 1 Gbyte of file system, up to a maximum of 64 Mbytes.
Logging can be enabled on any UFS, including root (/). The log created by UFS logging is continually flushed as it fills up. The log is totally flushed when the file system is unmounted or as a result of the lockfs -f command."
To enable this, simply specify "logging" as an option to mount in /etc/vfstab.
"forcedirectio" option is useful for large files. From the mount_ufs man page, we see this explanation:
"If forcedirectio is specified and supported by the file system, then for the duration of the mount forced direct I/O will be used. If the filesystem is mounted using forcedirectio, then data is transferred directly between user address space and the disk. If the filesystem is mounted using noforcedirectio, then data is buffered in kernel address space when data is transferred between user address space and the disk. forcedirectio is a performance option that benefits only from large sequential data transfers. The default behavior is noforcedirectio."
Everything Solaris Filesystems Tips and Tricks
Getting to know the Solaris filesystem, Part 1 - SunWorld - May 1999
- -o specific_options
- Specify ufs file system specific options in a comma-separated list with no intervening spaces. If invalid options are specified, a warning message is printed and the invalid options are ignored. The following options are available:
- noatime
- By default, the file system is mounted with normal access time (atime) recording. If noatime is specified, the file system will ignore access time updates on files, except when they coincide with updates to the ctime or mtime. See stat(2). This option reduces disk activity on file systems where access times are unimportant (for example, a Usenet news spool).
noatime turns off access time recording regardless of dfratime or nodfratime.
- dfratime | nodfratime
- By default, writing access time updates to the disk may be deferred (dfratime) for the file system until the disk is accessed for a reason other than updating access times. nodfratime disables this behavior.
- forcedirectio | noforcedirectio
- If forcedirectio is specified and supported by the file system, then for the duration of the mount, forced direct I/O will be used. If the filesystem is mounted using forcedirectio, data is transferred directly between user address space and the disk. If the filesystem is mounted using noforcedirectio, data is buffered in kernel address space when data is transferred between user address space and the disk. forcedirectio is a performance option that is of benefit only in large sequential data transfers. The default behavior is noforcedirectio.
- global | noglobal
- If global is specified and supported on the file system, and the system in question is part of a cluster, the file system will be globally visible on all nodes of the cluster. If noglobal is specified, the mount will not be globally visible. The default behavior is noglobal. The global option is mutually exclusive of the nbmand option, described below.
- intr | nointr
- Allow (do not allow) keyboard interrupts to kill a process that is waiting for an operation on a locked file system. The default is intr.
- largefiles | nolargefiles
- If nolargefiles is specified and supported by the file system, then for the duration of the mount it is guaranteed that all regular files in the file system have a size that will fit in the smallest object of type off_t supported by the system performing the mount. The mount will fail if there are any files in the file system not meeting this criterion. If largefiles is specified, there is no such guarantee. The default behavior is largefiles.
If nolargefiles is specified, mount will fail for ufs if the file system to be mounted has contained a large file (a file whose size is greater than or equal to 2 Gbyte) since the last invocation of fsck on the file system. The large file need not be present in the file system at the time of the mount for the mount to fail; it could have been created previously and destroyed. Invoking fsck (see fsck_ufs(1M)) on the file system will reset the file system state if no large files are present. After invoking fsck, a successful mount of the file system with nolargefiles specified indicates the absence of large files in the file system; an unsuccessful mount attempt indicates the presence of at least one large file.
- logging | nologging
- If logging is specified, then logging is enabled for the duration of the mounted file system. Logging is the process of storing transactions (changes that make up a complete UFS operation) in a log before the transactions are applied to the file system. Once a transaction is stored, the transaction can be applied to the file system later. This prevents file systems from becoming inconsistent, therefore eliminating the need to run fsck. And, because fsck can be bypassed, logging reduces the time required to reboot a system if it crashes, or after an unclean halt. The default behavior is nologging.
The log is allocated from free blocks on the file system, and is sized approximately 1 Mbyte per 1 Gbyte of file system, up to a maximum of 64 Mbytes. Logging can be enabled on any UFS, including root (/). The log created sby UFS logging is continually flushed as it fills up. The log is totally flushed when the file system is unmounted or as a result of the lockfs -f command.
- m
- Mount the file system without making an entry in /etc/mnttab.
- nbmand | nonbmand
- This option specifies that non-blocking mandatory locking semantics should be allowed on this file system. Non-blocking mandatory locking is disallowed by default. If the file system is mounted with the nbmand option, then applications can use the fcntl(2) interface to place non-blocking mandatory locks on files and the system will enforce those semantics. Enabling this option can cause standards conformant applications to see unexpected errors.
Do not use the nbmand option with /, /var and /usr.
The remount option should not be used to change the nbmand disposition of the file system. The nbmand option is mutually exclusive of the global option, described above.
- onerror = action
- This option specifies the action that UFS should take to recover from an internal inconsistency on a file system. Specify action as panic, lock, or umount. These values cause a forced system shutdown, a file system lock to be applied to the file system, or the file system to be forcibly unmounted, respectively. The default is panic.
- quota
- Quotas are turned on for the file system.
- remount
- Remounts a file system with a new set of options. All options not explicitly set with remount revert to their default values.
- rq
- Read-write with quotas turned on. Equivalent to rw, quota.
- ro | rw
- Read-only or read-write. Default is rw.
- suid | nosuid
- Allow or disallow setuid/setgid execution. The default is suid. This option also allows/disallows opening any device-special entries that appear within the filesystem.
This option is highly recommended whenever the file system is shared via NFS with the root= option, because, without it, NFS clients could add setuid programs to the server, or create devices that could open security holes.
- -O
- Overlay mount. Allow the file system to be mounted over an existing mount point, making the underlying file system inaccessible. If a mount is attempted on a pre-existing mount point without setting this flag, the mount will fail, producing the error "device busy".
The mount_ufs command supports the xattr flag, to allow the creation and manipulation of extended attributes. See fsattr(5) for a description of extended attributes. The xattr flag is always on.
This option can be used where it can be guaranteed that accesses to a specified file system are made from only one client and only that client. Under such a condition, the effect of -nocto can be a slight performance gain.
The default for the automounter is 0, in other words, do not retry. You might find it useful to increase this value on heavily loaded servers, where automounter traffic is dropped, causing unnecessary "server not responding" errors.
Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: June 05, 2008