iT邦幫忙

DAY 22
1

openSUSE Linux 30 天系列 第 22

2014IT鐵人賽-22-Disk Quota 磁碟配額

  • 分享至 

  • xImage
  •  

2014IT鐵人賽-22-Disk Quota 磁碟配額

今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.

今天練習Disk Quota 磁蝶配額吧

筆記部份:

練習完建立 file system 之後, 接下來我們就要思考, 如果日後要開放服務, 那要如何控管使用者的用量? 這個時候就要使用 disk quota 來幫忙

Disk quota 介紹

  • Per file system basic: 針對file system來計算

  • 對象: user使用者(usrquota) /group群組(grpquota)

  • 標的: block ( 使用空間大小) / inode( 建立檔案的數量 )

  • soft limit --> warning警告

  • hard limit --> deadline

  • grace time --> 寬限期(default 7 days)

設定diskquota 步驟

  1. 在/etc/fstab 加上usrquota 或 grpquota參數
  2. 使用mount -o remount 重新掛載使其生效
  3. 使用quotacheck 初始化quota ( 該file system 會出現aquota.user或aquota.group 檔案)
  4. 使用quotaon 啟用該file system的quota
  5. 使用edquota 編輯quota 設定
  6. 使用 chkconfig boot.quota on 設定開機啟用quota

若執行 #quotacheck 指令找不到該指令, 則使用#yast -i quota 安裝quota 套件即可解決

現在的kernel 支援 journaled quota, 故 lab 的時候採取 usrjquota 與 grpjquota

如果是 在/etc/fstab 使用 mount option 為 usrquota 或是 grpquota 會出現以下訊息

# quotacheck -ugv /data/

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: Scanning /dev/sda3 [/data] done

quotacheck: Cannot stat old user quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old user quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有此一檔案或目錄

quotacheck: Checked 3 directories and 2 files

quotacheck: Old file not found.

quotacheck: Old file not found.

開始練習吧

Lab:

  • 限制使用者max在 /home可使用空間4MB~5MB
  • 新增一個群組 hr, 並限制 hr 群組使用者在 /home 的使用空間為 4MB~5MB

#groupadd hr <新增 hr 群組>

# useradd -g hr -m hruser1 <新增以 hr 為主要群組使用者 hruser1>

# useradd -g hr -m hruser2 <新增以 hr 為主要群組使用者 hruser2>

針對 /home 的分割區加入 quota的mount_option

#vi /etc/fstab

修改<加入usrjquota 及 grpjquota參數>

/dev/sda3 /home ext3 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2

#mount | grep home <請觀察 /home>

#mount -o remount /home <重新掛載使其生效>

#mount | grep home <請觀察 /home>

#ls /home <請觀察 /home>

#quotacheck -ugv /home <建立DB>

#ls /home <請觀察 /home 目錄下差異>

#quotaon -pa <請觀察 資訊>

#quotaon -ug /home <啟動/home的quota>

#quotaon -pa <請觀察 資訊>

#chkconfig boot.quota --list

#chkconfig boot.quota on <設定開機啟動quota >

#chkconfig boot.quota --list

編輯使用者的 quota

#edquota max <編輯max的quota>

Filesystem blocks soft hard inodes soft hard

/dev/sda3 xxxxx 4096 5120 xxxxxx 0 0

#edquota -g hr <編輯 hr 群組的 quota>

Disk quotas for group hr (gid 1003):

Filesystem blocks soft hard inodes soft hard

/dev/sda3 xxxx 4096 5120 xxxxxx 0 0

測試 使用者max quota

#su - max

>quota <查看自己的quota>

>dd if=/dev/zero of=big2 bs=1M count=3 <請建立檔案測試, 3M,4M 5M>

>ls -hl

>exit <請登出>

測試 群組hr quota

#su - hruser1

>quota -g <查看群組的quota>

> dd if=/dev/zero of=big2 bs=1M count=2 <請建立檔案測試, 3M,4M 5M>

>exit <請登出>

# su - hruser2

>quota -g <查看群組的quota>

> dd if=/dev/zero of=big2 bs=1M count=2 <請建立檔案測試, 3M,4M 5M>

>exit <請登出>

#repquota /home <列出/home quota的狀況>

#edquota -p max user1 user2 <套用使用者max 的quota>

#repquota /home <列出/home quota的狀況>

Notes:

如果是 在/etc/fstab 使用 mount option 為 usrquota 或是 grpquota 會出現以下訊息

# quotacheck -ugv /data/

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: Scanning /dev/sda3 [/data] done

quotacheck: Cannot stat old user quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old user quota file: 沒有此一檔案或目錄

quotacheck: Cannot stat old group quota file: 沒有此一檔案或目錄

quotacheck: Checked 3 directories and 2 files

quotacheck: Old file not found.

quotacheck: Old file not found.

目前的 Kernel 已經支援 journaled quota, 故 lab 的時候採取 usrjquota 與 grpjquota

Option Lab: 使用 YaST 方式設定 Disk Quota

#yast2 disk

請取消剛剛設定的 Fstab 選項 ( 啟用配額支援)

觀察相關設定

#mount | grep home <請觀察 /home>

#quotaon -pa

使用 YaST 設定 quota

#yast2 disk

請編輯該分割區的 fstab 選項( 啟用配額支援)

觀察相關設定

#mount | grep home <請觀察 /home>

#quotaon -pa <請觀察資訊>

#cat /etc/fstab <請觀察資訊>

設定使用者 quota

#yast2 users

請選取使用者 → 點選編輯

在YaST 視窗內, 於插件 標籤內,點選 啟動

請設定 使用者 quota 限制

點選 確定 → 點選 確定

完成 quota 設定

觀察相關設定

#repquota /home <列出/home quota的狀況>

Fun with Day 22 ~


上一篇
2014IT鐵人賽-21-LVM
下一篇
2014IT鐵人賽-23-管理 linux moudle
系列文
openSUSE Linux 30 天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言