歡迎您光臨本站 註冊首頁

linux磁碟配額

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
以 / 分區為例) 1、編輯fstab
#vi /etc/fstab
選擇分區,將defaults選項改為:「defaults,usrquota,grpquota」(針對用戶和組做磁碟配額)或「defaults,usrquota"(針對用戶做磁碟配額 )或"defaults,grpquota"(針對組做磁碟配額) 2、重新掛載文件系統:
#mount -o remount / 3、創建配額文件
#quotacheck -cmug / (此處為對根目錄做磁碟配額)
ls /aquota.* (查看剛建立的配額文件)
/aquota.group /aquota.user 4、創建帳戶
#useradd zhangsan
#passwd zhangsan
5.logout註銷root,用zhangsan登陸
此舉是用普通用戶登陸,用戶在登陸時產生的模板要佔用一些空間,看到這些,然後再設置配額比較好
然後logout zhangsan,用root登陸 對用戶進行配額 6、配額設置
#edquota -u zhangsan (-u,對用戶;-g,對組)
Disk quotas for user zhangsan (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 0 0 0 0 0 0
(其中:blocks,已用磁碟空間;soft,磁碟空間軟限制,hard:磁碟空間硬限制;
inodes: 已寫多少個文件;soft:磁碟文件數量軟限制;hard:磁碟文件數量硬限制)

#edquota -t (編輯配額寬限時間,默認7days )
7.開啟quota
quotaon -avug 開啟
quotaoff -avug 關閉
8查看磁碟配額情況
#quota -u zhangsan
徹底刪除用戶 userdel -r 用戶名
重啟時啟動quota
vi /etc/rc.d/rc.local
裡面最后一行添上
/sbin/quota -aug 注意:windows的磁碟配額只針對用戶,是容量上的
Linux的磁碟配額不但針對用戶,還能針對組來做.同時,不但可以做容量上的限制,還可以做文件數量上的限制.


查看新硬碟
[root@localhost ~]# fdisk -l Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 78 522112 82 Linux swap / Solaris
/dev/sda3 79 1044 7759395 83 Linux Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdb doesn't contain a valid partition table Disk /dev/sdc: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/sdc doesn't contain a valid partition table
把第一塊新硬碟 轉化為pv
[root@localhost ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
查看PV
[root@localhost ~]# pvdisplay
/dev/hdc: open failed: No medium found
--- NEW Physical volume ---
PV Name /dev/sdb
VG Name
PV Size 20.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID iC7CD3-J1qd-Lz2c-Cri6-t5Vo-uQZf-KfMhZF 創建一個名為NEWGV的GV
[root@localhost ~]# vgcreate newvg /dev/sdb
Volume group "newvg" successfully created
創建一個名字為home的邏輯卷
[root@localhost ~]# lvcreate -L 19g –n home newvg
Logical volume "home」ated
格式化home的邏輯卷
[root@localhost ~]# mkfs -t ext3 /dev/newvg/home
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)


2490368 inodes, 4980736 blocks
249036 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
152 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000 Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
掛載home分區到/mnt下
[root@localhost ~]# mount /dev/newvg/home /mnt/
開機自動掛載並檢查
[root@localhost ~]# vim /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
/dev/newvg/home /home ext3 defaults,usrquota,grpquota 0 1
~
~
~
:wq
保持許可權複製/home 下的文件到 新的分區
[root@localhost ~]# cp -a /home/* /mnt/
刪除/home 下所有文件
[root@localhost mnt]# rm -rf /home/*
重新掛載
[root@localhost home]# umount /mnt/
[root@localhost home]# mount /dev/newvg/home /home/
重新掛載開啟磁碟配額
[root@localhost home]# mount -o uerquota,grpquota,remount /dev/newvg/home
mount: /home not mounted already, or bad option


開啟磁碟配額
[root@localhost home]#mount –o usrquota,grpquota /dev/newvg/home
重新生成配額文件
[root@localhost home]# quotacheck -cuvg /home
quotacheck: Scanning /dev/mapper/newvg-home [/home] quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
done
quotacheck: Checked 4 directories and 6 files
quotacheck: Old file not found.
[root@localhost home]# ls -l
total 36
-rw------- 1 root root 7168 Feb 21 02:02 aquota.group
-rw------- 1 root root 7168 Feb 21 02:02 aquota.user
drwx------ 2 root root 16384 Feb 21 01:28 lost found
drwx------ 2 redhat redhat 4096 Aug 17 2008 redhat
創建用戶並設置密碼
[root@localhost home]# useradd yueyang
[root@localhost home]# passwd yueyang
Changing password for user yueyang.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
設置對用戶yueyang的配額
[root@localhost home]# edquota -u yueyang
Disk quotas for user yueyang (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/newvg-home 0 4000000 5000000 0 40000 50000
~
~
~
~
~:wq
將第二塊磁碟轉化為pv
[root@localhost home]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
將新硬碟添加到newvg這個vg里
[root@localhost home]# vgextend newvg /dev/sdc
Volume group "newvg" successfully extended
添加/home邏輯卷的大小
[root@localhost home]# lvextend -L 10g /dev/newvg/home
Extending logical volume home to 29.00 GB
Logical volume home successfully resized
在線更新邏輯卷大小
[root@localhost home]# resize2fs /dev/newvg/home


resize2fs 1.39 (29-May-2006)
Filesystem at /dev/newvg/home is mounted /home; -line resizing required
Performing an -line resize of /dev/newvg/home to 7602176 (4k) blocks.
The filesystem /dev/newvg/home is now 7602176 blocks long. 查看
[root@localhost home]# df -h /home/
Filesystem Size Used Avail Use% Mounted
/dev/mapper/newvg-home
29G 173M 27G 1% /home 你是不是想在跟分區做配額?這樣是可以的. ,你要修改你的/etc/fstab文件: LABEL=/ / ext3 defaults 1 1 改為: LABEL=/ / ext3 defaults,usrquota 1 1 或者改為: LABEL=/ / ext3 defaults,grpquota 1 1 usrquota是基於用戶的磁碟配額,grpquota是基於組的磁碟配額,怎麼改就看你需要了. 之後你或者重新啟動一下,或者remount一下(mount -o remount / . 第二,在 / 中建立aquota.user或aquota.grup,這兩個文件要建立在你要實現配額的頂級目錄,所謂定級目錄,就是 ̄ ̄咋解釋呢?就是比如你要在 / 上實現配額,就要在 / 下建立aquota.user或者aquota.grup;如果你要在/home上實現配額(當然你的/home應該是一個獨立的磁碟分區),就在 /home下建立這兩個文件中的一個.用touch命令建立就可以了,touch aquota.user 或aquota.srup.但這時建立好的文件是空的,不符和系統的需要.執行下一步. 第三,用quotacheck -mc / 將這兩個文件(aquota.user或aquota.grup)格式化. 注意一下,除非是/分區,一般不用加-m參數,比如你要在/home上實現配額(當然你的/home應該是一個獨立的磁碟分區)就:quotacheck -c /home 就可以了. -m的意思是強迫在「讀、寫」模式下檢查硬碟的配額. 第四,quotaon / 啟動磁碟配額. 第五,edquota 用戶名/組名 設置用戶/組的配額 例如:edquota user_name edquota -g group_name (對於用戶組) 執行後會打開一個vi編輯窗口.可以設置磁碟空間和節點數目的配額.其中soft只是起到警告的作用,並不會真正的限制用戶/組.hard就會強制限制用戶/組的磁碟空間和節點數目了. 第六,設定soft quota和hard quota之間的時間: edquota -t 出現一個 vi 窗口: Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/hda7 7days 7days 按照自己的需要修改吧.重新啟動就可以了.磁碟限額就生效了. 第七,如果要成批的複製相同的磁碟配額給不通用戶: edquota -p user user1 user2 user3 edquota -g -p group group1 group2 group3 第八,取消磁碟限額: quotaoff / 此文為整理而來



磁碟配合可以針對單獨用戶進行配置,也可以針對用戶組進行配置,配置的策略也比較靈活,既可以限制佔用的磁碟空間,也可以限制文件的數量.

要實現磁碟配額,必須在系統中安裝quota軟體包
rpm –qa | grep quota

對磁碟配額的限制一般是從一個用戶佔用磁碟空間和最多文件數量,在某個寬限範圍內可以暫時超過這個限制

軟限制:一個用戶在文件系統可擁有的最大磁碟空間和最多文件數量,在某個寬限範圍內可以暫時超過這個限制.

硬限制:一個用戶可擁有的磁碟空間或文件的絕對數量,絕對不允許超過這個限制.

對用戶進行配額:在quota 中設置對指定用戶的磁碟空間限制和文件數限制,配額只對該用戶起作用.

對用戶組進行配額:在quota 中設置對指定用戶組的磁碟空間限制和文件數限制,配額將對組中的所有用戶進行整體限制.

設置磁碟配額通常需要4步

第一 修改/etc/fstab 文件中的裝載設置,在需要配置quota的分區裝載設置中添加 usrquota
grpqutoa 選項,usrquota 選擇設置可以對系統中的用戶進行限額,grpquota 選項設置可以對系統中的組進行限額.

第二 重新掛載文件系統 最簡單的方法就是 reboot

第三 使用 quotacheck -cug 建立磁碟配額文件 . 如果你要對 / 目錄建立磁碟配額.那需加參數 –m qutoacheck –cmug 來建立磁碟配額文件 aquota.user aquota.group.有時老的系統中可能為 quota.user quota.group 文件.

第四 使用 edquota 對用戶或組設置磁碟配額

試驗 : VMware 下的 RedHat 9

1 掛載一塊新的IDE硬碟 ,原來的為 SCSI用盤.運來硬碟設備號為 /dev/sda .加入新的IDE硬碟設備號為 /dev/had.



2 啟動使用 fdisk 分區新的硬碟 fdisk /dev/had , m for help , n add a new partition 自己分配硬碟的分區.

3 mkfs 格式化分區.(擴展分區不需要格式化)mkfs.ext3 mkfs.vfat
4 修改 /etc/fstab 文件 .把需要做磁碟配額的分區的參數欄位加上兩個參數 usrquota,grpquota

5 mount –a 重新掛載 /etc/fstab

6 在掛載的分區中執行 quotacheck –cug 創建 aquota.qroup aquota.user 文件

7 在分區中使用 edquota –u or –g 對 user 或 group 做配額

8 在分區中使用 edquota –t 對 警告時間做修改

9 在分區中使用 repquota 查看user 的磁碟配合情況.使用 –g 查看group 的磁碟配額情況

相關命令與參數

quota [-guvs] [user,group]

-g 顯示群組
-u 顯示用戶
-v 顯示quota的值
-s 顯示inod或硬碟空間

quota –guvs 顯示所有用戶和組在所有做磁碟配額的分區上的quota 情況

quota –uvs test 顯示 test 用戶的quota值

quotacheck [-auvgm]

-g 掃描組的文件和目錄
-u 掃描用戶的文件和目錄
-v 顯示掃描過程
-a 掃描/etc/mtab 中所有已經安裝並支持quota 的硬碟
-m 對/ 目錄做配額時使用

當使用quotacheck 時,該磁碟分區將自動被設成只讀扇區:掃描完畢之後,掃描所得
的磁碟空間結果會寫入扇區的最頂端.

edquota
-u 編輯user的quota
-g 編輯 group 的quota
-t 編輯寬限時間
-p 複製模板到另一個用戶

edquota –p user_mode –u test

edqutoa –t
days, hours, minutes,or seconds

quotaon [-a][-ugv]

-a 啟動所有的quota設定
-u 激活用戶的quota


-g 激活組的quota
-v 顯示信息

quotaoff -a

-a 關閉所有的quota 設定

相比windows 的磁碟配合.都是以分區為單位的.也都可以設置關於用戶和組的配合限制.但是linux root也受到配額的限制.這個跟windows 中的adiministrator 是不同的.administrator 是沒有配額限制的.
quota 真正讀取的是/etc/mtab

quotaon -av 開啟

edquota -p test test2 配額配置的複製

mkdir /home/mail
chown root.mail /home/mail
chmod 775 /home/mail

cp -r /var/spool/mail /var/spool/mail.back
mv /var/spool/mail/* /home/mail
rmdir /var/spool/mail

ln -s /home/mail /var/spool/mail


[火星人 ] linux磁碟配額已經有630次圍觀

http://coctec.com/docs/linux/show-post-51804.html