360 likes | 475 Views
Chap 6 磁碟管理. 鄧姚文. 大綱. 6-1 磁碟管理基本指令與工具 6-2 系統掛載- mount 6-3 磁碟空間管理. 6-1 磁碟管理基本指令與工具. dd: disk dump 磁碟傾倒 du: disk usage 磁碟使用空間 df: disk file system space usage 檔案系統使用空間 fsck: file system check 檔案系統檢查 mkfs: make file system 建立檔案系統. 轉換軟碟資料一 dd.
E N D
Chap 6 磁碟管理 鄧姚文
大綱 • 6-1 磁碟管理基本指令與工具 • 6-2 系統掛載-mount • 6-3 磁碟空間管理
6-1 磁碟管理基本指令與工具 • dd: disk dump 磁碟傾倒 • du: disk usage 磁碟使用空間 • df: disk file system space usage 檔案系統使用空間 • fsck: file system check 檔案系統檢查 • mkfs: make file system 建立檔案系統
轉換軟碟資料一dd • 「dd」指令可以幫助我們將軟碟中的資料寫成一個檔案,或是將硬碟中的檔案寫入軟碟。 • conv參數選項 • ascii:將EBCDIC轉成ASCII • ebcdic:將ASCII轉成EBCDIC • ibm:將ASCII轉成IBM EBCDIC • block:將換行符號取代為cbs數目的空白字元 • unblock:將讀取到的cbs數目空白字元轉換為換行符號 • lcase:將大寫字母轉換為小寫字母 • notrunc:不要截斷輸出檔案 • ucase:將小寫字母轉換為大寫字母 • swab:將輸入的位元組以二個為一組彼此調換內容 • noerror:若讀取時產生錯誤仍繼續執行 • sync:以NUL填滿輸入的區塊,使區塊與ibs的大小相同。
Convert and Copy a File • dd • bs=BYTES • force ibs=BYTES and obs=BYTES • if=FILE • read from FILE instead of stdin • of=FILE • write to FILE instead of stdout dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
File System Backup • dump • /sbin/dump -0u -f /dev/st0 /home • -0-9:Dump levels. A level 0, full backup, guarantees the entire file system is copied. A level number above 0, incremental backup, tells dump to copy all files new or modified since the last dump of a lower level. The default level is 9. • -u:Update the file /etc/dumpdates after a successful dump.
顯示磁碟使用空間一du • 用來顯示目前磁碟空間的使用情形,您可以選擇列出每一個檔案的大小,或是全部檔案的大小,而預設的檔案大小是以K Bytes為單位。
檢查ext2檔案系統一e2fsck • 可用來檢查或修復Linux檔案系統,它會藉由執行後的回傳值來顯示目前系統的現況,但是在執行e2fsck時最好可以在無人登入系統,或是檔案系統尚未掛載前。 • e2fsck回傳值代表意義 • 0:沒有發生任何錯誤 • 1:檔案有發生錯誤,但已自行修復。 • 2:檔案有發生錯誤,但已自行修復,若是該檔案系統已被卸載(Unmount),則必須重新啟動電腦。 • 4:檔案有發生錯誤,但沒有自行修復。 • 8:執行時發生錯誤 • 16:語法錯誤 • 128:共用函式庫錯誤
Examine File System • Check File Systems: • fsck • -t fstype
建立ext2檔案系統一mke2fs • 與一般的format指令有相同功能 • 可以使用「-c」參數來檢查是否有壞軌的分割區 • 「-L」參數可設定檔案系統標籤
Create File System • Make File Systems: • mkfs • -t fstype
6-2 系統掛載-mount • 可以掛載以供Linux存取的檔案系統類型 • auto:自動偵測檔案系統 • ext2:Linux常使用的檔案系統 • ext3:最新版Linux使用的檔案系統 • hpfs:OS/2以及Windows NT 3.51之前版本使用的檔案系統 • iso9660:CD-ROM使用的標準檔案系統
可以掛載以供Linux存取的檔案系統類型(續) • minix:Linux早期版本使用的檔案系統 • msdos:MS-DOS使用的FAT檔案系統 • nfs:網路檔案系統 • ntfs:Windows NT使用的檔案系統 • vfat:Windows 95/98/NT/2000通用的檔案系統
掛載/卸載檔案系統 • mount –t FSType –o options DEVICE MountPoint • FSType • ext2: Linux filesystem • msdos: DOS FAT16 filesystem • vfat: Windows 9x FAT32 filesystem • iso9660: CDROM filesystem • umount DEVICE • umount MountPoint
Disk Devices • IDE Hard Disk • HDA • /dev/hda1 • /dev/hda2 • … • HDB • … • Floppy • /dev/fd0 • SATA/SCSI Hard Disk • SDA • /dev/sda1 • /dev/sda2 • … • SDB • …
/etc/fstab • 裝置名稱 • 掛載目錄 • 檔案系統 • 選項 • Dump:0,1 • Pass:0,1,2
#fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno /dev/hda2 / ext2 defaults 1 1 /dev/hda1 /sys1 ext2 defaults 1 2 /dev/hda3 /sys3 ext2 defaults 1 2 /dev/hda4 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0 none /dev/pts devpts mode=0622 0 0
6-3 磁碟空間管理 quota • What is Quota ? • 磁碟配額 • 限制 使用者 或 群組 對系統硬碟系統資源的使用上限 • 檔案系統佔用的空間(disk space) • 檔案的數目(number of files)
Quota 相關檔案與指令 • /etc/fstab File system configuration • quotas Binary quota file at the root of each file system • /usr/sbin/edquota Quota 編輯器 • /usr/sbin/quotacheck File system quota consistency checker • /usr/sbin/quotaon Turn file system quota on/off
Quota Limits • Block Limit 容量限制 • 1 block = 1024 bytes • Soft Limit:使用空間限額,超過此值便算是超用 • Hard Limit:使用空間嚴格上限;使用空間可以暫時超過 soft limit,但是絕對不可以超過 hard limit
Quota Limits • File Limit 檔案數量限制 • 檔案數目(i-node number) • Soft Limit:使用檔案數目限額,超過此值便算是超用 • Hard Limit使用檔案數目嚴格上限;檔案數目可以暫時超過 soft limit,但是絕對不可以超過 hard limit
Quota Limits • Soft Time Limit • 使用 quota 超過 soft limit 之後,可以暫時再多用一些,但是又超過 grace period(寬限期)之後,便不能再超用 • 修改時間限定 • edquota -t
如何設定 quota ? • 編輯 /etc/fstab 加入 quota 選項 • 以 quotacheck 產生 quotas 檔案 • 以 edquota 指令設定 quota
開啟 quota 功能 • 修改 /etc/fstab • 啟動 group quota 管理:grpquota • 啟動 user quota 管理:usrquota
產生 quota 檔案 • 修改 /etc/fstab 後執行 quotacheck,可以不重新開機!只要 remount 即可:mount -o remount /home • quota.user:記載 user quota 的限制 quota.group:記載 group quota 的限制 # quotacheck -guvaScanning /dev/md3 [/home] donequotacheck: Checked 10110 directories and 73997 files # ls -l /home -rw------- 1 root root 7168 10月 21 16:31 aquota.group -rw------- 1 root root 7168 10月 21 16:31 aquota.user
設定 quota • 設定使用者磁碟配額指令:edquota [-p proto_user] username設定帳號 username 的 quota • -p proto_user將 proto_user 的 quota 設定複製給 username
設定 quota • 設定群組磁碟配額指令:edquota -g groupname設定群組 groupname 的 quota • edquota -gp proto_group groupname將 proto_group 的 quota 設定複製給 groupname
設定 quota • 設定寬限期指令:edquota -tORedquota -gt設定 soft time limit
啟動 quota • quotaon -guva
停用 quota • quotaoff -guva
檢視 quota 報告 • quota 檢視自己帳號的 quota 報告 • quota -g檢視自己群組的 quota 報告 • 檢視系統的 quota 報告,下列指令必須以 root 的身份執行 • repquota [-v] [-g] [-u] -a • repquota [-v] [-g] [-u] filesys ...
練習 • 以下列指令轉換身份成為管理員$ su - • 以下列指令建立帳號 test# adduser test • 以下列指令建立帳號 test2# adduser -g test test2 • 修改 /etc/fstab,將 / 的 mount option 改為 defaults,grpquota,usrquota • 產生 quota 檔案
練習(續) • 以下列指令設定 quota:# edquota -g test • 將 block soft limit 設成 1 MB, hard limit 設成 2 MB • 將 block grace period 設成 30seconds • 啟動 quota
練習(續) • 以下列指令轉換身份成為 test# su - test • 以 test 的身份執行指令 $ dd if=/dev/zero of=empty bs=1024 count=1024 • 紀錄畫面顯示的訊息 • 以下列指令檢視 quota 報告$ quota -g • 紀錄 quota 報告的內容
練習(續) • 以下列指令轉換身份成為管理員$ su - • 以下列指令檢視 quota 報告# repquota -gva • 紀錄 quota 報告的內容
練習(續) • 以下列指令轉換身份成為 test2# su - test2 • 以 test2 的身份執行指令 $ dd if=/dev/zero of=empty bs=1024 count=1024 • 紀錄畫面顯示的訊息 • 以下列指令檢視 quota 報告$ quota -g • 紀錄 quota 報告的內容