В среде с автоматически смонтированными домашними каталогами, когда одна и та же файловая система, экспортированная файловым сервером, может быть смонтирована несколько раз на клиенте, я хотел бы авторитетно определить, являются ли две точки монтирования одной и той же файловой системой. То есть, если удаленный сервер экспортирует:
/home
А у локального клиента есть:
# mount
fileserver:/home/l/lars on /home/lars type nfs (rw...)
fileserver:/home/b/bob on /home/bob type nfs (rw...)
Я ищу способ определить, что оба /home/lars
и /home/bob
фактически являются одной и той же файловой системой. Теоретически это то, что fsid
результат statvfs структура предназначена для, но во всех случаях, как для локальной, так и для удаленной файловой системы, я обнаружил, что значение этого члена структуры равно 0.
Это какая-то проблема на стороне клиента? Или же большинство современных серверов NFS просто отказываются предоставлять полезные fsid
?
Конечная цель всего этого - надежно интерпретировать выходные данные quota
команда для файловых систем NFS. Например, в приведенном выше примере выполняется quota
как я могу вернуть что-то вроде:
Disk quotas for user lars (uid 6580):
Filesystem blocks quota limit grace files quota limit grace
otherserver:/vol/home0/a/alice
12 52428800 52428800 4 4294967295 4294967295
fileserver:/home/l/lars
9353032 9728000 10240000 124018 0 0
... проблема в том, что для меня существует квота на другом сервере, которая видна в результатах quota
хотя мой домашний каталог находится на другом устройстве. Мой план состоял в том, чтобы найти fsid
для каждой точки монтирования, указанной в quota
вывод и проверьте, соответствует ли он fsid
связанный с моим домашним каталогом.
Похоже, это не сработает, так что ... есть предложения?
Вы можете использовать mountpoint
команда. В -d
switch печатает старший / младший номер устройства точки монтирования на стандартный вывод.
В вашем случае сравните вывод mountpoint -d /home/lars
к mountpoint -d /home/bob
.
[root@Fruity ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.9G 2.5G 7.0G 26% /
/dev/sda1 97M 43M 50M 47% /boot
/dev/sda7 2.0G 68M 1.9G 4% /tmp
/dev/sda3 9.9G 2.8G 6.6G 30% /usr
/dev/sda6 6.0G 1.1G 4.6G 19% /var
/dev/sdb1 400G 263G 138G 66% /data
/dev/sdc1 150G 122G 29G 82% /images
nfs001:/data/chain 36G 1.2G 35G 4% /data/chain
nfs001:/data/src 36G 1.2G 35G 4% /data/src
[root@Fruity ~]# mountpoint -d /data/chain/
0:19
[root@Fruity ~]# mountpoint -d /data/src/
0:19
[root@Fruity ~]# mountpoint -d /data/
8:17