Linux笔记16.磁盘管理
16.磁盤管理
物理組成
磁柱也是磁盤分割(?partition?)?時的最小單位
扇區就是硬盤盤上面的最小儲存物理量
這就是磁盤分割的重點:記錄每一個分割區的起始與結束磁柱!!
MBR的限制:
僅提供最多四個?partition?的記憶,主分區與擴展分區的最多只能有四個的原因
??
文件系統
每一個?partition?就是一個?Filesystem?
邏輯區塊是在?partition?進行?filesystem?的格式化時,所指定的最小儲存單位?
一個?Block?最多僅能容納一個檔案,檔案大小可能造成的硬盤空間浪費?
ext3文件系統的優化與高級特性?
?磁盤檢查?
?磁盤配額?
?自動掛載分區?
-i?2048?inode?2KB?
-b?8192設置block?size的大小為8kB?
-f?1024設置fragments的大小為1KB?
mkfs.ext3?–N?2939495??/dev/sdb2?
–N?2939495更改inode?count。?
?注意:?
-i?最小值是1024,這個值的大小決定inode?count的大小?
i=2048?Inode?count:1025024?
i=1024?Inode?count:2048256??
保留塊:為管理員保留的磁盤管理空間,默認為總數據塊的5%?
mkfs.ext3??-b?4096?-i?8192?-m?2??/dev/sda2?//設置保留塊的數量占總數量的百分之2?
Tune2fs??--調整ext2/etx3文件系統特性的工具。?
-l?<device>????????????????查看文件系統信息?
-c??<count>????????????????設置強制自檢的掛載次數?
-i???<n?day>???????????????設置強制自檢的間隔時間?
-m?<percentage>????????????保留塊的百分比?
-j?????????????????????????將?ext2??文件系統轉換成etx3格式?
文件系統檢查工具?
fsck??:??檢查文件系統數據完整性的工具?
用法一:fsck??-t??ext2??/dev/hda1?
用法二:fsck.ext2???/dev/hda1?
e2fsck???檢查ext2/ext3文件系統的工具?
文件系統管理(inode)?
當?partition?被格式化為?ext2?或ext3?的文件系統時,他一定會有?inode?table?與?block?area?這兩個區域。??
*??文件系統管理(inode)?
–?目錄:??
–?文件:??
*??當?block?大小越小,而?inode?數量越多,則可利用的空間越多,但是大文件寫入的效率較差;這種情況適合檔案數量多,但是文件容量小的系統。
*??當?Block?大小越大,而?inode?數量越少時,大文件寫入的效率較佳,但是可能浪費的硬盤空間較多;這種狀況則比較適合文件容量較大的系統??
Linux文件系統的運行:?
通常采取異步處理的方式?
當系統讀取了某一個檔案,則該檔案所在的?區塊數據會被加載到內存當中,所以該磁盤區塊就會被放置在主存儲器的緩沖快取區中,若這些區塊的數據被改變時,剛開始數據僅有主存儲器的區塊數據會被改變,而且在緩沖區當中的區塊數據會被標記為”?Dirty?“,這個時候磁盤實體區塊尚未被修正!所以亦即”?Dirty?“?表示,這些”?Dirty?“區塊的數據必需回寫到磁盤當中,以維持磁盤實體區塊上的數據與主存儲器中的區塊數據的一致性。?
查看硬盤或目錄的容量??
df?查看已掛載磁盤的總容量、使用容量與inode
du?查看檔案使用掉的容量有多少??
語法:?df?-[ikm]??
參數說明:??
????-i:??使用?i-nodes?顯示結果??
????-k:??使用?KBytes?顯示結果??
????-m:??使用?MBytes?顯示結果??
?說明:這是用來顯示目前磁盤空間的指令!??
語法:?du?[-abckms]?[目錄名稱]??
參數說明:??
目錄名稱?可以省略,如果省略的話,表示要統計目前所在目錄的檔案容量??
-a???:全部的檔案與目錄都列出來!默認值是指列出目錄的值!??
-b???:列出的值以?bytes?輸出??
-c???:最后加總?total?!??
-k??:?列出的值以KB輸出?
-m??:列出的值以?MB?輸出??
-s???:只列出最后加總的值!?
鏈接文件:?
Hard?Link:?
使用?hard?link?設定連結文件時,磁盤的空間與inode?的數目都不會改變。hard?link?只是在某個目錄下的?block?多寫入一個關連數據,所以不會用掉inode?與磁盤空間?
*?不能跨?Filesystem;??
*?不能?link?目錄。??
Symbolic?Link:?
就是在建立一個獨立的檔案,而這個檔案會讓數據的讀取指向他?link?的那個檔案內容!由于只是利用檔案來做為指向的動作,所以,當來源檔被刪除之后,symbolic?link?的檔案會開不了。Symbolic?Link?的使用方面較廣?
*??ln?
語法:??
ln?[-s]?[?來源檔??]?[?目的檔]??
?參數說明:??
-s???:提供?symbolic?line?的連結!??
如果不加任何參數的話,那么就屬于?hard?link?
ln?-s?/tmp/test?test?
分區與格式化硬盤:?
–?fdisk??硬盤切割?partition?的工具??
–?mke2fs?就是?Linux?底下重要的?format?格式化的工具??
–??e2label?修改硬盤的?label?(表頭名稱)的工具!?
–?mknod??新增硬件對應文件的工具!?
*??fdisk??
語法:??
[root?@test?/root?]#?fdisk?[-l]?[裝置名稱]???
參數說明:???
?-l??:直接列出該硬盤裝置的?partition?table??
范例:???
[root?@test?root]#?fdisk?/dev/hdb<==分割我的hdb?磁盤,記得后面不接數字?
?硬盤信息:通常我們需要知道這顆硬盤的信息時,直接按P
?刪除扇區:如果我要刪除一個以存在的扇區時,就需要:fdisk?/dev/hdb先進入?fdisk?畫面;??
?p:先看一下扇區的信息,假設要掉???????????????????????????????????????????????;?
d:這個時候會要你選擇一個partition?
w:?儲存到磁盤數據表中,并離開?fdisk?
新增扇區:
?–?n:新增一個磁區????????????????????????
?–?p?:?選擇為primary???????
–?1-4?:primary?只允許四個
–?w?:同樣的儲存離開!?
*??mke2fs??
語法:??
[root?@thiz?root?]#?mke2fs?[-b?block-size]?[-i?inode-size]??
[root?@thiz?root?]#?mke2fs?[-c]??
[root?@thiz?root?]#?mke2fs?[-L]??
[root?@thiz?root?]#?mke2fs?[-j]??
參數說明:??
-b???:在設定每個數據區塊占用的大小,目前支持的大小有?1024,2048,?4096?三種!???
-i???:設定?inode?值!??
-c???:檢查錯誤磁盤,會比較慢!???
-L???:規劃設定這個扇區的?label?(表頭名稱)???
?-j???:建立?ext3?這個?journaling?的檔案格式?
*??e2label??
語法:??
[root?@test?/root?]#?e2label?[/dev/hd...]??[label_name]???
各分區的掛載:?
–?mount??
[root?@thiz?root?]#?mount?[-ahlV]???
[root?@thiz?root?]#?mount?-t?type?/dev/hdxx??/mountpoint??
[root?@thiz?root?]#?mount?-o?[options]??
[root?@thiz?root?]#?umount?/mountpoint??
參數說明:??
–?-a???:依照?/etc/fstab?的內容將所有相關的磁盤都掛上來!??
–?-h???:只列出?mount?相關的參數,并不掛載任何裝置??
–?-l???:列出目前已經掛載的裝置、檔案系統名稱與掛載點!??
–?-V???:列出?mount?的版本信息??
–?type?:將后面?/dev/hdxx?這個裝置以?type?的檔案格式掛載到?/mountpoint?這個點,??
常見的?type?有底下幾個:??
vfat,?msdos????????:這個是支持?Windows?系統的檔案格式,尤其是?vfat?常用!??
ext,?ext2???????????:這個就是?Linux?的主要檔案格式!??
iso9660???????????:光驅的檔案格式??
nfs,?ntfs,?ufs????????:Windows?2000??使用?NTFS?格式!?
?-o?:?????????????????????????????????
w :讓?mount?的扇區為可擦寫??
suid? :允許該扇區可以設定檔案為?SUID?的狀態!??
exec? :允許該扇區可以執行?binary?的檔案!??
auto? :允許該扇區可以使用?mount?-a?的參數設定!??
async :允許扇區可以進行異步記錄(內存與硬盤不同步!最常用!)??
defaults:同時具有?rw,?suid,?dev,?exec,?auto,?nouser,?async?這些功能的設定值!??
nosuid :不許該扇區具有?SUID?的檔案屬性!??
ro :設定為只讀屬性!??
remount?:讓系統本來掛載的扇區重新被掛載!?
*??umount??
語法:??
?[root?@thiz?root]#?umount?[-f]??[device|mount_point]??
?參數說明:??
-f??:強制將該檔案系統退出,最常使用在無法退出的?NFS?檔案系統中了!??
開機掛起:vim?/etc/fstab
1、分區或標頭(卷標):就是分區
2、掛載的目錄點:就是?mount?的掛載點!??
3、該扇區的檔案格式:目前?Linux?大都使用ext2,?ext3,?reiserfs?等等的, ?
4、檔案格式參數區:?
5、是否可以被?dump?指令備份
6、檢驗扇區:這個數字在用來以?fsck?檢驗扇區用的!需要設定為1?不需要設定為0??????????????????????????????????????????0??
虛擬內存?Swap:?
–?設定一個?swap?partition??
–?建立一個虛擬內存的文件?
建立虛擬內存的分區?:?
第一種正規的方法是:直接再加一塊硬盤,并且將其中某個扇區規劃為swap??????????????????????????的文件系統?
1、使用fdisk?建立一個swap分區?
注:t,?82是?swap?分區格式的代號?
2、以mkswap??可格式化新建的swap分區?
#mkswap?/dev/hdb3?
3、將swap啟動??swapon??+??設備名swapon?/dev/hdb3?
4、關掉swap?:?swapoff?
建立虛擬內存檔案?:?
1??dd?指令來建立?swapfile????????????
2、以?mkswap?來將?swapfile?格式化為?swap?的檔案格式;??
3、以?swapon?來啟動該檔案,使成為?swap?;??
4、以?swapoff?來關閉該檔案?
dd?if=/dev/zero?of=/tmp/swap?bs=4k?count=16382?
dd這個指令是用來轉換檔案并且copy用的?
if指的是要被轉換的輸入檔案格式?/dev/zero可以由man?zero來查看內容?
of指的是輸出的檔案,我們將之輸出到/tmp/swap這個檔案?
bs指的是一個扇區占用幾個kb;?
count指的是要使用多少個bs,所以最后的容量為bs*count?=?4k??
2.?以mkswap?來將swapfile格式化為swap的檔案格式?
3。以swapon來啟動該檔案,使之成為swap,?執行完后可以用free查看。?
dev/zero?文件代表一個永遠輸出0的設備文件,使用它作輸入可以得到全為空的文件。?
/dev/null,外號叫無底洞,你可以向它輸出任何數據
DMA的英文拼寫是“Direct?Memory?Access”,就是直接內存訪問,是一種不經過CPU而直接從內存存取數據的數據交換模式。PIO模式下硬盤和內存之間的數據傳輸是由CPU來控制的;而在DMA模式下,CPU只須向DMA控制器下達指令,讓DMA控制器來處理數的傳送,數據傳送完畢再把信息反饋給CPU,這樣就很大程度上減輕了CPU資源占有率。?
磁盤效能:?
hdparm??
語法:??
[root?@test?/root?]#?hdparm?[-cdmXTt]?[裝置名稱]???
參數說明:??
?[root?@test?/root]#?hdparm?-Tt?/dev/hda???<==?測試?hda?這顆硬盤的?cache?與實際效能??
?[root?@test?/root]#?hdparm?-d0?/dev/hda<==??閉?DMA?模式!??
[root?@test?/root]#?hdparm?-d1?-c3?-X66?/dev/hda<==開啟?DMA?模式在?DMA?66?,并且?
轉載于:https://blog.51cto.com/yangtong/473555
總結
以上是生活随笔為你收集整理的Linux笔记16.磁盘管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小腿抽搐做康复有用么?
- 下一篇: 脊髓损伤后身体出现僵硬感觉是正常的吗?