近期在超算云上跑代码遇到了个乌龙,就是作业一提交到集群上去先是PD状态,然后马上就终止调了。后来知道是我用户目录下文件数量太多,导致已经超过管理员给我分配的磁盘配额
近期在超算云上跑代码遇到了个乌龙,就是作业一提交到集群上去先是PD状态,然后马上就终止调了。后来知道是我用户目录下文件数量太多,导致已经超过管理员给我分配的磁盘配额了(众所周知机器学习相关项目的数据集一般有很多文件)。这边特此记录一下如何查看磁盘配额数据。
1.文件系统的支持与查看用df命令可查看本系统用的是什么文件系统。比如我们查看本用户目录用的什么文件系统。
[macong@paratera01 ~]$ df -hT ~
Filesystem Type Size Used Avail Use% Mounted on
12.31.3.27@tcp:/home lustre 2.7T 1.9T 848G 69% /home
可以看到是Lustre文件系统,该系统是一种并行分布式文件系統,通常用于大型计算机集群和超算。Lustre是源自Linux和Cluster的混成词。
查看该类文件系统磁盘配额的命令为
[macong@paratera01 ~]$ lfs quota
error: missing quota argument(s)
Display disk usage and limits.
usage: quota [-q] [-v] [-h] [-o <obd_uuid>|-i <mdt_idx>|-I <ost_idx>]
[<-u|-g|-p> <uname>|<uid>|<gname>|<gid>|<projid>] <filesystem>
quota [-o <obd_uuid>|-i <mdt_idx>|-I <ost_idx>] -t <-u|-g|-p> <filesystem>
2. 查看此案配额的报告数据
则我们用下列命令参看当前用户($USER
)在~/project
目录下的配额,并以人较易阅读的GBytes、MBytes、KBytes等格式自行显示:
[macong@paratera01 ~]$ lfs quota -h -u $USER ~/project
Disk quotas for usr macong (uid 53018):
Filesystem used quota limit grace files quota limit grace
/home/macong/project
193.5G 1T 1T - 325835 1000000 1000000 -
可以看到目前我们的磁盘配额中磁盘容量为1T,已用183.5G;文件数量限制为1000000,目前已用325835(当然,文件数量之前是满了的,这里我已经清理过了)。
3.讨论我们知道Linux文件系统中的主要规划为存放属性的inode与实际文件数据block区块,磁盘配额既然是管理文件系统,所以当然也可以管理inode与block,这两个管理的功能为:
- 限制block使用量:管理用户磁盘容量的限制;
- 限制inode使用量,管理用户可以建立的文件数量。
- [1] https://zh.wikipedia.org/zh-tw/Lustre
- [2] 鸟哥. 鸟哥的 Linux 私房菜: 基础学习篇[M]. 人民邮电出版社, 2018.