下午同事在自己的开发机上遇到题目说到的问题,它看到挂在到/dev/sda磁盘分区5上的ext4文件系统的容量显著小于该分区的大小

df看到的文件系统容量:

#df -h /dev/sda5
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 92G 44G 48G 48% /disks/disk9

parted看到的文件系统容量:

#parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA INTEL XXXXXXXXX (scsi) //此处隐去了具体磁盘型号信息
Disk /dev/sda: 340GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system Flags
1 1049kB 268MB 267MB primary ext4 boot
2 268MB 54.0GB 53.7GB primary ext4
3 54.0GB 56.1GB 2147MB primary linux-swap(v1)
4 56.1GB 340GB 284GB extended
5 56.1GB 340GB 284GB logical ext4

调查了一番,感觉有可能是这个文件系统mount上之后扩大了它所在分区的大小,这导致了文件系统的容量小于它所在分区的大小。

resize2fs工具能解决这个问题:

#resize2fs /dev/sda5
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sda5 is mounted on /disks/disk9; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 17
The filesystem on /dev/sda5 is now 69329152 blocks long.

这个工具执行的时候,不需要备份已有文件系统上的数据。具体使用细节可以通过man resize2fs看到。

另外,tune2fs工具可以看到某个设备上挂在的文件系统的非常详细的信息:

tune2fs -l /dev/sda5

  

 

05-11 19:55