区分具有相同名称的不同文件系统

时间:2011-09-11 18:28:32

标签: linux filesystems

我已经编写了一个代码来分析RHEL的文件系统统计信息(比如说io,文件总数等等)。现在,用户删除文件系统并创建一个具有相同名称的新文件系统。 现在我的代码无法区分文件系统和有关FS的显示数据,这会使用户感到困惑,因为用户属于新用户,哪些用户对旧FS感到困惑。 因为我的代码是按名称读取文件系统。因此,如果我获得OS分配的文件系统的唯一ID,它将有所帮助。 我希望OS每次创建文件系统时都会分配唯一的ID。

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

你最好的选择可能是存储除文件系统名称之外的其他识别信息,例如它的元数据,类型,分区的uuid等等......

答案 1 :(得分:1)

您可以检查文件系统的UUID,这对于每个文件系统应该是唯一的。

看看:

[root@server]# ls -l /dev/disk/by-uuid/

如果默认情况下/dev/disk/by-uuid不存在(例如在RHEL4上),您仍然可以使用tune2fsblkid查询UUID。例如:

[root@server]# tune2fs -l /dev/sda1 | awk '/Filesystem UUID/{print $3}'

[root@server]# blkid /dev/sda1 | awk '{print $3}'

P.S。如果您需要进行反向映射(找到具有特定UUID的设备),您可以使用findfs UUID=<the-uuid>