7.4 JUNO

7.4.1 新用户

7.4.1.1 帐户注册

  1. 确保已经属于 JUNO 合作组。
  2. 注册 IHEP Single Sign On (SSO) 同时申请 JUNO 合作组权限.
  3. 如果需要登陆集群, 申请 AFS 帐户:
  4. 如果需要 SVN/Trac, 需要申请 SVN/Trac 帐户:

7.4.1.2 常用链接

7.4.2 存储目录

7.4.2.1 用户目录

提供用户存放个人数据文件,每位用户均在以下目录中有自己专属目录。用户目录列表如下:

目录名称 空间限额/文件数限额 查看使用份额的命令
/afs/ihep.ac.cn/users/username 500MB/none fs listquota /afs/ihep.ac.cn/users/username
/workfs/juno/username 5GB/5万 lfs quota -u username /workfs
/junofs/users/username 500GB/30万 lfs quota -u username /junofs
/scratchfs/juno/username 500GB/20万 (数据只保存2周) lfs quota -u username /scratchfs
/eos/juno/user/username 2TB/300万 eos quota

注意,如果用户的主组不是juno,请参考相应主组的文档。

7.4.2.2 EOS使用说明

EOS文件系统是一套基于xrootd框架的面向EB级数据存储的分布式文件系统。具体情况请参考3.3.5 EOS文件存储

7.4.2.2.1 EOS访问文件

xrootd协议访问EOS系统,访问方式为:

root://EOS_MGM_URL//filepath

说明:

  • Xrootd默认使用用1094端口
  • 在端口后需要使用”//
  • filepath需要使用绝对路径

此处的EOS_MGM_URL为实例的服务器地址,JUNO实验的服务器地址是junoeos01.ihep.ac.cn,请通过以下命令设置:

$ export EOS_MGM_URL=root://junoeos01.ihep.ac.cn/

提醒:可以将EOS_MGM_URL环境变量,写入~/.bash_profile文件中,这样每次登录时,会自动加载。

$ echo "export EOS_MGM_URL=root://junoeos01.ihep.ac.cn/" >> ~/.bash_profile

注意:当用户在使用/eos盘时,只能通过eos命令来访问。

eos命令与系统命令对照表

Eos命令(推荐使用) Linux命令(不可用) 说明
eos ls ls 查看文件列表
eos cp cp 拷贝文件
eos mv eos file rename mv 移动文件
eos cp /eos/user/myfile -|cat cat 查看文件内容
eos cp /eos/user/myfile -|tail tail 查看文件内容
eos mkdir mkdir 创建文件夹
eos touch touch 创建文件
eos newfind -f /eos/mypath 查找某一个目录下所有文件列表(包含子目录)
eos newfind -d /eos/mypath 查找某一个目录下所有目录列表(包含子目录)
eos ln ln 创建软链接
eos quota 查看个人空间使用大小
eos stat -f 判断文件是否存在,如果不存在,返回值为空
eos file info stat 可查看文件的Modify修改时间和Change状态改动时间

其中, Linux 下的 cattail 命令 可以用 xrdfs 相应命令代替, 需要在 xrdfs 后面加上 EOS 的域名, 比如 JUNO EOS, 就是junoeos01junoeos01.ihep.ac.cn:

  • 查看文件全部内容: xrdfs junoeos01 cat /eos/juno/user/usname/myfile
  • 查看文件尾部 N bytes 内容: xrdfs junoeos01 tail -c N /eos/juno/user/usname/myfile
  • 实时查看文件尾部内容: xrdfs junoeos01 tail -f /eos/juno/user/usname/myfile

7.4.2.2.2 作业中访问EOS

作业中使用xrootd读写文件的前提是物理软件支持xrootd协议。 对于ROOT软件,目前已支持xrootd方式,但需要注意目前有三种方式产生Tfile对象:

  • 声明: TFile(PATHNAME) --不支持xrootd
  • 新文件:new TFile (PATHNAME) -- 不支持xrootd
  • 打开方法: TFile::Open(PATHNAME) --支持xrootd

