3.3.2 AFS file system
3.3.2.1 Overview of the AFS file system
The AFS distributed file system provides users a local environment to easily share and access data files.
The computing platform provides personal AFS space for each user to edit files, read and write data. In addition, AFS also offers large public disk space and software disk space for user jobs to access softwares and ensure the proper operation of jobs in the cluster.
3.3.2.2 Overview of user volumes
The AFS system currently has over 1500 user volumes, with which users can read and write data files as well as share data. Users will by default enter their home directories after successfully logging in. Each user has 500MB personal space in the afs home directory.
Path: /afs/ihep.ac.cn/users/a-z/username
Overview of software volumes
The AFS system currently has 13 software volumes, providing software environment for different experiments. Detailed volume information is shown in Table 2.
Path | Volume | Space(KB) | Use |
---|---|---|---|
/afs/ihep.ac.cn/bes3/gpupwa | bes3.gpupwa | 2048000 | Provide software libraries for GPU |
/afs/ihep.ac.cn/bes3/offline | offline.bes3 | 150000000 | Provide offline data for bes3 experiment |
/afs/ihep.ac.cn/bes3/offline/Boss | offline.boss | 150000000 | Provide offline data for boss experiment |
/afs/ihep.ac.cn/bes3/offline/CalibConst | offline.calibconst | 50000000 | Provide offline data for calibconst experiment |
/afs/ihep.ac.cn/bes3/offline/ExternalLib | offline.externallib | 102400000 | Providing external libraries for bes3 experiment |
/afs/ihep.ac.cn/soft/CMS | soft.cms | 5000000 | Provide software environment for cms experiment |
/afs/ihep.ac.cn/soft/CSNS | soft.csns | 10000000 | Provide software environment for csns experiment |
/afs/ihep.ac.cn/soft/dayabay | soft.dayabay | 250000000 | Provide software environment for dayabay experiment |
/afs/ihep.ac.cn/soft/EXO | soft.EXO | 10000000 | Provide software environment for EXO experiment |
/afs/ihep.ac.cn/soft/HXMT | soft.hxmt | 35000000 | Provide software environment for hxmt experiment |
/afs/ihep.ac.cn/soft/LHAASO | soft.lhaaso | 50000000 | Provide software environment for lhasso experiment |
/afs/ihep.ac.cn/soft/NANO | soft.nano | 2000000 | Provide software environment for nano experiment |
/afs/ihep.ac.cn/soft/YBJ | soft.YBJ | 10000000 | Provide software environment for YBJ experiment |
Table2 overview of AFS software volumes
Overview of the public volume
The AFS system currently has one public volume, providing public software storage for users. Detailed information is show in Table 3
Path | Volume | Space(KB) | Use |
---|---|---|---|
/afs/ihep.ac.cn/soft/common | soft.common | 200000000 | Common scripts and software of the system group |
Table 3 Overview of the public volume
3.3.2.3 AFS system commands
In addition to the basic operations on files and directories, AFS file system has some unique commands. Unlike the ordinary commands for file and directory permission setting, AFS uses its own specialized commands.
set access permission of a directory
Command format is as follows:
fs setacl -dir directory –acl user/group rl/all/none
an example:
$ fs setacl –dir /afs/ihep.ac.cn/users/h/huangql/mydir –acl huqb all $ fs setacl –dir /afs/ihep.ac.cn/users/h/huangql/mydir –acl system:anyuser none
list access permission of a directory Command format is as follows:
fs listacl -path directory
an example:
$ fs listacl –path /afs/ihep.ac.cn/users/h/huangql/mydir
list quota of a directory
Command format is as follows:
fs listquota [-path <dir/file path>+] [-help]
an example:
$ fs listquota /afs/ihep.ac.cn/users/h/huangql/mydir
check the usage of user directory
Command format is as follows:
fs quota [-path <dir/file path>+] [-help]
an example:
$ fs quota /afs/ihep.ac.cn/users/h/huangql
Obtain user authorization
When a user has no authorization to access a file on his own directory, he needs to use this command to get authorization.
$ kinit username Password: $ aklog -d
3.3.2.4 How to set up SSH public key authentication:
Creatie ssh key at local compute
$ ssh-keygen # create ssh key $ ls ~/.ssh/ # list ssh key
Copy .pub file to server node,create ~/.ssh directory,echo .pub file content into authorized_keys,set the acl of these directories as follow:
$ mkdir ~/.ssh $ echo public_key_string >> ~/.ssh/authorized_keys $ fs listacl -path ~/.ssh #list access permission of ~/.ssh directory $ fs setacl -path ~/.ssh system:anyuser l #set the ~/.ssh directory to allow other users to list, and other users under the list permission cannot read the file content $ mkdir ~/public # create public directory $ fs setacl -path ~/public system:anyuser rl #set the ~/publich directory to allow other users to list and read $ mv ~/.ssh/authorized_keys ~/public/ #move the authorized_keys file to the public directory $ mv ~/.ssh/known_hosts ~/public/ ##move the known_hosts file to the public directory $ ln -s ~/public/authorized_keys ~/.ssh/authorized_keys #create a soft connection to the public directory $ ln -s ~/public/known_hosts ~/.ssh/known_hosts #create a soft connection to the public directory