TrumanWong

partprobe

Reread partitions without rebooting

Supplementary instructions

partprobe command is used to re-read the partition table. When the file is deleted, it still takes up space. Partprobe can be used to reread partitions without rebooting.

grammar

partprobe(options)(parameters)

Options

-d: Do not update the kernel;
-s: Display summary and partition;
-h: Display help information;
-v: Display version information.

Parameters

Device: Specify the device file corresponding to the hard disk that needs to confirm the partition table change.

Example

Use partprobe to add new disk partitions without restarting the system. The host's own hard disk exceeds 300GB. Currently, only 3 primary partitions are used, less than 70GB, as follows:

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 29G 3.7G 24G 14% /
/dev/sda2 29G 22G 5.2G 81% /oracle
tmpfs 2.0G 0 2.0G 0% /dev/shm
[root@localhost ~]# cat /proc/partitions
major minor #blocks name

    8 0 311427072 sda
    8 1 30716248 sda1
    8 2 30716280 sda2
    8 3 8193150 sda3
    8 16 976896 sdb
    8 32 976896 sdc

…omit other

Now you need to add a 100GB space to the system to store data files without affecting the operation of services on the existing system. Use fdisk combined with the partprobe command to add a new disk partition without restarting the system. The steps are as follows:

Step 1 Add new disk partition:

[root@localhost ~]# fdisk /dev/sda
The number of cylinders for this disk is set to 38770.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of lilo)
2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

command (m for help): p

Disk /dev/sda: 318.9 GB, 318901321728 bytes
255 heads, 63 sectors/track, 38770 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks id System
/dev/sda1 * 1 3824 30716248+ 83 Linux
/dev/sda2 3825 7648 30716280 83 Linux
/dev/sda3 7649 8668 8193150 82 Linux swap / Solaris

Command (m for help): n
Command action
    eextended
    p primary partition (1-4)
p
Selected partition 4
First cylinder (8669-38770, default 8669):
Using default value 8669
last cylinder or +size or +sizeM or +sizeK (8669-38770, default 38770): +100G
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16:

Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Step 2 Use the tool partprobe to let the kernel read the partition information:

[root@localhost ~]# partprobe

Using the fdisk tool only writes the partition information to the disk. If you need mkfs disk partitioning, you need to restart the system. Using partprobe allows the kernel to re-read the partition information, thereby avoiding restarting the system.

Step 3 Format file system:

[root@localhost ~]# mkfs.ext3 /dev/sda4
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
12222464 inodes, 24416791 blocks
1220839 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
746 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
  2654208, 4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:

done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost ~]#

Step 4 Mount the new partition /dev/sda4:

[root@localhost ~]# e2label /dev/sda4 /data
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sda4 /data
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 29753556 3810844 24406900 14% /
/dev/sda2 29753588 11304616 16913160 41% /oracle
tmpfs 2023936 0 2023936 0% /dev/shm
/dev/sda4 96132968 192312 91057300 1% /data

Using partprobe, you can create new partitions with the fdisk tool without restarting the system.