真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux入門之磁盤管理(6)磁盤配額

Linux入門之磁盤管理(6)磁盤配額

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了棗強免費建站歡迎大家使用!

在linux中使用向磁盤中存入數(shù)據(jù)時,如果有多個用戶對同個磁盤進(jìn)行操作,其中一個用戶放了很大數(shù)據(jù)的文件導(dǎo)致硬盤容量用光,那么其他用戶將無法再存入數(shù)據(jù),這時就需要對每個用戶進(jìn)行存入數(shù)據(jù)大小的限制,linux中提供了一種磁盤配額的功能來實現(xiàn)。

 

初始化:

添加分區(qū)掛載選項:usrquota、grpquota

初始化數(shù)據(jù)庫:quotacheck 命令

使用命令

開啟或取消配額:quotaon、quotaoff

直接編譯配額:edquota  [username]

 

案例說明:

創(chuàng)建配額數(shù)據(jù)庫

#/home目錄會存放不同用戶的文件,大小會相互受影響,因此需要將/home目錄變成分區(qū),這里準(zhǔn)備好一個創(chuàng)建好文件系統(tǒng)的分區(qū)。

[root@mzf ~]# blkid /dev/sda5
/dev/sda5: LABEL="myhome" UUID="97f71277-7b31-4bb6-ae0f-949cf8c18e6f" TYPE="ext4"

#對其進(jìn)行掛載使用

[root@mzf ~]# mkdir /mnt/myhome
[root@mzf ~]# mount  /dev/sda5  /mnt/myhome/
[root@mzf ~]# df | grep 'myhome'
/dev/sda5             2004852    3096   1896584   1% /mnt/myhome

#先將/home下文件的文件進(jìn)行遷移

[root@mzf ~]# ls /home/
hadoop  mzf  tom  u1  u2
[root@mzf ~]# mv /home/* /mnt/myhome/
[root@mzf ~]# ls /mnt/myhome/
hadoop  lost+found  mzf  tom  u1  u2

#然后將/dev/sda5再次掛載到/home目錄下,并添加用戶和組的磁盤配額功能

[root@mzf ~]# mount -L myhome -o usrquota,grpquota /home/
[root@mzf ~]# df | grep 'home'
/dev/sda5             2004852    3288   1896392   1% /mnt/myhome
/dev/sda5             2004852    3288   1896392   1% /home

#卸載掉在/mnt/myhome下的掛載點

[root@mzf ~]# umount /mnt/myhome/

#這里我們再次掛載指定的用戶磁盤配額和組磁盤配合選項以及添加

[root@mzf ~]# mount | grep 'home'
/dev/sda5 on /home type ext4 (rw,usrquota,grpquota)

#當(dāng)然也可以寫入/etc/fstab文件進(jìn)行重新掛載。如,加入內(nèi)容:

[root@mzf home]# cat /etc/fstab | grep '/home'

Linux入門之磁盤管理(6)磁盤配額 

#然后檢查分區(qū)并創(chuàng)建配額數(shù)據(jù)庫文件

[root@mzf home]# quotacheck -cgu /dev/sda5
quotacheck: Cannot create new quotafile /home/aquota.user.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied
quotacheck: Cannot create new quotafile /home/aquota.group.new: Permission denied
quotacheck: Cannot initialize IO on new quotafile: Permission denied

解析:這里提示沒有權(quán)限,可能是linux內(nèi)核中默認(rèn)開啟的selinux安全機(jī)制控制導(dǎo)致的,這里我們可以先將其關(guān)閉:

#查看當(dāng)前setlinux是否開啟

[root@mzf home]# getenforce
Enforcing#表示已經(jīng)啟用
[root@mzf home]# setenforce 0          #設(shè)置參數(shù)為0表示禁用
[root@mzf home]# getenforce          #再次查看已經(jīng)顯示為禁用
Permissive

#再次進(jìn)行磁盤配額數(shù)據(jù)庫文件創(chuàng)建

[root@mzf home]# quotacheck -cug /dev/sda5

#查看指定分區(qū)單獨掛載點目錄下是否生成了磁盤配額數(shù)據(jù)庫文件

[root@mzf home]# ls /home  | grep '^aquota\.\<\(user\|group\)\>' 
aquota.group
aquota.user

