การจัดการโควต้าพื้นที่ดิสก์ของผู้ใช้
โดย...วิภัทร ศรุติพรหม wipat.s@psu.ac.th

บทนำ
เป็นคำแนะนำติดตั้งระบบจัดการโควต้าดิสค์ของผู้ใช้ลินุกซ์
ต้นฉบับทดสอบด้วย linux fedora core 3,2,1 ใช้งานภายในมหาวิทยาลัยสงขลานครินทร์

  1. ตรวจสอบดูว่ามีการติดตั้งโปรแกรมโควต้าดิสค์แล้ว ด้วยคำสั่ง rpm -qa | grep quota
    ได้ผลดังตัวอย่าง quota-3.06-11

  2. แก้ไขแฟ้ม /etc/fstab ในส่วนของ disk partition ที่ต้องการควบคุมโควต้าจากเดิม
    LABEL=/     /          ext3    defaults        1 1

    ให้เป็น
    LABEL=/     /          ext3    defaults,usrquota        1 1
     
  3. สร้างแฟ้มสำหรับเก็บข้อมูลโควต้า ด้วยคำสั่งดังนี้
    touch /aquota.user
    chmod 600 /aquota.user
     
  4. รีบูทเครื่องใหม่แล้วใช้คำสั่งต่อไปคือ
    /sbin/quotaoff -a
       หมายเหตุ *** อาจมี error ขึ้นว่า quotaoff: Can not find quota file on ......
    เนื่องจากว่ายังไม่เคยมีระบบดิสก์โควต้า ไม่ถือว่าผิดปรกติ ให้ทำขั้นตอนต่อไปได้เลยคือ
    /sbin/quotacheck -vgum -a
    /sbin/quotaon -a

  5. ทดสอบดูผลด้วยคำสั่ง /usr/sbin/repquota -a ได้ผลดังตัวอย่าง
    *** Report for user quotas on device /dev/hda2
    Block grace time: 7days; Inode grace time: 7days
                            Block limits                File limits
    User            used    soft    hard  grace    used  soft  hard  grace
    ----------------------------------------------------------------------
    root      -- 2573608       0       0         150844     0     0
    daemon  --       8       0       0              3     0     0
    lp        --      12       0       0              3     0     0

  6. กำหนดค่าโควต้าดิสก์ของผู้ใช้แต่ละคนด้วยคำสั่ง/usr/sbin/setquota
    ตัวอย่างเช่นต้องการจำกัดผู้ใช้ชื่อ myuser
    มีพื้นที่ไม่เกิน 200000 blocks(200 Mbytes) และ/หรือ 1000 inodes(แฟ้ม)
    โดยเริ่มเตือนที่ 160000 blocks(160 Mbytes) และ/หรือ 800 inodes ด้วยตัวอย่างคำสั่ง

    /usr/sbin/setquota -u myuser 160000 200000 800 1000 -a

  7. ตรวจสอบข้อมูลโควต้าของผู้ใช้ชื่อ myuser ด้วยตัวอย่างคำสั่ง  quota -v myuser
    Disk quotas for user myuser (uid 14533):
         Filesystem  blocks   quota     limit   grace   files   quota   limit   grace
         /dev/hda2       4  160000  200000             1     800  1000
    ความหมายของค่าต่างๆตามคอลัมน์คือ
    blocks=ขนาดพื้นที่ดิสก์ที่ใช้ไป, quota=ขนาดดิสก์ที่เริ่มเตือน, limit=ขนาดดิสก์ที่จำกัด
    files=จำนวนแฟ้มที่ใช้ไป, quota=จำนวนแฟ้มที่เริ่มเตือน, limit=จำนวนแฟ้มที่จำกัด

  8. เนื่องจากระบบไม่ได้ตรวจสอบโควต้าตลอดเวลาทุกครั้งที่มีผู้ใช้งานแฟ้มข้อมูล
    จึงต้องตั้งค่าให้มีการตรวจสอบทุกวันโดยสร้างแฟ้มข้อมูลชื่อ
    /etc/cron.daily/quota-check.cron มีข้อมูลดังนี้
    #!/bin/sh
    /sbin/quotaoff -a
    /sbin/quotacheck -vagum -a
    /sbin/quotaon -a

    และตั้งค่าให้มีการตรวจสอบโควต้าดิสก์ทุกครั้งที่บูทเครื่อง
    โดยใส่เพิ่มข้อความคำสั่งเข้าไปไว้ในแฟ้ม /etc/rc.local ดังนี้
    sh /etc/cron.daily/quota-check.cron