<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SpaLinux.com - สปาลีนุกซ์ &#187; disk quota</title>
	<atom:link href="http://spalinux.com/tag/disk-quota/feed" rel="self" type="application/rss+xml" />
	<link>http://spalinux.com</link>
	<description>เพื่อชีวิตที่ผ่อนคลายของคนใช้ลีนุกซ์</description>
	<lastBuildDate>Sat, 12 May 2012 10:38:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>คอนฟิกลีนุกซ์ Disk Quota ตอนที่ 2</title>
		<link>http://spalinux.com/2009/03/configure_linux_disk_quota_part_2</link>
		<comments>http://spalinux.com/2009/03/configure_linux_disk_quota_part_2#comments</comments>
		<pubDate>Sat, 28 Mar 2009 09:58:45 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[disk quota]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=490</guid>
		<description><![CDATA[หลังจากที่เปิดการใช้งาน disk quota กับ /home แล้ว ในตอนที่ 2 นี้จะอธิบายการกำหนดปริมาณการใช้งานดิสก์ของผู้ใช้งานแต่ละคน (user quota) วิธีตรวจสอบค่า disk quota เราสามารถตรวจสอบค่า quota ที่ถูกกำหนดไว้ ได้สองวิธีคือ 1. เป็น root แล้วใช้คำสั่ง repquota วิธีนี้จะแสดงรายงานของผู้ใช้งานทั้งหมด ทั้งการกำหนดค่า quota พร้อมทั้งขนาดของดิสก์ที่ผู้ใช้งานแต่ละรายใช้ไป ตัวอย่างการใช้ repquota [root@server ~]# repquota /home *** Report for user quotas on device /dev/sda6 Block grace time: 7days; Inode grace time: 7days                         Block limits                File limits User            [...]]]></description>
			<content:encoded><![CDATA[<p>หลังจากที่เปิดการใช้งาน disk quota กับ /home แล้ว ในตอนที่ 2 นี้จะอธิบายการกำหนดปริมาณการใช้งานดิสก์ของผู้ใช้งานแต่ละคน (user quota)</p>
<p><span id="more-490"></span></p>
<h4>วิธีตรวจสอบค่า disk quota</h4>
<p>เราสามารถตรวจสอบค่า quota ที่ถูกกำหนดไว้ ได้สองวิธีคือ</p>
<p>1. เป็น root แล้วใช้คำสั่ง repquota วิธีนี้จะแสดงรายงานของผู้ใช้งานทั้งหมด ทั้งการกำหนดค่า quota พร้อมทั้งขนาดของดิสก์ที่ผู้ใช้งานแต่ละรายใช้ไป</p>
<p>ตัวอย่างการใช้ repquota</p>
<pre>[root@server ~]# <strong>repquota /home
</strong>*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   17676       0       0              4     0     0
user1     --      44       0       0              8     0     0
user2     --      24       0       0              6     0     0</pre>
<p>2. ผู้ใช้ธรรมดาร (normal user) สามารถใช้คำสั่ง quota เพื่อตรวจสอบค่าการใช้งานดิสก์ของตัวเองได้</p>
<p>ตัวอย่างการใช้คำสั่ง quota</p>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500): none</pre>
<h4>การกำหนด disk quota ของผู้ใช้งาน (user quota)</h4>
<p>คอนฟิกเริ่มต้นหลังจากรันคำสั่ง quotacheck และ quotaon จะมีการตรวจสอบขนาดดิสก์ที่ถูกใช้ไป ของผู้ใช้งานแต่ละคน แต่ยังไม่มีการกำหนดค่าสูงสุดที่ใช้ได้ สังเกตค่าตัวเลขจะเป็น 0 ซึ่งเป็นค่าที่แสดงว่าไม่มีการจำกัดปริมาณการใช้งาน</p>
<p>ใช้คำสั่ง edquota ด้วย root เพื่อกำหนด disk quota ของผู้ใช้แต่ละคน โดยคำสั่งนี้จะเปิดโปรแกรม vi เพื่อให้เราแก้ไขค่าต่างๆ ของการใช้งานดิสก์ของผู้ใช้งานได้</p>
<p>ตัวอย่างการกำหนด disk quota ของ user1</p>
<pre>[root@server ~]# <strong>edquota -u user1
</strong>Disk quotas for user user1 (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda6                        44          0          0          8        0        0</pre>
<p>ความหมายของค่าต่างๆ มีดังนี้</p>
<p>เราสามารถจำกัดปริมาณการใช้งาน disk quota ได้สองแบบ คือ</p>
<p>1. กำหนดเป็นขนาดพื้นที่ดิสก์ที่ใช้งานได้ มีหน่วยเป็น blocks คำนวณคร่าวๆ 1 block คือ 1 kilo bytes<br />
2. กำหนดเป็นจำนวนไฟล์ที่สร้างขึ้นได้ มีหน่วยเป็น inodes หนึ่งไฟล์ใช้ 1 inode</p>
<p>โดยทั่วไปนิยมกำหนดเป็นแบบแรกมากกว่า คือกำหนดขนาดพื้นที่ดิสก์ที่สามารถใช้งานได้</p>
<p>ส่วนค่าที่กำหนดมีสองระดับคือ</p>
<p>1. soft เป็นปริมาณที่อนุญาตให้ใช้เกินค่านี้ได้ แต่จะอยู่ในระยะเวลาที่กำหนด (grace)<br />
2. hard เป็นค่าสูงสุดที่ใช้ได้ ผู้ใช้งานไม่สามารถสร้างไฟล์เพิ่มเติมมากกว่านี้ได้อีกแล้ว</p>
<p>ตัวอย่างการกำหนดให้ user1 สามารถใช้พื้นที่ดิสก์ได้แบบ soft เท่ากับ 100 MB และแบบ hard ได้เท่ากับ 200 MB</p>
<pre>[root@server ~]# <strong>edquota -u user1
</strong>Disk quotas for user user1 (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda6                        44     <strong><span style="color: #0000ff;">100000     200000</span></strong>          8        0        0</pre>
<pre>[root@server ~]# <strong>repquota -a</strong>
*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   17676       0       0              4     0     0
user1     --      44  <span style="color: #0000ff;">100000  200000</span>              8     0     0
user2     --      24       0       0              6     0     0</pre>
<h4>ทดลองสร้างไฟล์ด้วย user</h4>
<p>ล็อกอินเป็น user1 เพื่อตรวจสอบแล้วทดลองสร้างไฟล์ขึ้นมา</p>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6      44  100000  200000               8       0       0</pre>
<p>หมายเหตุ ผลลัพธ์ที่แสดงจากคำสั่ง quota จะเปลี่ยนคำว่า soft เป็นคำว่า quota และเปลี่ยน hard เป็นคำว่า limit</p>
<p>ใช้คำสั่ง dd เพื่อสร้างไฟล์ 50 MB</p>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-50M.bin bs=1000000 count=50
</strong>50+0 records in
50+0 records out
50000000 bytes (50 MB) copied, 0.726378 s, 68.8 MB/s</pre>
<pre>[user1@server ~]$ <strong>ls -l
</strong>total 48884
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6   <span style="color: #0000ff;">48928</span>  100000  200000               9       0       0</pre>
<p>ทดลองสร้างอีกไฟล์ที่มีขนาด 60 MB</p>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-60M.bin bs=1000000 count=60
</strong>60+0 records in
60+0 records out
60000000 bytes (60 MB) copied, 0.860898 s, 69.7 MB/s</pre>
<pre>[user1@server ~]$ <strong>ls -l
</strong>total 107544
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;"><strong>107588*</strong></span> 100000  200000   <strong><span style="color: #ff0000;">7days</span></strong>      10       0       0</pre>
<p>หลังจากที่สร้างไฟล์ที่สอง เท่ากับว่าผู้ใช้คนนี้ user1 มีการใช้งานดิสก์ไปแล้ว 110 MB ซึ่งมากกว่าค่า soft (quota) ที่กำหนดไว้ ใช้คำสั่ง quota ตรวจสอบ จะเห็นว่ามีเครื่องหมายดอกจัน (*) อยู่หลัง จำนวน blocks ที่ถูกใช้ไป พร้อมทั้งมีค่า 7days ในช่อง grace ขึ้นมา เพื่อแสดงว่า ผู้ใช้งานคนนี้ยังสามารถใช้พื้นที่ดิสก์ได้ต่อไปอีก 7 วัน แต่หลังจากนี้จะไม่อนุญาตให้สร้างได้อีกแล้ว</p>
<p>ทดลองสร้างไฟล์เพิ่มเติม 70 MB จะเห็นว่ายังสามารถใช้ดิสก์เพิ่มเติมได้อยู่ ขนาดรวมตอนนี้ 180MB ตราบเท่าที่ยังไม่เกิน 7days หรือไม่เกิน hard (limit)</p>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-70M.bin bs=1000000 count=70
</strong>70+0 records in
70+0 records out
70000000 bytes (70 MB) copied, 0.203143 s, 345 MB/s</pre>
<pre>[user1@server ~]$ <strong>ls -l
</strong>total 175976
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin
-rw-r--r-- 1 user1 users 70000000 2009-03-28 16:25 file-70M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <strong><span style="color: #ff0000;">176020*</span></strong> 100000  200000   <strong><span style="color: #ff0000;">6days</span></strong>      11       0       0</pre>
<p>ทดลองสร้างไฟล์เพิ่มอีก 80 MB</p>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-80M.bin bs=1000000 count=80
</strong><span style="color: #ff0000;"><strong>dd: writing `file-80M.bin': Disk quota exceeded
</strong></span>25+0 records in
24+0 records out
<span style="color: #ff0000;">24526848</span> bytes (25 MB) copied, 0.174226 s, 141 MB/s</pre>
<pre>[user1@server ~]$ <strong><span style="color: #ff0000;">ls -l
</span></strong>total 199956
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin
-rw-r--r-- 1 user1 users 70000000 2009-03-28 16:25 file-70M.bin
-rw-r--r-- 1 user1 users <span style="color: #ff0000;">24526848</span> 2009-03-28 16:30 file-80M.bin</pre>
<p>มีข้อความ error &#8220;Disk quota exceeded&#8221; เกิดขึ้น จะเห็นว่าไฟล์ที่สร้างขึ้นใหม่ ไม่สำเร็จ โดย quota จะอนุญาตให้สร้างไฟล์ได้ถึงขนาดพื้นที่ดิสก์รวมไม่เกินค่า hard (limit) เท่านั้น</p>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <strong><span style="color: #ff0000;">200000*</span></strong> 100000  200000   6days      12       0       0</pre>
<p>ถึงตอนนี้ user1 จะไม่สามารถสร้างไฟล์ได้อีกแล้ว เพราะใช้เกินค่า hard limit แล้ว ผู้ใช้คนนี้ต้องลบไฟล์ที่มีอยู่ออกไปก่อน หรือไม่ก็ต้องขอพื้นที่ disk เพิ่มเติม</p>
<pre>[user1@server ~]$ <strong>rm -f file-80M.bin
</strong>[user1@server ~]$ <strong>rm -f file-70M.bin</strong></pre>
<pre>[user1@server ~]$ <strong>ls -l
</strong>total 107544
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">107588</span>* 100000  200000   6days      10       0       0</pre>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-80M.bin bs=1000000 count=80
</strong>80+0 records in
80+0 records out
80000000 bytes (80 MB) copied, 0.900514 s, 88.8 MB/s</pre>
<pre>[user1@server ~]$ <strong>ls -l
</strong>total 185756
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin
-rw-r--r-- 1 user1 users 80000000 2009-03-28 16:34 file-80M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">185800*</span> 100000  200000   6days      11       0       0</pre>
<h4>เมื่อใช้ดิสก์เกินค่า soft (quota) เลยระยะเวลา grace</h4>
<p>เมื่อใช้พื้นที่ดิสก์เกินค่า soft (quota) ไปแล้ว ผู้ใช้งานยังสามารถสร้างไฟล์ได้เพิ่มเติมอีก ตราบที่ยังไม่เกินค่าเวลา grace ดีฟอลต์คือ 7 วัน แต่ถ้าเกินระยะเวลานี้แล้ว ผู้ใช้งานจะไม่สามารถสร้างไฟล์เพิ่มเติมได้อีกแล้ว</p>
<pre>[user1@server ~]$ <strong>date</strong>
Sat Mar 28 16:38:12 ICT 2009</pre>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">185800*</span> 100000  200000   <span style="color: #ff0000;">6days      </span>11       0       0</pre>
<p>สมมติว่าระยะเวลาผ่านไปเกิน 7 วันแล้ว เมื่อใช้คำสั่ง quota ดู จะเห็นว่าช่อง grace เป็นเป็นค่า none</p>
<pre>[user1@server ~]$ <strong>date</strong>
<span style="color: #0000ff;">Sat Apr  4 17:00:04 ICT 2009</span></pre>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">185800*</span> 100000  200000    <strong><span style="color: #ff0000;">none</span></strong>      11       0       0</pre>
<p>ผู้ใช้คนนี้จะไม่สามารถสร้างไฟล์ได้เพิ่มอีกแล้ว จะมี error ฟ้องว่า &#8220;Disk quota exceeded&#8221; ตลอด ซึ่งเป็นเพราะว่า ผู้ใช้คนนี้ใช้เกินค่า soft เกินระยะเวลา grace แล้วนั่นเอง</p>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-1M.bin bs=1000000 count=1
<span style="color: #ff0000;">dd: writing `file-1M.bin': Disk quota exceeded
</span></strong>1+0 records in
0+0 records out
0 bytes (0 B) copied, 0.00622609 s, 0.0 kB/s</pre>
<pre>[user1@server ~]$ <strong>ls -l</strong>
total 185756
-rw-r--r-- 1 user1 users        0 2009-04-04 17:01 file-1M.bin
-rw-r--r-- 1 user1 users 50000000 2009-03-28 16:19 file-50M.bin
-rw-r--r-- 1 user1 users 60000000 2009-03-28 16:20 file-60M.bin
-rw-r--r-- 1 user1 users 80000000 2009-03-28 16:34 file-80M.bin</pre>
<pre>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">185800*</span> 100000  200000    <span style="color: #ff0000;">none</span>      12       0       0</pre>
<p>วิธีการแก้ไข ผู้ใช้คนนี้ต้องลบไฟล์ที่ไม่ใช้งานออกไป จนกว่าขนาดพื้นที่ดิสก์ที่ใช้ จะต่ำกว่าค่า soft ที่ถูกกำหนดไว้</p>
<pre>[user1@server ~]$ <strong>rm -f file-1M.bin</strong></pre>
<pre>[user1@server ~]$ <strong>rm -f file-50M.bin
</strong>[user1@server ~]$ <strong>quota
</strong>Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6  <span style="color: #ff0000;">136916*</span> 100000  200000    <span style="color: #ff0000;">none</span>      10       0       0</pre>
<pre>[user1@server ~]$ <strong>rm -f file-60M.bin</strong></pre>
<pre>[user1@server ~]$ <strong>quota</strong>
Disk quotas for user user1 (uid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda6   <span style="color: #339966;"><span style="color: #0000ff;"><strong>78256</strong></span>  </span>100000  200000               9       0       0</pre>
<pre>[user1@server ~]$ <strong>dd if=/dev/zero of=file-1M.bin bs=1000000 count=1
</strong>1+0 records in
1+0 records out
1000000 bytes (1.0 MB) copied, 0.0120102 s, 83.3 MB/s</pre>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/03/configure_linux_disk_quota_part_1">คอนฟิกลีนุกซ์ Disk Quota ตอนที่ 1</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/03/configure_linux_disk_quota_part_2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คอนฟิกลีนุกซ์ Disk Quota ตอนที่ 1</title>
		<link>http://spalinux.com/2009/03/configure_linux_disk_quota_part_1</link>
		<comments>http://spalinux.com/2009/03/configure_linux_disk_quota_part_1#comments</comments>
		<pubDate>Sat, 28 Mar 2009 07:35:18 +0000</pubDate>
		<dc:creator>editor</dc:creator>
				<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[disk quota]]></category>

		<guid isPermaLink="false">http://spalinux.com/?p=484</guid>
		<description><![CDATA[แม้ว่าทุกวันนี้ขนาดของดิสก์จะมีขนาดมากขึ้นเรื่อยๆ และมีราคาที่ถูกลง แต่ปริมาณความต้องการของผู้ใช้งานกลับเพิ่มสูงขึ้น กระทั่งไม่ว่าจะเพิ่มดิสก์เท่าไร ก็ไม่เพียงพอ โดยดีฟลอต์เซิร์ฟเวอร์ลีนุกซ์ที่ติดตั้ง จะไม่มีการจำกัดพื้นที่ดิสก์ของผู้ใช้งาน แต่ละคนสามารถใช้ได้จนกระทั่งขนาดของดิสก์ไม่เพียงพอ บทความนี้ขอนำเสนอวิธีการคอนฟิก Disk Quota เพื่อจำกัดปริมาณการใช้งานดิสก์ โดยสามารถทำได้เป็นระดับรายผู้ใช้งาน (user quota) หรือจะแบ่งเป็นกลุ่ม (group quota) ได้ ระบบที่ทดสอบ การคอนฟิก Disk Quota ต้องทำระดับ mount point โดยต้องเลือกว่าจะเปิดคุณสมบัติ (quotaon) กับ mount point ใด แนะนำให้ตอนติดตั้งลีนุกซ์ แยก partition ที่เป็น /home ต่างหาก ซึ่งเป็น mount point ที่เป็น home directory ของผู้ใช้งาน (user) แล้วเปิด quota เฉพาะ ส่วนนี้ ลีนุกซ์ส่วนใหญ่จะสนับสนุน disk quota ในระดับ kernel [...]]]></description>
			<content:encoded><![CDATA[<p>แม้ว่าทุกวันนี้ขนาดของดิสก์จะมีขนาดมากขึ้นเรื่อยๆ และมีราคาที่ถูกลง แต่ปริมาณความต้องการของผู้ใช้งานกลับเพิ่มสูงขึ้น กระทั่งไม่ว่าจะเพิ่มดิสก์เท่าไร ก็ไม่เพียงพอ</p>
<p>โดยดีฟลอต์เซิร์ฟเวอร์ลีนุกซ์ที่ติดตั้ง จะไม่มีการจำกัดพื้นที่ดิสก์ของผู้ใช้งาน แต่ละคนสามารถใช้ได้จนกระทั่งขนาดของดิสก์ไม่เพียงพอ</p>
<p>บทความนี้ขอนำเสนอวิธีการคอนฟิก Disk Quota เพื่อจำกัดปริมาณการใช้งานดิสก์ โดยสามารถทำได้เป็นระดับรายผู้ใช้งาน (user quota) หรือจะแบ่งเป็นกลุ่ม (group quota) ได้</p>
<p><span id="more-484"></span></p>
<h4>ระบบที่ทดสอบ</h4>
<p>การคอนฟิก Disk Quota ต้องทำระดับ mount point โดยต้องเลือกว่าจะเปิดคุณสมบัติ (quotaon) กับ mount point ใด แนะนำให้ตอนติดตั้งลีนุกซ์ แยก partition ที่เป็น /home ต่างหาก ซึ่งเป็น mount point ที่เป็น home directory ของผู้ใช้งาน (user) แล้วเปิด quota เฉพาะ ส่วนนี้</p>
<p>ลีนุกซ์ส่วนใหญ่จะสนับสนุน disk quota ในระดับ kernel อยู่แล้ว แต่ไม่ได้เปิดการใช้งาน (quotaon) ไว้ ในบทความนี้เป็นการทดสอบคอนฟิกกับ /home บน Fedora 10</p>
<p>ตัวอย่างการแบ่ง partition ของเครื่องที่ทดสอบ</p>
<pre>[root@server ~]# <strong>df</strong>
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              1011960    201320    759232  21% /
/dev/sda1               202219     13513    178266   8% /boot
/dev/sda5              1011928     17680    942844   2% /tmp
/dev/sda6              1011928     18700    941824   2% /home
/dev/sda7              5044156    939604   3848320  20% /usr
/dev/sda8              1019864     37860    930196   4% /var
tmpfs                   189632         0    189632   0% /dev/shm</pre>
<p>ตัวอย่างไฟล์ /etc/fstab ของเครื่องที่ทดสอบ</p>
<pre>[root@server ~]# <strong>cat /etc/fstab</strong>
/dev/sda1               /boot                   ext3    defaults        1 2
/dev/sda2               /                       ext3    defaults        1 1
/dev/sda5               /tmp                    ext3    defaults        1 2
/dev/sda6               /home                   ext3    defaults        1 2
/dev/sda7               /usr                    ext3    defaults        1 2
/dev/sda8               /var                    ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda3               swap                    swap    defaults        0 0</pre>
<h4>เปิดคุณสมบัติ user quota</h4>
<p>เริ่มต้น เราจะทดสอบ user quota ก่อน โดยต้องทำการ remount แล้วเพิ่มออปชั่น userquota</p>
<pre>[root@server ~]# <strong>mount | grep home
</strong>/dev/sda6 on /home type ext3 (rw)</pre>
<pre>[root@server ~]# <strong>mount -o remount,usrquota /home</strong></pre>
<pre>[root@server ~]# <strong>mount | grep home
</strong>/dev/sda6 on /home type ext3 (rw,<span style="color: #0000ff;">usrquota</span>)</pre>
<p>สร้างไฟล์ aquota.user สำหรับเก็บ user quota</p>
<pre>[root@server ~]# <strong>cd /home</strong>
[root@server home]# <strong>touch aquota.user
</strong>[root@server home]# <strong>chmod 600 aquota.user</strong></pre>
<pre>[root@server home]# <strong>ls -l
</strong>total 28
-rw------- 1 root  root      <span style="color: #0000ff;">0</span> 2009-03-28 13:58 <span style="color: #0000ff;">aquota.user
</span>drwx------ 2 root  root  16384 2009-02-21 21:15 lost+found
drwx------ 3 user1 users  4096 2009-03-29 13:02 user1
drwx------ 3 user2 users  4096 2009-03-29 12:59 user2</pre>
<p>รันคำสั่ง quotacheck เพื่อตรวจสอบปริมาณการใช้งานดิสก์ของแต่ละผู้ใช้</p>
<pre>[root@server home]# <strong>quotacheck -vgum /home
</strong>quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: WARNING -  Quotafile /home/aquota.user was probably truncated. Cannot save quota settings...
quotacheck: Scanning /dev/sda6 [/home] done
quotacheck: Old group file not found. Usage will not be substracted.
quotacheck: Checked 7 directories and 14 files</pre>
<p>ถ้ารันคำสั่ง quotacheck ถูกต้อง จะมีการเขียนข้อมูลลงในไฟล์ aquota.user ใช้คำสั่ง ls ดู จะเห็นว่ามีขนาดเพิ่มขึ้น</p>
<pre>[root@server home]# <strong>ls -l
</strong>total 36
-rw------- 1 root  root   <span style="color: #0000ff;">7168</span> 2009-03-28 13:59 <span style="color: #0000ff;">aquota.user
</span>drwx------ 2 root  root  16384 2009-02-21 21:15 lost+found
drwx------ 3 user1 users  4096 2009-03-29 13:02 user1
drwx------ 3 user2 users  4096 2009-03-29 12:59 user2</pre>
<p>เปิดคุณสมบัติ quota ด้วยคำสั่ง quotaon</p>
<pre>[root@server home]# <strong>quotaon -v /home
</strong>/dev/sda6 [/home]: user quotas turned on</pre>
<p>ใช้คำสั่ง repquota เพื่อแสดงรายงานการใช้งานดิสก์ของแต่ละคน</p>
<pre>[root@server home]# <strong>repquota /home
</strong>*** Report for user quotas on device /dev/sda6
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   17676       0       0              4     0     0
user1     --      44       0       0              8     0     0
user2     --      24       0       0              6     0     0</pre>
<h4>แก้ไขไฟล์ /etc/fstab</h4>
<p>เมื่อทดสอบ quota สำเร็จแล้ว สุดท้ายต้องมีการเพิ่มออปชั่นลงไปในไฟล์ /etc/fstab เพื่อให้มีผลหลังจากที่มีการรีบู๊ตเครื่อง</p>
<p>ตัวอย่างการเพิ่มออปชั่น usrquota ที่ /home ในไฟล์ /etc/fstab</p>
<pre>[root@server ~]# <strong>cat /etc/fstab
</strong>/dev/sda1               /boot                   ext3    defaults        1 2
/dev/sda2               /                       ext3    defaults        1 1
/dev/sda5               /tmp                    ext3    defaults        1 2
/dev/sda6               /home                   ext3    defaults,<strong><span style="color: #0000ff;">usrquota</span>  </strong>1 2
/dev/sda7               /usr                    ext3    defaults        1 2
/dev/sda8               /var                    ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda3               swap                    swap    defaults        0 0</pre>
<h4>ยกเลิกการใช้ user quota</h4>
<p>หากต้องการยกเลิกการใช้งาน user quota สามารถทำได้ดังนี้</p>
<p>รันคำสั่ง quotaoff เพื่อปิดการตรวจสอบ quota (ถ้าต้องการปิดการใช้ user quota ชั่วคราว ให้รันคำสั่งนี้ก็เพียงพอแล้ว ไม่ต้องทำขั้นต่อไป)</p>
<pre>[root@server ~]# <strong>quotaoff -v /home
</strong>/dev/sda6 [/home]: user quotas turned off</pre>
<p>แก้ไขไฟล์ /etc/fstab โดยลบ usrquota ที่เพิ่มเข้าไปในบรรทัดของ mount point แล้วรันคำสั่ง mount เพื่อ remount ใหม่ แต่ไม่มีออปชั่น usrquota</p>
<pre>[root@server ~]# <strong>mount | grep home
</strong>/dev/sda6 on /home type ext3 (rw,<span style="color: #0000ff;">usrquota</span>)
[root@server ~]# <strong>mount -o remount /home
</strong>[root@server ~]# <strong>mount | grep home
</strong>/dev/sda6 on /home type ext3 (rw)</pre>
<p>ลบไฟล์ aquota.user</p>
<pre>[root@server ~]# <strong>cd /home/
</strong>[root@server home]# <strong>ls -l
</strong>total 36
-rw------- 1 root  root   7168 2009-03-28 14:07 aquota.user
drwx------ 2 root  root  16384 2009-02-21 21:15 lost+found
drwx------ 3 user1 users  4096 2009-03-28 14:05 user1
drwx------ 3 user2 users  4096 2009-03-29 12:59 user2
[root@server home]# <strong>rm -f aquota.user</strong></pre>
<p>ในตอนต่อไปจะกล่าวถึงวิธีการกำหนดค่า quota ของแต่ละผู้ใช้งาน</p>
<h4>ข้อมูลอ้างอิง</h4>
<ul>
<li><a href="http://spalinux.com/2009/03/configure_linux_disk_quota_part_2">คอนฟิกลีนุกซ์ Disk Quota ตอนที่ 2</a></li>
<li><a href="http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html" target="_blank">Linux File System Quotas</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spalinux.com/2009/03/configure_linux_disk_quota_part_1/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

