linux之磁碟配額(quota)

来源:https://www.cnblogs.com/cn-leoblog/archive/2022/05/25/16311448.html
-Advertisement-
Play Games

1.什麼是quota 簡單的說就是限制用戶對磁碟空間的使用量。 因為Linux是多用戶多任務的操作系統,許多人共用磁碟空間,為了合理的分配磁碟空間,於是就有了quota的出現。 2.quota的用途 顯示磁碟使用情況和配額 3.quota的一般作用對象 (1)針對WWW server (2)針對ma ...


1.什麼是quota

  簡單的說就是限制用戶對磁碟空間的使用量。

  因為Linux是多用戶多任務的操作系統,許多人共用磁碟空間,為了合理的分配磁碟空間,於是就有了quota的出現。

2.quota的用途
顯示磁碟使用情況和配額
3.quota的一般作用對象
(1)針對WWW server
(2)針對mail server
(3)針對file server
4.quota的限制
(1)僅能針對整個文件系統
(2)需要kernel的支持
(3)只對一般用戶有效
5.quota的使用

  測試環境

    RHEL6.6(預設kernel已經支持quota功能)

    /dev/sdb1  供測試的文件系統

    用戶組   myquota

    用戶   quota1,quota2

  具體操作如下

    (1)重新掛/dev/sdb1文件系統,並添加usrquota,grpquota參數

    [root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1

    重新掛載後,/dev/sdb1這個分區就支持quota功能了

    [root@localhost ~]# mount | grep /dev/sdb1
    /dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota)

    (2)添加用戶組和用戶

    [root@localhost ~]# groupadd myquota
    [root@localhost ~]# useradd -g myquota quota1
    [root@localhost ~]# useradd -g myquota quota2
    

    (3)生成quota配置文件

    [root@localhost ~]# cd /mnt/test/

    [root@localhost test]# quotacheck -ug .

    [root@localhost test]# ls
    aquota.group aquota.user lost+found 生成quota配置文件
    (4)啟動quota功能

    [root@localhost test]# quotaon /dev/sdb1
    若要關閉 使用quotaoff命令

    (5)修改quota配置文件

   
    配置文件內容如下
     Filesystem blocks soft hard inodes soft hard
    /dev/sdb1 0 0 0 0 0 0

    需要修改的是soft/hard的值,單位是KB,soft為警告值,hard為最大值,當磁碟使用量在soft-hard之間,就會發出警告(預設倒計時7天),若超過警告時間,磁碟使用量依然在soft-hard 之間,則會禁止使用磁碟空間。

    若修改blocks的soft/hard表示規定用戶可以使用的磁碟空間大小(一般都是規定磁碟使用量)

    若修改的是inodes的 soft/hard值,表示規定用戶可以創建的文件個數. 

 

    [root@localhost test]# edquota -u quota1    -->修改針對quota1用戶的配置        

    Disk quotas for user quota1 (uid 500):
      Filesystem                   blocks          soft            hard         inodes      soft     hard
      /dev/sdb1                         0          100000       200000           0            0          0

    [root@localhost test]# edquota -u quota2    -->修改針對quota2用戶的配置

    Disk quotas for user quota2 (uid 501):
      Filesystem                   blocks       soft               hard        inodes     soft     hard
      /dev/sdb1                     0             100000        200000          0             0        0
  

    [root@localhost test]# edquota -g myquota  -->修改針對myquota組的配置

    Disk quotas for group myquota (gid 500):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                    251200     100000     300000          3        0        0    

   這樣配置表示quota1,quota2用戶最多使用200M的磁碟空間,超過100M就發出警告併進入倒計時,而myquota組最多使用300M的磁碟空間。也就是說,雖然quota1,quota2都有200M的最大磁碟空間能使用許可權,但他們都屬於myquota組,他們的總量不得超過300M.

    修改許可權

    [root@localhost test]# chmod 777 .
    [root@localhost test]# ll -d
    drwxrwxrwx. 3 root root 4096 8月 23 09:36 .
    切換quota1用戶,進行測試

    [root@localhost test]# su quota1
    [quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150
    sdb1: warning, user block quota exceeded. -->警告
    記錄了150+0 的讀入
    記錄了150+0 的寫出
    157286400位元組(157 MB)已複製,1.02545 秒,153 MB/秒

    再寫入一個大文件

    [quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150
    sdb1: write failed, user block limit reached.
    dd: 正在寫入"bigfile2": 超出磁碟限額   -->超過200M的部分就無法寫入了
    記錄了46+0 的讀入
    記錄了45+0 的寫出
    47513600位元組(48 MB)已複製,0.381467 秒,125 MB/秒

    切換quota2用戶

    [root@localhost test]# su quota2
    [quota2@localhost test]$ ls
    aquota.group  aquota.user  bigfile1  bigfile2  lost+found
    [quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50

    記錄了50+0 的讀入
    記錄了50+0 的寫出
    52428800位元組(52 MB)已複製,0.410838 秒,128 MB/秒

    修改警告時間

    [root@localhost test]$ edquota -t

    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/sdb1                     7days                          7days

    

    查看quota1的quota信息

    [quota1@localhost test]$ quota -u quota1
    Disk quotas for user quota1 (uid 500):
       Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  200000* 100000  200000   6days       2       0       0          -->已經進入警告的倒計時了

    

    查詢quota2的quota信息

    [root@localhost test]# quota -u quota2
    Disk quotas for user quota2 (uid 501):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
        /dev/sdb1   51200  100000  200000               1       0       0     

    查詢myquota組的quota信息

    [root@localhost test]# quota -g myquota
    Disk quotas for group myquota (gid 500):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  251200* 100000  300000   6days       3       0       0 

    總結:

       quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem

         -a   檢查所有/etc/mtab中掛在的文件系統

         -u  只檢查用戶的quota

         -g  只檢查用戶組的quota

      quota

        不使用任何參數,查詢當前用戶的quota信息

        -u username  查詢某用戶的quota信息

        -g groupname  查詢某用戶組的quota信息

      edquota

        -u username   編輯某用戶的quota配置

        -g groupname  編輯某用戶組的quota配置

        -t        編輯警告時間的配置

    

      還有一個綜合查詢命令是

      repquota

         -a 報告所有支持quota的文件系統

         -u 報告針對user的quota信息

         -g 包裹針對group的quota信息

      一般三個參數一起使用

            [root@localhost test]# repquota -aug
       *** Report for user quotas on device /dev/sdb1
       Block grace time: 7days; Inode grace time: 7days
                         Block limits                File limits
       User            used    soft    hard  grace    used  soft  hard  grace
       ----------------------------------------------------------------------
       root      --      20       0       0              2     0     0       
       quota1    +-  200000  100000  200000  6days       2     0     0       
       quota2    --   51200       0       0              1     0     0       


       *** Report for group quotas on device /dev/sdb1
       Block grace time: 7days; Inode grace time: 7days
                         Block limits                File limits
       Group           used    soft    hard  grace    used  soft  hard  grace
       ----------------------------------------------------------------------
       root      --      20       0       0              2     0     0       
       myquota   +-  251200  100000  300000  7days       3     0     0   


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在Java 9中又新增了一些API來幫助便捷的創建不可變集合,以減少代碼複雜度。 本期配套視頻:Java 9 新特性:快速定義不可變集合 常規寫法 以往我們創建一些不可變集合的時候,通常是這樣寫的: // 不可變的Set Set<String> set = new HashSet<>(); set. ...
  • 反向代理(2022/03/31) 簡單記錄 Nginx 反向代理相關的一些配置文件,描述不足之處請自行查閱相關資料。 1. HTTP 配置 upstream web { server domain.com:80; } server { # 監聽 tcp4 listen 80; # 監聽 tcp6 l ...
  • 爬蟲代理 IP 池及隧道代理 日常開發中,偶爾會遇到爬取網頁數據的需求,為了隱藏本機真實 IP,常常會用到代理 IP 池,本文將基於 openresty 與代理 IP 池搭建更為易用的隧道代理。 1. 代理 IP 池 1.1 簡介 代理 IP 池即在資料庫中維護一個可用的 IP 代理隊列,一般實現思 ...
  • 來源:www.cnblogs.com/keyyang/p/4128424.html 我們可能經常會用到 Thread.Sleep 函數來使線程掛起一段時間。那麼你有沒有正確的理解這個函數的用法呢?思考下麵這兩個問題: 假設現在是 2008-4-7 12:00:00.000,如果我調用一下 Threa ...
  • 1.Docker基本介紹? Docker就是虛擬化的一種輕量級替代技術,基於Go語言的開源應用容器引擎。Docker的容器技術不依賴任何語言、框架或系統,可以將應用程式變成一種標準化的、可移植的、自管理的組件,並脫離伺服器硬體在任何主流系統中開發、調試和運行。 光看這個介紹還不足以知道Docker是 ...
  • 在基於SqlSugar的開發框架中,我們設計了一些系統服務層的基類,在基類中會有很多涉及到相關的數據處理操作的,如果需要跟蹤具體是那個用戶進行操作的,那麼就需要獲得當前用戶的身份信息,包括在Web API的控制器中也是一樣,需要獲得對應的用戶身份信息,才能進行相關的身份鑒別和處理操作。本篇隨筆介紹基... ...
  • 在前面隨筆,我們介紹過這個基於SqlSugar的開發框架,我們區分Interface、Modal、Service三個目錄來放置不同的內容,其中Modal是SqlSugar的映射實體,Interface是定義訪問介面,Service是提供具體的數據操作實現。在Service層中,往往除了本身的一些增刪... ...
  • 許可權術語 Subject:用戶,用戶組 Action:對Object的操作,如增刪改查等 Object:許可權作用的對象,也可以理解為資源 Effect:規則的作用,如允許,拒絕 Condition:生效條件 Permission:允許(拒絕)用戶(用戶組)在條件允許下對對象(資源)的動作 Role: ...
一周排行
    -Advertisement-
    Play Games
  • 前言 插件化的需求主要源於對軟體架構靈活性的追求,特別是在開發大型、複雜或需要不斷更新的軟體系統時,插件化可以提高軟體系統的可擴展性、可定製性、隔離性、安全性、可維護性、模塊化、易於升級和更新以及支持第三方開發等方面的能力,從而滿足不斷變化的業務需求和技術挑戰。 一、插件化探索 在WPF中我們想要開 ...
  • 歡迎ReaLTaiizor是一個用戶友好的、以設計為中心的.NET WinForms項目控制項庫,包含廣泛的組件。您可以使用不同的主題選項對項目進行個性化設置,並自定義用戶控制項,以使您的應用程式更加專業。 項目地址:https://github.com/Taiizor/ReaLTaiizor 步驟1: ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • Channel 是乾什麼的 The System.Threading.Channels namespace provides a set of synchronization data structures for passing data between producers and consume ...
  • efcore如何優雅的實現按年分庫按月分表 介紹 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案,具有零依賴、零學習成本、零業務代碼入侵適配 距離上次發文.net相關的已經有很久了,期間一直在從事java相關的 ...
  • 前言 Spacesniffer 是一個免費的文件掃描工具,通過使用樹狀圖可視化佈局,可以立即瞭解大文件夾的位置,幫助用戶處理找到這些文件夾 當前系統C盤空間 清理後系統C盤空間 下載 Spacesniffer 下載地址:https://spacesniffer.en.softonic.com/dow ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • 一、ReZero簡介 ReZero是一款.NET中間件 : 全網唯一開源界面操作就能生成API , 可以集成到任何.NET6+ API項目,無破壞性,也可讓非.NET用戶使用exe文件 免費開源:MIT最寬鬆協議 , 一直從事開源事業十年,一直堅持開源 1.1 純ReZero開發 適合.Net Co ...
  • 一:背景 1. 講故事 停了一個月沒有更新文章了,主要是忙於寫 C#內功修煉系列的PPT,現在基本上接近尾聲,可以回頭繼續更新這段時間分析dump的一些事故報告,有朋友微信上找到我,說他們的系統出現了大量的http超時,程式不響應處理了,讓我幫忙看下怎麼回事,dump也抓到了。 二:WinDbg分析 ...
  • 開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...