最近在搞VPS,要用到磁盘的限额,在网上找了一些相关的资料,总结起来,有两个方法能实现,一是用quota,另外一种是限制目录大小,下面我就将这两种方法写出来,与大家一起分享!

首先我们来看第一种方法,用quota实现。 
步骤: 
1、挂载需要限额的磁盘 
mount -o usrquota,grpquota /dev/sdb1 /mnt/sd1
针对普通磁盘 
mount -o remount,usrquota /
这个是针对根分区

2、检查并创建磁盘配额的数据库文件 
quotacheck -camugv
c创建, 
v创建过程的详细信息, 
u对用户的配额支持, 
g对组的配额支持, 
a表示激活所有配额的磁盘分区, 
m只在对根分区创建的时候使用。 
注:以上参数根据自己的情况而定

3、开启磁盘配额 
quotaon -a

4、配置用户或组的限额的大小 
edquota -u user (-g group)

5、查看用户或组的限额情况 
quota -uv user (-gv group)

6、查看系统的配额情况 
repquota -augv
注:以上5、6步,根据自己的情况来操作,当然,也可以不用查看,但前提是你确定配置是没有问题的!

7、将磁盘的挂载参数写入fstab,确保在系统下次启动的时候,能加载配额功能 
defaults,usrquota,grpquota
至此,磁盘配额完成,为了大家更好的理解配置的时候的参数,我把编辑用户和组的各字段含义,贴出来,希望参大家用帮助。 
FIlesystem:表示文件系统,即需要设置配额的硬盘分区; 
block:表示所占的字节数,单位:KB (不要修改) 
soft:磁盘空间限定值 单位:KB (需要设定) 
hard:磁盘空间限定值 单位: KB (需要设定) 
inodes:i节点数,用户拥有文件的文件的数目 (不要修改) 
soft:文档限制数量 (根据需要修改) 
hard:文档限制数量 (根据需要修改) 
如果说,你不想使用磁盘配额了,就用quotaoff -a 关闭quota(删除/etc/mtab)、删除用户或组的数据库文件,修改/etc/fstab参数。

下面我们来看另外一种方法,限制目录的大小 
主要的思路是通过dd命令COPY出你需要的大小,然后挂载到一个目录下使用。

步骤 
1、copy出相应的文件大小,比如1G 
dd if=/dev/zero bs=1024 count=1000000 of=/1Gfile.loop

2、对此文件进行格式化 
mkfs.ext3 /1Gfile.loop

3、建立目录 
mkdir /1Gdir

4、挂载使用 
mount -o loop /1Gfile.loop /1Gdir

5、为了确保在系统启动的进时也要挂载,就要在/etc/rc.local最后增加 
mount -o loop /1Gfile.loop /1Gdir

以上两种方法的优点和缺点 
磁盘配额优点:不会先占用磁盘的空间 
磁盘配额缺点:只针对磁盘用效,而且必须是针对用户和组的 
限制目录大小优点:方便灵活,适用性强。但具体的性能如何,没有测试 
限制目录大小缺点:在建立之初就占相应大小的磁盘空间

大家可以根据自己的情况,来选择适合自己的方法!

linux系统的磁盘空间限制的两种方法的更多相关文章

  1. Linux下查看alert日志文件的两种方法

    --linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

  2. [ARM-Linux开发]Linux下加载.ko驱动模块的两种方法:insmod与modprobe

    假设要加载的驱动程序模块名为SHT21.ko 加载驱动模块 方法一:  进入SHT21.ko驱动模块文件所在的目录,然后直接  insmod SHT21.ko  即可 方法二:  将SHT21.ko文 ...

  3. windows和linux之间上传下载文件的两种方法

    一    用rz和sz http://blog.csdn.net/register_man/article/details/53860774 http://www.jb51.net/article/7 ...

  4. Linux设置环境变量PATH路径的两种方法

    echo 'export dataPath=$HOME/data/pre' >> ~/.bash_profile 路径即刻生效: . .bash_profile 或 source .bas ...

  5. LINUX下添加磁盘空间的方法详解

    给Linux系统添加磁盘空间在工作会经常遇到. 在添加第二块磁盘一般系统默认为hdb(IDE硬盘)sdb(SCSI 硬盘),以hdb为例. linux-isep:~ # fdisk /dev/hdb ...

  6. Linux上安装Perl模块的两种方法

    Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载  您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...

  7. PyQt(Python+Qt)学习随笔:QTableWidget中表格各列平均分配宽度的两种方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在QTableWidget表格部件中,如果需要实现表格中各列要占满部件中的可用空间,同时实现各列平分 ...

  8. linux系统查看磁盘分区使用空间

    Df命令是linux系统以磁盘分区使用空间:df -hl

  9. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

随机推荐

  1. java上传图片剪切工具类

    package com.up.util; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io. ...

  2. Python 项目实践一(外星人入侵小游戏)第三篇

    今天是圣诞节,公司放假一天,趁着有空,学习了一下午,多写一篇博客吧! 接着上节的继续学习, 一 重构:模块game_functions 在大型项目中,经常需要在添加新代码前重构既有代码.重构旨在简化既 ...

  3. mysql 常用sql语句 一

    创建数据库 create database if not exists wsp_test default charset utf8 collate utf8_general_ci 使用数据库 use ...

  4. 主次设备号 Device Major and Minor Numbers

    对于一个设备文件而言真正重要的标志是它的主次设备号(major and minor device numbers).如果我们用ls命令列出/dev下的一个设备: frank@under:~$ ls - ...

  5. [UWP]了解模板化控件(10):原则与技巧

    1. 原则 推荐以符合以下原则的方式编写模板化控件: 选择合适的父类:选择合适的父类可以节省大量的工作,从UWP自带的控件中选择父类是最安全的做法,通常的选择是Control.ContentContr ...

  6. rabbitmq配置镜像模式

    学习是spring cloud的时候用到了rabbitmq,在实际项目中也用到了,镜像模式是集群的基础上面配置的,就多了一个数据同步,rabbitmq存储消息用的是cookie,配置之前先同步cook ...

  7. DataBase MongoDB高级知识-易使用

    MongoDB高级知识-易使用 mongodb是一个面向文档的数据库,而不是关系型数据库.不采用关系模型主要是为了获取更好的扩展性.当然还有其他的一些好处. 与关系型数据库相比,面向文档的数据库不再有 ...

  8. sqlserver 存储过程 游标实例

    if exists(select * from sysobjects where id = object_id(N'dbo.test_cursor') and type = 'P') drop PRO ...

  9. iOS 如何优化 App 的启动时间

    App 运行理论 main() 执行前发生的事 Mach-O 格式 虚拟内存基础 Mach-O 二进制的加载 理论速成 Mach-O 术语 Mach-O 是针对不同运行时可执行文件的文件类型. 文件类 ...

  10. echarts中如何使用timeline组件

    1.吃碗面 这里关于echarts3 官网的示例我不得不吐槽一下,逼格真高!一小部分示例动不动数据就是国家统计局搞出来的,你脸真大.当然他们做的示例的确是很好,这一点毫无疑问.当我看了echarts3 ...