System Administration Guide, Volume 1

Chapter 35 Creating File Systems (Tasks)

This chapter describes how to create UFS, TMPFS, and LOFS file systems. For UFS file systems, this chapter shows you how to create a file system on a hard disk using the newfs command. Because TMPFS and LOFS are virtual file systems, you actually "access" them by mounting them.

This is a list of the step-by-step instructions in this chapter.


Note -

For instructions on how to create UFS and DOS file systems on removable media, see Chapter 14, Guidelines for Using CDs and Diskettes (Overview).


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 28, Disk Management (Overview) for complete information on formatting disks and dividing disks into slices.

Logical volume management products, like Solstice DiskSuite, create more sophisticated meta devices, that expand beyond single slice or single disk boundaries. See Solstice DiskSuite 4.2.1 User's Guide for more information about meta devices.


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 operating environment automatically creates them as part of the installation process. You need to create (or re-create) a UFS file system when you:

The newfs command is the standard way to create UFS file systems. The newfs(1M) command is a convenient front-end to the mkfs(1M) 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 disk label that will contain the new file system, and the options you choose are passed to the mkfs command to build the file system.

File System Parameters

To make a new file system on a disk slice, you almost always use the newfs command. The table below shows the default parameters used by the newfs command.

Table 35-1 Default Parameters Used by the newfs Command

Parameter 

Default Value 

Block size 

8 Kbytes 

Fragment size 

1 Kbyte 

Minimum free space 

((64 Mbytes/partition size) * 100), rounded down to the nearest integer and limited to between 1% and 10%, inclusively 

Rotational delay 

Zero 

Optimization type 

Time 

Number of inodes 

1 for each 2 Kbytes of data space 

How to Create a UFS File System

  1. Make sure you have met the following prerequisites:

    • The disk must be formatted and divided into slices before you can create UFS file systems on it. See Chapter 28, Disk Management (Overview) for complete information on formatting disks and dividing disks into slices.

    • You need to know the device name of the slice that will contain the file system. See Chapter 29, Administering Disks (Tasks) for information on finding disks and disk slice numbers.

    • If you are re-creating an existing UFS file system, unmount it.

    • You must be superuser.

  2. Create the UFS file system.


    # newfs [-N] [-b size] [-i bytes] /dev/rdsk/device-name
    

    -N

    Displays what parameters newfs would pass to mkfs without actually creating the file system. This is a good way to test the newfs command.

    -b size

    Specifies the file system block size, 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. See newfs(1M) for more information.

    device-name

    Specifies the disk device name on which to create the new file system. 

    The system asks for confirmation.


    Caution - Caution -

    Be sure you have specified the correct device name for the slice before performing the next step. If you specify the wrong slice, you will erase its contents when the new file system is created. This might cause the system to panic.


  3. To verify the creation of the UFS file system, check the new file system with the fsck(1M) command.


    # fsck /dev/rdsk/device-name
    

    device-name

    Specifies the name of the disk device containing the new file system. 

    The fsck command checks the consistency of the new file system, reports problems it finds, and prompts you before repairing the problems. See Chapter 39, Checking File System Integrity for more information on fsck.

Example--Creating a UFS File System

The following example creates 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,
#

Where to Go From Here

To mount the file system and make it available, go to Chapter 36, Mounting and Unmounting File Systems (Tasks).

Creating a Temporary File System (TMPFS)

The Temporary File System (TMPFS) uses local memory for file system reads and writes, which is typically much faster than a UFS file system. Using TMPFS file systems can improve system performance by saving the cost of reading and writing temporary files to a local disk or across the network. Files in TMPFS file systems do not survive across reboots or unmounts.

If you create multiple TMPFS file systems, be aware that they all use the same system resources. Files created under one TMPFS file system use up the space available for any other TMPFS, unless you limit TMPFS sizes using the -o size option of the mount command.

See the tmpfs(7FS) man page for more information.

How to Create a TMPFS File System

  1. Become superuser.

  2. If necessary, create the directory where you want to mount the TMPFS file system and set permissions and ownership as necessary.

  3. Create a TMPFS file system.

    To set up the system to automatically create a TMPFS file system when it boots, see "Example--Creating a TMPFS File System at Boot Time".


    # mount -F tmpfs [-o size=number ] number swap mount-point
    

    -o size=number

    Specifies the size of the TMPFS file system in Mbytes.  

    mount-point

    The directory on which the TMPFS file system is mounted. 

  4. Look at the output from the mount command to verify that the TMPFS file system has been created.


    # mount -v
    

Example--Creating a TMPFS File System

The following example creates a new directory, /export/reports, and mounts a TMPFS file system at that point, limiting it to 50 Mbytes.


# mkdir /export/reports
# chmod 777 /export/reports
# mount -F tmpfs -o size=50 swap /export/reports

Example--Creating a TMPFS File System at Boot Time

You can set up the system to automatically create a TMPFS file system when it boots by adding an entry to the /etc/vfstab file. The following example shows an entry in the /etc/vfstab file that will create a TMPFS file system on /export/test when the system boots. Since the size=number option is not specified, the size of the TMPFS file system on /export/test is limited only by the available system resources.


swap - /export/test  tmpfs   -  yes  -

For more information the /etc/vfstab file, see "The /etc/vfstab Field Descriptions".

Creating a Loopback File System (LOFS)

A LOFS file system is a virtual file system that provides an alternate path to an existing file system. When other file systems are mounted onto a LOFS file system, the original file system does not change.

See the lofs(7FS) man page for more information.


Caution - Caution -

Be careful when creating LOFS file systems. Because these are virtual file systems, the potential for confusing both users and applications is enormous.


How to Create a LOFS File System

  1. Become superuser.

  2. Create the directory where you want to mount the LOFS file system and give it the appropriate permissions and ownership.

  3. Create a LOFS file system.

    To set up the system to automatically create a TMPFS file system when it boots, see "Example--Creating a LOFS File System at Boot Time".


    # mount -F lofs loopback-directory mount-point
    

    loopback-directory

    Specifies the file system to be mounted on the loopback mount point. 

    mount-point

    Specifies the directory on which to mount the LOFS file system. 

  4. Look at the output from the mount command to verify that the LOFS file system has been created.


    # mount -v
    

Example--Creating a LOFS File System

The following example illustrates how to mount and test new software as a loopback file system without actually having to install it.


# mkdir /tmp/newroot
# mount -F lofs /new/dist /tmp/newroot/usr/local
# chroot /tmp/newroot command

Example--Creating a LOFS File System at Boot Time

You can set up the system to automatically create a LOFS file system when it boots by adding an entry to the end of the /etc/vfstab file. The following example shows an entry in the /etc/vfstab file that will create a LOFS file system for the root (/) file system on /tmp/newroot.


/ - /tmp/newroot  lofs   -  yes  -

Caution - Caution -

Make sure the loopback entries are the last entries in the /etc/vfstab file. Otherwise, if the /etc/vfstab entry for a loopback file system precedes the file systems to be included in it, the loopback file system cannot be created.


For more information the /etc/vfstab file, see "The /etc/vfstab Field Descriptions".