• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • Solaris
    • Oracle Linux
    • VCS
  • Interview Questions
  • Database
    • oracle
    • oracle 12c
    • ASM
    • mysql
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

Solaris : How to increase the Inodes on UFS file system with newfs command

by admin

It is not possible to dynamically increase the number of inodes on a UFS filesystem. If you need to increase the number of inodes you will need to build the filesystem afresh using newfs.

Note that the newfs command will create a new filesystem on the slice you specify. This will destroy all data already on the slice. If you wish to access the data on the slice after running newfs you must back it up first, and restore after running the newfs command as described below.

Increasing inodes with newfs

You can have a file system reporting that is it full, and yet when you look at the df -k output it looks like there should still be space left on the file system. The cause of this problem is due to a large number of small files on the file system. This can use up all of the inodes allocated for that file system while there is still plenty of disk space. To check for inodes, run the following command df -o i filesystem:

# df -o i /data

Filesystem iused ifree %iused Mounted on
/dev/dsk/c0t0d0s7 13 1241587 0% /data

As you can see I don’t have a problem with the inodes, if you did have a problem the output from would indicate %iused 100%. There is a way to resolve this issue, first you need to get a good backup of the affected file system. Then you can run the mkfs -m command to see how any filesystem was created, as seen below.

# mkfs -m /dev/rdsk/c0t0d0s7
mkfs -F ufs -o
nsect=255,ntrack=16,bsize=8192,fragsize=1024,cgsize=26,free=1,rps=90,nbpi=8235,opt=t,apc=0,gap=0,nrpos=8,maxcontig=16
/dev/rdsk/c0t0d0s7 20481600

The key field from the about output is nbpi=8235 (number bytes per inode). The nbpi can be changed when running the newfs command to create a new file system. The following is from the newfs man page.

-i nbpi

The number of bytes per inode. This specifies
the density of inodes in the file system. The
number is divided into the total size of the
file system to determine the fixed number of
inodes to create. It should reflect the expected
average size of files in the file system. If
fewer inodes are desired, a larger number should
be used; to create more inodes a smaller number
should be given. The default for nbpi is as fol-
lows:.
Disk size Density
Less than 1GB 2048
Less than 2GB 4096
Less than 3GB 6144
3GB to 1 Tbyte 8192
Greater than 1 Tbyte 1048576
or created with -T

After you backup the file system you want to increase the inodes on, then you newfs the file system using the -i nbpi option specifying a smaller number. As the output from the mkfs -m /dev/rdsk/c0t0d0s7 shows nbpi=8235, if you cut that number in half when running the newfs command with the nbpi option (-i 4117) it will double your inodes on that file system. Then after doing a newfs and increasing their inodes you restore the file system from the backup you created prior to starting this process.

Filed Under: Solaris

Some more articles you might also be interested in …

  1. Beginners Guide to Solaris 11 Image Packaging System (IPS)
  2. How to make telnet listen to a different port in Solaris
  3. How to mount the zfs rpool while booted from CD [SPARC]
  4. Solaris Volume Manager (SVM) : Understanding metadb Flags
  5. Resolving File System Full Situations in Solaris
  6. Complete Hardware Reference : SPARC T3-1 / T3-2 / T3-4
  7. How to identify the HBA cards/ports and WWN in Solaris
  8. Solaris ZFS : How to Designate Hot Spares in a Storage Pool
  9. Solaris Zones : How To Change The Number Of CPUs Using Dynamic Resource Pools
  10. Solaris : How to find number of open files by a process

You May Also Like

Primary Sidebar

Recent Posts

  • JavaFX ComboBox: Set a value to the combo box
  • Nginx load balancing
  • nginx 504 gateway time-out
  • Images preview with ngx_http_image_filter_module

© 2022 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright