23.07.2014 Views

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

Lustre 1.6 Operations Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

29.1.2 Description<br />

The group upcall file contains the path to an executable that, when properly<br />

installed, is invoked to resolve a numeric UID to a group membership list. This<br />

utility should complete the mds_grp_downcall_data data structure (see Data<br />

structures) and write it to the /proc/fs/lustre/mds/mdsservice/group_info<br />

pseudo-file.<br />

For a sample upcall program, see lustre/utils/l_getgroups.c in the <strong>Lustre</strong><br />

source distribution.<br />

29.1.2.1 Primary and Secondary Groups<br />

The mechanism for the primary/supplementary group is as follows:<br />

■ The MDS issues an upcall (set per MDS) to map the numeric UID to the<br />

supplementary group(s).<br />

■ If there is no upcall or if there is an upcall and it fails, supplementary groups will<br />

be added as supplied by the client (as they are now).<br />

■ The default upcall is "NONE", which means the current behavior is used. This can<br />

be set to /usr/sbin/l_getgroups to use the <strong>Lustre</strong> group-supplied upcall,<br />

which looks up the UID in /etc/passwd, and if it finds the UID, it looks for<br />

supplementary groups in /etc/group for that username. You are free to enhance<br />

the l_getgroups to look at an external database for supplementary groups<br />

information.<br />

■ To set the upcall, echo {path} ><br />

/proc/fs/lustre/mds/{mdsname}/group_upcall or add the --<br />

group_upcall {path} line to the --add mds entry in the lmc script. You can<br />

also override this at startup time with a --group_upcall {path} option to<br />

lconf.<br />

■ To avoid repeated upcalls, the supplementary group information is cached by the<br />

MDS. The default cache time is 300 seconds, but can be changed via<br />

/proc/fs/lustre/mds/{mdsname}/group_expire. The kernel will wait, at<br />

most, 5 seconds (by default,<br />

/proc/fs/lustre/mds/{mdsname}/group_acquire_expire changes) for<br />

the upcall to complete and will take the "failure" behavior as described above. It is<br />

possible to flush cached entries by writing to the<br />

/proc/fs/lustre/mds/{mdsname}/group_flush file.<br />

29-2 <strong>Lustre</strong> <strong>1.6</strong> <strong>Operations</strong> <strong>Manual</strong> • September 2008

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!