2010年11月9日星期二

Open SuSe Linux 10磁盘限额设置

操作系统版本:
suse10:/ # cat /etc/SuSE-release
openSUSE 10.2 (i586)
VERSION = 10.2
suse10:/ # uname -a
Linux suse10 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 athlon i386 GNU/Linux
1、检查系统是否安装quota包suse10:/ # rpm -qa | grep quota
suse10:/ #
查询无任何输出,表示系统未安装。
2、安装quota包suse10:/tmp # ls -l quota*
-rwxr-xr-x 1 root root 270080 Aug 17 14:33 quota-3.13-17.i586.rpm
suse10:/tmp # rpm -ivh quota-3.13-17.i586.rpm
Preparing...                ########################################### [100%]
   1:quota                  ########################################### [100%]
3、再次检查系统是否成功安装quota包
suse10:/tmp # rpm -qa | grep quota
quota-3.13-17
有“quota-3.13-17”输出,表示quota包安装成功。
4、设置需要做用户/组磁盘限额的文件系统
编辑/etc/fstab文件,对用户进行限制,添加usrquota,对组进行限制,添加grpquota。如下红色部分

suse10:/ # cat /etc/fstab
/dev/system_vg/root_lv /                    ext3       acl,user_xattr        1 1
/dev/hda1              /boot                ext3       acl,user_xattr        1 2
/dev/system_vg/home_lv /home                ext3       acl,user_xattr,usrquota,grpquota        1 2
/dev/system_vg/tmp_lv  /tmp                 ext3       acl,user_xattr        1 2
/dev/system_vg/usr_lv  /usr                 ext3       acl,user_xattr        1 2
/dev/system_vg/swap_lv swap                 swap       defaults              0 0
proc                   /proc                proc       defaults              0 0
sysfs                  /sys                 sysfs      noauto                0 0
debugfs                /sys/kernel/debug    debugfs    noauto                0 0
usbfs                  /proc/bus/usb        usbfs      noauto                0 0
devpts                 /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/data_vg/informix_lv /informix          ext3       acl,user_xattr        1 2
/dev/data_vg/oracle_lv /oracle              ext3       acl,user_xattr        1 2
5、重新mount文件系统
对启用磁盘限额的文件系统重新加载:

suse10:/ # mount -o remount /home
回车后如无任何信息,表示重新加载成功。
6、为启用磁盘限额的文件系统创建限额文件
suse10:/ # quotacheck -gumv /home
quotacheck: Scanning /dev/mapper/system_vg-home_lv [/home] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 3210 directories and 8310 files
quotacheck: Old file not found.
quotacheck: Old file not found.
-g参数:扫描磁盘空间时,计算每个组标识符(GID)所占用的目录和文件数目;
-u参数:扫描磁盘空间时,计算每个用户标识符(UID)所占用的目录和文件数目;
-v参数:标识命令执行过程。
-m参数:强制执行命令。
此时会在/home文件系统根目录下自动生成两个文件:aquota.user和aquota.group
suse10:/ # ls -l /home/aquota.*-rw------- 1 root root 8192 Aug 17 22:18 /home/aquota.group
-rw------- 1 root root 8192 Aug 17 22:18 /home/aquota.user
7、开启磁盘限额
suse10:/ # quotaon -augv
/dev/mapper/system_vg-home_lv [/home]: group quotas turned on
/dev/mapper/system_vg-home_lv [/home]: user quotas turned on
-a参数:开启在/ect/fstab文件里,有加入quota设置的分区的空间限制;
-g参数:开启群组的磁盘空间限制;
-u参数:开启用户的磁盘空间限制;
-v参数:显示指令指令执行过程。

8、编辑用户/组的磁盘限额大小(本文以oracle1用户为例,组配置过程类似,本文不列出)
suse10:/ #edquota -u oracle1回车后会调用vi编辑,如下:
Disk quotas for user oracle1 (uid 2002):
  Filesystem                       blocks       soft       hard     inodes     soft     hard
  /dev/mapper/system_vg-home_lv    1886624      0          0        3880       0        0
说明:
Filessystem:表示当前启用磁盘限额的文件系统名称;
blocks:表示当前用户已使用块数量大小;
soft:表示软限制(非强制性限制)磁盘空间大小,单位为KBytes;
hard:表示硬限制(强制性限制)磁盘空间大小,单位为KBytes;
inodes:表示当前用户已使用文件个数;
soft:表示软限制(非强制性限制)文件个数;
hard:表示硬限制(强制性限制)文件个数。
“0”表示没有不限制,把想要设置的数值填入对应项保存退出。

9、查看某个用户的磁盘限额情况
suse10:/ # quota -u oracle1
Disk quotas for user oracle1 (uid 2002):
Filesystem                      blocks   quota   limit   grace   files   quota   limit   grace
/dev/mapper/system_vg-home_lv   1886624  4194304 4200000         3880   10000   11000
说明:查看某个组的磁盘限额情况使用-g参数。
10、查看某个文件系统的磁盘限额(包括用户和组限额)
suse10:/ # repquota -ugv /home
*** Report for user quotas on device /dev/mapper/system_vg-home_lv
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 1027760       0       0           2444     0     0      
metal     --    3068       0       0            656     0     0      
informix  --  599128       0       0           2076     0     0      
oracle    --  701152       0       0           2437     0     0      
oinstall  --     116       0       0             25     0     0      
oracle1   -- 1886624 4194304 4200000           3880 10000 11000      
Statistics:
Total blocks: 8
Data blocks: 1
Entries: 6
Used average: 6.000000
*** Report for group quotas on device /dev/mapper/system_vg-home_lv
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 1003900       0       0           2449     0     0      
users     --    3068       0       0            656     0     0      
informix  --  623104       0       0           2096     0     0      
oinstall  -- 2587776       0       0           6317     0     0      
Statistics:
Total blocks: 8
Data blocks: 1
Entries: 4
Used average: 4.000000
11、编辑宽限时间
suse10:/ #edquota -tGrace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem                        ock grace period     Inode grace period
/dev/mapper/system_vg-home_lv     7days                7days
系统缺省是7天,可改成你实际需要的值保存后退出即可。
特别要说明的是,当实际使用的空间未超过软(soft)限制,宽限(grace)时间是不会出现在quota -u username输出中的。

没有评论:

发表评论