This section describes a new file system feature in this Solaris release.
Solaris 9 8/03 – This Solaris release provides support for multiterabyte UFS file systems on systems that are running a 64-bit Solaris kernel.
Previously, UFS file systems were limited to approximately 1 terabyte on both 64-bit and 32-bit systems. All UFS file system commands and utilities have been updated to support multiterabyte UFS file systems.
For example, the ufsdump command has been updated with a larger block size for dumping large UFS file systems:
# ufsdump 0f /dev/md/rdsk/d97 /dev/md/rdsk/d98 DUMP: Date of this level 0 dump: Tue Jan 07 14:23:36 2003 DUMP: Date of last level 0 dump: the epoch DUMP: Dumping /dev/md/rdsk/d98 to /dev/md/rdsk/d97. DUMP: Mapping (Pass I) [regular files] DUMP: Mapping (Pass II) [directories] DUMP: Forcing larger tape block size (2048). DUMP: Writing 32 Kilobyte records DUMP: Estimated 4390629500 blocks (2143862.06MB). DUMP: Dumping (Pass III) [directories] DUMP: Dumping (Pass IV) [regular files] |
Administering UFS file systems that are less than 1 terabyte remains the same. No administration differences exist between UFS file systems that are less than one terabyte and file systems that are greater than 1 terabyte.
You can initially create a UFS file system that is less than 1 terabyte and specify that it can eventually be expanded into a multiterabyte file system by using the newfs -T option. This option sets the inode and fragment density to scale appropriately for a multiterabyte file system.
Using the newfs -T option when you create a UFS file system less than 1 terabyte on a system running a 32-bit kernel enables you to eventually expand this file system with the growfs command when you boot this system under a 64-bit kernel. For more information, see newfs(1M).
You can use the growfs command to expand a UFS file system to the size of the slice or the volume without loss of service or data. For more information, see growfs(1M).
Two new related features are multiterabyte volume support with the EFI disk label and multiterabyte volume support with Solaris Volume Manager. For more information, see SPARC: Multiterabyte Volume Support With EFI Disk Label and the Solaris Volume Manager Administration Guide
Multiterabyte UFS file systems include the following features:
The ability to create a UFS file system up to 16 terabytes in size.
The ability to create a file system less than 16 terabytes that can later be increased in size up to 16 terabytes.
Multiterabyte file systems can be created on physical disks, Solaris Volume Manager's logical volumes, and Veritas' VxVM logical volumes.
UFS logging is enabled by default on file systems greater than 1 terabyte. Multiterabyte file systems benefit from the performance improvements of having UFS logging enabled. Multiterabyte file systems also benefit from the availability of logging because the fsck command might not have to be run when logging is enabled.
When you create a partition for your multiterabyte UFS file system, the disk will be labeled automatically with an EFI disk label. For more information on EFI disk labels, see SPARC: Multiterabyte Volume Support With EFI Disk Label.
Limitations of multiterabyte UFS file systems are as follows:
This feature is not supported on Solaris x86 systems.
You cannot mount a file system greater than 1 terabyte on a system that is running a 32-bit Solaris kernel.
You cannot boot from a file system greater than 1 terabyte on a system that is running a 64-bit Solaris kernel. This limitation means that you cannot put a root (/) file system on a multiterabyte file system.
There is no support for individual files greater than 1 terabyte.
The maximum number of files is 1 million files per terabyte of UFS file system. For example, a 4–terabyte file system can contain 4 million files.
This limit is intended to reduce the time it takes to check the file system with the fsck command.
The maximum quota that you can set on a multiterabyte UFS file system is 2 terabytes of 1024-byte blocks.
Using the fssnap command to create a snapshot of a multiterabyte UFS file system is not currently supported.
Support for a multiterabyte UFS file system assumes the availability of multiterabyte LUNs, provided as Solaris Volume Manager or VxVM volumes, or as physical disks greater than 1 terabyte.
Before you can create a multiterabyte UFS file system, verify that you have done either of the following:
Created a multiterabyte disk partition with the format utility or the Solaris installation utilities.
Set up a multiterabyte volume with Solaris Volume Manager.
Become superuser.
Create a multiterabyte UFS file system on a logical volume.
For example, this command creates a UFS file system for a 1.8 terabyte volume.
# newfs /dev/md/rdsk/d99 newfs: construct a new file system /dev/md/rdsk/d99: (y/n)? y /dev/md/rdsk/d99: 3859402752 sectors in 628158 cylinders of 48 tracks, 128 sectors 1884474.0MB in 4393 cyl groups (143 c/g, 429.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702... Initializing cylinder groups: ........................................................................ super-block backups for last 10 cylinder groups at: 3850872736, 3851751456, 3852630176, 3853508896, 3854387616, 3855266336, 3856145056, 3857023776, 3857902496, 3858781216, # |
Verify the integrity of the newly created file system.
For example:
# fsck /dev/md/rdsk/d99 ** /dev/md/rdsk/d99 ** Last Mounted on ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 2 files, 2 used, 241173122 free (0 frags, 241173122 blocks, 0.0% fragmentation) # |
Mount and verify the newly created file system.
For example:
# mount /dev/md/dsk/d99 /bigdir # df -h /bigdir Filesystem size used avail capacity Mounted on /dev/md/dsk/d99 1.8T 64M 1.8T 1% /bigdir |
After a multiterabyte UFS file system is created, you can use the growfs command to expand the file system. For example, using the file system that was created for the volume in the preceding procedure, you can add another disk to this volume. Then, expand the file system.
Become superuser.
Add another disk to the volume.
For example:
# metattach d99 c4t5d0s4 d99: component is attached # metastat d99: Concat/Stripe Size: 5145882624 blocks (2.4 TB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 36864 Yes Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes Stripe 2: Device Start Block Dbase Reloc c1t1d0s4 0 No Yes Stripe 3: Device Start Block Dbase Reloc c4t5d0s4 0 No Yes |
Expand the file system.
For example:
# growfs -v /dev/md/rdsk/d99 /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d99 5145882624 /dev/md/rdsk/d99: 5145882624 sectors in 837546 cylinders of 48 tracks, 128 sectors 2512638.0MB in 5857 cyl groups (143 c/g, 429.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 878752, 1757472, 2636192, 3514912, 4393632, 5272352, 6151072, 702... Initializing cylinder groups: ......................................................................... super-block backups for last 10 cylinder groups at: 5137130400, 5138009120, 5138887840, 5139766560, 5140645280, 5141524000, 5142402720, 5143281440, 5144160160, 5145038880, # |
Mount and verify the expanded file system.
For example:
# mount /dev/md/dsk/d99 /bigdir # df -h /bigdir Filesystem size used avail capacity Mounted on /dev/md/dsk/d99 2.4T 64M 2.4T 1% /bigdir |
Use the following procedure to expand a UFS file system to greater than 1 terabyte in size. This procedure assumes that the newfs -T option was used initially to create the UFS file system.
Become superuser.
Identify the size of the current disk or volume.
For example, the following volume is 800 gigabytes.
# metastat d98 d98: Concat/Stripe Size: 1677754368 blocks (800 GB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 0 No Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes |
Increase the volume to greater than 1 terabyte.
For example:
# metattach d98 c1t1d0s4 d98: component is attached # metastat d98 d98: Concat/Stripe Size: 2516631552 blocks (1.2 TB) Stripe 0: Device Start Block Dbase Reloc c0t1d0s4 0 No Yes Stripe 1: Device Start Block Dbase Reloc c3t7d0s4 0 No Yes Stripe 2: Device Start Block Dbase Reloc c1t1d0s4 0 No Yes |
Expand the UFS file system for the disk or volume to greater than 1 terabyte.
For example:
growfs -v /dev/md/rdsk/d98 /usr/lib/fs/ufs/mkfs -G /dev/md/rdsk/d98 2516631552 /dev/md/rdsk/d98: 2516631552 sectors in 68268 cylinders of 144 tracks, 256 sectors 1228824.0MB in 2731 cyl groups (25 c/g, 450.00MB/g, 448 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 921888, 1843744, 2765600, 3687456, 4609312, 5531168, 6453024, 737... 8296736, Initializing cylinder groups: ...................................................... super-block backups for last 10 cylinder groups at: 2507714848, 2508636704, 2509558560, 2510480416, 2511402272, 2512324128, 2513245984, 2514167840, 2515089696, 2516011552, |
Mount and verify the expanded file system.
For example:
# mount /dev/md/dsk/d98 /datadir # df -h /datadir Filesystem size used avail capacity Mounted on /dev/md/dsk/d98 1.2T 64M 1.2T 1% /datadir |
Use the following error messages and solutions to troubleshoot problems with multiterabyte UFS file systems.
mount: /dev/rdsk/c0t0d0s0 is not this fstype. |
You attempted to mount a UFS file system that is greater than 1 terabyte on a system running a Solaris release prior to the Solaris 9 8/03 release.
Mount a UFS file system that is greater than 1 terabyte on a system running the Solaris 9 8/03 or later release.
"File system was not set up with the multi-terabyte format." "Its size cannot be increased to a terabyte or more." |
You attempted to expand a file system that was not created with the newfs -T command.
Back up the data for the file system that you want to expand to greater than one terabyte.
Re-create the file system with the newfs command to create a multiterabyte file system.
Restore the backup data into the newly created file system.