举例:

  • 对于ROOT格式的文件,可以直接用TFile::Open打开:
TFile *filein = TFile::Open("root://junoeos01.ihep.ac.cn//eos_absolute_path_filein_name.root")
  • 对于非ROOT格式的文件,也可以用ROOT的TFile类可以直接读写,需要在文件名后增加一个参数“?filetype=raw"。举例:
void rawfile(){  
  int size;
  char buf[1024];
  TFile *rf = TFile::Open("root://junoeos01.ihep.ac.cn//eos/user/c/chyd/set.log?filetype=raw");
  size = rf->GetSize();
  printf("size is %d\n", size);
  memset(buf, 0, 1024);
  rf->ReadBuffer(buf, 1024);
  printf("%s\n", buf);
  rf->Close();
  }

7.4.2.2.3 ACL目录权限控制

EOS支持用户对自身目录进行ACL设置,目前已经开通ACL访问权限控制的目录为"/eos/juno/groups/“下各个组的目录,各目录的convenor可设定哪些用户向该目录下进行读写。

目录权限拥有者登录到登录节点后,按以下方式操作(以/eos/juno/groups/Reconstruction为例):

$ export EOS_MGM_URL=root://junoeos01.ihep.ac.cn/ (可以将该命令写入~/.bashrc中)

$ eos acl -R --user u:jiangw=rwx /eos/juno/groups/Reconstruction (jiangw是要授权的用户集群账号名)
注意: -R是可选选项,添加-R选项会使得上面这个命令的执行时间变长,-R表示对所设置目录下所有的子目录执行该操作。如果不需要对该目录下已有的目录同步增加新用户的权限,则不用使用-R选项。

$ eos quota set -u jiangw -v 10T /eos/juno/groups/Reconstruction (该步骤必须执行,否则用户将没有quota进行写数据,此处的10T为分配空间大小,可根据需要自行调整。)
注意:由于JUNO EOS采用双副本机制,此处设置的10TB,其真实可用空间为5TB。

注意:当用户登录到登录节点进行操作时,在执行eos命令时,如提示输入证书密码,此时请按回车跳过,否则将会映射成网格用户,造成设置失败。

如有其他计划用户开通ACL目录访问控制权限,请联系计算中心,发邮件至lihaibo@ihep.ac.cn。

7.4.2.2.4 支持xrootd的hadd

hadd支持通过xrootd方式对文件进行合并,需要首先source环境变量,之后通过histadd命令就可以使用了。具体使用方式为:

$ source /cvmfs/lhaaso.ihep.ac.cn/anysw/slc5_ia64_gcc73/external/envd.sh

$ histadd -h
Function: An alternative "hadd" made by <zhiguo.yao@ihep.ac.cn>
SYNOPSIS:
  histadd  [ -o outfile ]
  [ -topdir | +topdir ] [ -folder folder1 [ -folder folder2 ... ] ]
  [ -tree | +tree ]
  [ -list listfile1 [ -list listfile2 ... ] ]
  [ -inclhist histname1 [ -inclhist histname2 ... ] ]
  [ -exclhist histname1 [ -exclhist histname2 ... ] ]
  [ filename1 [ filename2 ... ] ]

BRIEF EXPLANATIONS:
  -topdir: Add objects in the top directory of every root file (default).
  +topdir: Ignore all objects in the top directory.
  -folder folder: Activate adding the TFolder "folder".
  *** Note: Only folders specfied by option "-folder folder" are added.
  -tree: Add TTree objects (default).
  +tree: Ignore all TTree objects.
  -inclhist histname: include histname in the top directory. Default: all.
  -exclhist histname: exclude histname in the top directory. Default: nothing.
  -list listfile: Add every lines in "listfile" to the input list.
  *** Note: Lines with leading "#" will be ignored!
  filename: Add "filename" to the input list.
  *** Note: (Many) list files and file names can be specified simultanously.
  *** Note: EOS files will be automatically accessed via the xrootd protocol.

results matching ""

    No results matching ""