Creating a UFS File System
Before you can create a UFS file system on a disk, the
disk must be formatted and divided into slices. A disk slice is a physical subset
of a disk that is composed of a single range of contiguous blocks.
A slice can be used either as a raw device that provides,
for example, swap space, or to hold a disk-based file system. See Chapter 10, Managing Disks (Overview)
for complete information on formatting disks and dividing disks into slices.
Disk and storage management products, such as SolarisTM Volume Manager, create more sophisticated
volumes. Volumes expand beyond single-slice or single-disk boundaries. For more information about using volumes,
see Solaris Volume Manager Administration Guide.
Note - Solaris device names use the term slice (and the letter s in the
device name) to refer to the slice number. Slices are also called
partitions.
You need to create UFS file systems only occasionally, because the Solaris
OS automatically creates them as part of the installation process. You need to
create (or re-create) a UFS file system when you want to do the
following:
The newfs command is the standard way to create UFS file systems. The
newfs command is a convenient front end to the mkfs command, which actually
creates the new file system. The newfs command reads parameter defaults, such as tracks
per cylinder and sectors per track, from the label for the disk that
will contain the new file system. The options you choose are passed to
the mkfs command to build the file system.
For information about the default parameters that are used by the newfs
command, see newfs(1M).
How to Create a UFS File System
Before You Begin
Ensure that you have met the following prerequisites:
The disk must be formatted and divided into slices.
If you are re-creating an existing UFS file system, unmount it.
You need to know the device name of the slice that will contain the file system.
For information on finding disks and disk slice numbers, see Chapter 11, Administering Disks (Tasks).
For information on formatting disks and dividing disks into slices, see Chapter 10, Managing Disks (Overview).
- You must be superuser or assume an equivalent role.
- Create the UFS file system.
# newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
- -N
Displays what parameters the newfs command would pass to the mkfs command without actually creating the file system. This option is a good way to test the newfs command.
- -b size
Specifies the block size for the file system, either 4096 or 8192 bytes per block. The default is 8192.
- -i bytes
Specifies the number of bytes per inode. The default varies depending on the disk size. For more information, see newfs(1M).
- device-name
Specifies the disk device name on which to create the new file system.
The system asks for confirmation.
Caution - Be sure you have specified the correct device name for the slice before
performing this step. If you specify the wrong slice, you will erase its
contents when the new file system is created. This error might cause the
system to panic.
- To verify the creation of the UFS file system, check the new file
system.
# fsck /dev/rdsk/device-name
where device-name argument specifies the name of the disk device that contains the
new file system.
The fsck command checks the consistency of the new file system, reports any
problems, and prompts you before it repairs the problems. For more information on
the fsck command, see Chapter 22, Checking UFS File System Consistency (Tasks) or fsck(1M).
Example 18-1 Creating a UFS File System
The following example shows how to create a UFS file system on
/dev/rdsk/c0t1d0s7.
# newfs /dev/rdsk/c0t1d0s7
/dev/rdsk/c0t1d0s7: 725760 sectors in 720 cylinders of 14 tracks, 72 sectors
354.4MB in 45 cyl groups (16 c/g, 7.88MB/g, 3776 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 16240, 32448, 48656, 64864, 81072, 97280, 113488, 129696, 145904, 162112,
178320, 194528, 210736, 226944, 243152, 258080, 274288, 290496, 306704,
322912, 339120, 355328, 371536, 387744, 403952, 420160, 436368, 452576,
468784, 484992, 501200, 516128, 532336, 548544, 564752, 580960, 597168,
613376, 629584, 645792, 662000, 678208, 694416, 710624,
fsck /dev/rdsk/c0t1d0s7
#
More Information
After You Create a UFS File System ...
To mount the UFS file system and make it available, go to
Chapter 19, Mounting and Unmounting File Systems (Tasks).
How to Create a Multiterabyte UFS File System
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:
For more information about multiterabyte UFS file systems, see 64-bit: Support of Multiterabyte UFS File Systems.
- 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
How to Expand a Multiterabyte UFS File System
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
How to Expand a UFS File System to a Multiterabyte UFS File System
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
Troubleshooting Multiterabyte UFS File System Problems
Use the following error messages and solutions to troubleshoot problems with multiterabyte UFS
file systems.
- Error Message (similar to the following):
mount: /dev/rdsk/c0t0d0s0 is not this fstype.
- Cause
You attempted to mount a UFS file system that is greater than 1 terabyte on a system running a Solaris release prior to the release.
- Solution
Mount a UFS file system that is greater than 1 terabyte on a system running the or later release.
- Error Message
"File system was not set up with the multi-terabyte format." "Its size
cannot be increased to a terabyte or more."
- Cause
You attempted to expand a file system that was not created by using the newfs -T command.
- Solution
-
Back up the data for the file system that you want to expand to greater than 1 terabyte.
Re-create the file system by using the newfs command to create a multiterabyte file system.
Restore the backup data into the newly created file system.