說明:如果要開啟磁盤配額,內(nèi)核模塊必須檢查該掛載點中是否有磁盤配額數(shù)據(jù)庫文件的存在,否則無法開啟或設(shè)置成功。

 

啟用磁盤配額:

#開啟指定分區(qū)的磁盤配額

[root@mzf home]# quotaon /dev/sda5

#添加默認(rèn)磁盤配額成員

[root@mzf home]# edquota -p mzf tom hadoop

#設(shè)置指定成員配額

[root@mzf home]# edquota hadoop

#進(jìn)入vim編輯界面

Linux入門之磁盤管理(6)磁盤配額 

解析:其中第一行表示為哪個用戶設(shè)置磁盤配額,下面分為多列,第一列為指定的文件系統(tǒng),后面6列每3列為一組,blocks表示已經(jīng)存放的文件大小,默認(rèn)為k,indodes表示為已經(jīng)創(chuàng)建了多少個文件,soft表示為軟限制,存放大小超過soft指定將出現(xiàn)警報,hard為硬限制,如果達(dá)到此限制,將無法再次寫入數(shù)據(jù)。

#按文件所占大小設(shè)置配額,軟限制為5M,硬限制為10M

Linux入門之磁盤管理(6)磁盤配額 

#切換到設(shè)置配額的成員hadoop用戶

[root@mzf home]# su - hadoop

#此目錄已經(jīng)用了64K,這里我們添加 5M數(shù)據(jù)

[hadoop@mzf ~]$ dd if=/dev/zero of=/home/hadoop/temp.log bs=5M  count=1
sda5: warning, user block quota exceeded.
1+0 records in
1+0 records out
5242880 bytes (5.2 MB) copied, 0.130323 s, 40.2 MB/s

注意:這里soft已經(jīng)超過,開始了警報,顯示用戶塊數(shù)據(jù)配額,但是如果使用echo進(jìn)行一些小規(guī)模數(shù)據(jù)追加,磁盤配額是不會警報的:

#顯示出文件多少個字節(jié)

[hadoop@mzf ~]$ ls -l /home/hadoop/temp.log 
-rw-rw-r--. 1 hadoop hadoop 5242912 Aug 17 23:51 /home/hadoop/temp.log

#追加字節(jié)

[hadoop@mzf ~]$ echo "***************" >> /home/hadoop/temp.log

#再次顯示大小已經(jīng)增加,但是磁盤配額沒有警報

[hadoop@mzf ~]$ ls -l /home/hadoop/temp.log 
-rw-rw-r--. 1 hadoop hadoop 5242928 Aug 17 23:51 /home/hadoop/temp.log

解析:如果再用dd命令對temp.log文件寫入5M是無法寫入的,那么再寫一個5M的新文件進(jìn)行測試:

#再創(chuàng)建一個5M,那么應(yīng)該已經(jīng)達(dá)到了10M

[hadoop@mzf ~]$ dd if=/dev/zero of=/home/hadoop/temp2.log bs=5M  count=1
sda5: write failed, user block limit reached.
dd: writing `/home/hadoop/temp2.log': Disk quota exceeded
1+0 records in
0+0 records out
5185536 bytes (5.2 MB) copied, 0.00903 s, 574 MB/s

解析:這里已經(jīng)顯示了寫入數(shù)據(jù)錯誤,數(shù)據(jù)塊配額已經(jīng)被使用完

#這時寫入一個字節(jié)內(nèi)容的文件都寫入不了了。

[hadoop@mzf ~]$ echo "1" > file1
-bash: echo: write error: Disk quota exceeded

 

其它磁盤配額管理工具

quota   查看配額信息

[root@mzf home]# quota hadoop
Disk quotas for user hadoop (uid 502): 
    Filesystem  blocks  quota  limit  grace  files  quota  limit  grace
   /dev/sda5   10240*  5120   10240  6days   17   0    0

解析:grace表示為寬限期,及文件大小到到soft指定大小6天后,soft將變成硬限制,將再也無法創(chuàng)建文件和寫入數(shù)據(jù)了。

requota  #查看指定信息

warnquota  #檢查警告

 


當(dāng)前題目:Linux入門之磁盤管理(6)磁盤配額
文章起源:http://weahome.cn/article/ipchid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部