1、Linux中如何表示硬盤和分區(qū) 硬盤分區(qū)包括主分區(qū)、擴展分區(qū)、邏輯分區(qū)三種類型,之所以會有這樣的區(qū)分,是因為在硬盤的主引導扇區(qū)中用來存放分區(qū)信息的空間只有64個字節(jié)(主引導扇區(qū)一共只有512字節(jié)空間),而每一個分區(qū)的信息都要占用16字節(jié)空間,因而理論上一塊磁盤最多只能擁有4個分區(qū),當然這4個分區(qū)都是主分區(qū)。這在計算機早期是沒什么問題的,但后來隨著硬盤空間越來越大,4個分區(qū)就遠遠不夠了,所以才又引入了擴展分區(qū)的概念。擴展分區(qū)也是主分區(qū),但是在擴展分區(qū)中可以再創(chuàng)建新的分區(qū),這些分區(qū)就被稱為邏輯分區(qū),邏輯分區(qū)的數(shù)量就不再受主引導扇區(qū)空間大小的限制了,像IDE磁盤最多可以創(chuàng)建60個邏輯分區(qū)。 在Windows系統(tǒng)中,我們一般都是只創(chuàng)建一個主分區(qū)(也就是C盤),再將剩余的磁盤空間全部劃給擴展分區(qū),最后在擴展分區(qū)中創(chuàng)建邏輯分區(qū)。在“磁盤管理”工具中可以清楚地查看到這種邏輯關(guān)系。 在Linux系統(tǒng)中所有的磁盤以及磁盤中的每個分區(qū)都是用文件的形式來表示的。比如在你的電腦中有一塊硬盤,硬盤上劃分了3個分區(qū),那么在Linux系統(tǒng)中就會有相應的4個設備文件,一個是硬盤的設備文件,另外每個分區(qū)也有一個設備文件,所有的設備文件都統(tǒng)一存放在/dev目錄中。 另外,對于所有使用USB接口的移動存儲設備,不論是移動硬盤、優(yōu)盤,還是USB光驅(qū),都一律使用/dev/sdxx的設備文件。光驅(qū)(光盤)的設備文件一般默認為/dev/cdrom,這個就與光驅(qū)的接口無關(guān)了。 2.LVM知識點: 每個Linux使用者在安裝Linux時都會遇到這樣的困境:在為系統(tǒng)分區(qū)時,如何精確評估和分配各個硬盤分區(qū)的容量,因為系統(tǒng)管理員不但要考慮到當前某個分區(qū)需要的容量,還要預見該分區(qū)以后可能需要的容量的最大值。因為如果估計不準確,當遇到某個分區(qū)不夠用時管理員可能甚至要備份整個系統(tǒng)、清除硬盤、重新對硬盤分區(qū),然后恢復數(shù)據(jù)到新分區(qū)。 雖然現(xiàn)在有很多動態(tài)調(diào)整磁盤的工具可以使用,例如Partation Magic等等,但是它并不能完全解決問題,因為某個分區(qū)可能會再次被耗盡;另外一個方面這需要重新引導系統(tǒng)才能實現(xiàn),對于很多關(guān)鍵的服務器,停機是不可接受的,而且對于添加新硬盤,希望一個能跨越多個硬盤驅(qū)動器的文件系統(tǒng)時,分區(qū)調(diào)整程序就不能解決問題。 因此完美的解決方法應該是在零停機前提下可以自如對文件系統(tǒng)的大小進行調(diào)整,可以方便實現(xiàn)文件系統(tǒng)跨越不同磁盤和分區(qū)。幸運的是Linux提供的邏輯盤卷管理(LVM,Logical Volume Manager)機制就是一個完美的解決方案。 LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環(huán)境下對磁盤分區(qū)進行管理的一種機制,LVM是建立在硬盤和分區(qū)之上的一個邏輯層,來提高磁盤分區(qū)管理的靈活性。通過LVM系統(tǒng)管理員可以輕松管理磁盤分區(qū),如:將若干個磁盤分區(qū)連接為一個整塊的卷組(volume group),形成一個存儲池。管理員可以在卷組上隨意創(chuàng)建邏輯卷組(logical volumes),并進一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。管理員通過LVM可以方便的調(diào)整存儲卷組的大小,并且可以對磁盤存儲按照組的方式進行命名、管理和分配,例如按照使用用途進行定義:“development”和“sales”,而不是使用物理磁盤名“sda”和“sdb”。而且當系統(tǒng)添加了新的磁盤,通過LVM管理員就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統(tǒng)跨越磁盤即可。 LVM基本術(shù)語 LVM是在磁盤分區(qū)和文件系統(tǒng)之間添加的一個邏輯層,來為文件系統(tǒng)屏蔽下層磁盤分區(qū)布局,提供一個抽象的盤卷,在盤卷上建立文件系統(tǒng)。下面是幾個LVM術(shù)語: 物理存儲介質(zhì)(The physical media) 這里指系統(tǒng)的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統(tǒng)最低層的存儲單元。 物理卷(physical volume) 物理卷就是指硬盤分區(qū)或從邏輯上與磁盤分區(qū)具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(zhì)(如分區(qū)、磁盤等)比較,卻包含有與LVM相關(guān)的管理參數(shù)。 卷組(Volume Group) LVM卷組類似于非LVM系統(tǒng)中的物理硬盤,其由物理卷組成??梢栽诰斫M上創(chuàng)建一個或多個“LVM分區(qū)”(邏輯卷),LVM卷組由一個或多個物理卷組成。 邏輯卷(logical volume) LVM的邏輯卷類似于非LVM系統(tǒng)中的硬盤分區(qū),在邏輯卷之上可以建立文件系統(tǒng)(比如/home或者/usr等)。 PE(physical extent) 每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。 LE(logical extent) 邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。 3.RAID知識點 RAID,為Redundant Arrays of Independent Disks的簡稱,中文為廉價冗余磁盤陣列。主要RAID級別:RAID 0、RAID 1、RAID 5、RAID 6、RAID 0+1 磁盤陣列其實也分為軟陣列 (Software Raid)和硬陣列 (Hardware Raid) 兩種. 軟陣列即通過軟件程序并由計算機的 CPU提供運行能力所成. 由于軟件程式不是一個完整系統(tǒng)故只能提供最基本的 RAID容錯功能. 其他如熱備用硬盤的設置, 遠程管理等功能均一一欠奉. 硬陣列是由獨立操作的硬件提供整個磁盤陣列的控制和計算功能. 不依靠系統(tǒng)的CPU資源. 由于硬陣列是一個完整的系統(tǒng), 所有需要的功能均可以做進去. 所以硬陣列所提供的功能和性能均比軟陣列好. 而且, 如果你想把系統(tǒng)也做到磁盤陣列中, 硬陣列是唯一的選擇. 故我們可以看市場上 RAID 5 級的磁盤陣列均為硬陣列. 軟 陣列只適用于 Raid 0 和 Raid 1. RAID 0:將多個較小的磁盤合并成一個大的磁盤,不具有冗余,并行I/O,速度最快。RAID 0亦稱為帶區(qū)集。它是將多個 磁盤并列起來,成為一個大硬盤。在存放數(shù)據(jù)時,其將數(shù)據(jù)按磁盤的個數(shù)來進行分段,然后同時將這些數(shù)據(jù)寫進這些盤中,系統(tǒng)有數(shù)據(jù)請求就可以被多個磁盤并行的執(zhí)行,每個磁盤執(zhí)行屬于它自己的那部分數(shù)據(jù)請求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能, 所以,在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗余功能的,如果一個磁盤(物理)損壞,則所有的數(shù) 據(jù)都無法使用。 RAID 1:兩組相同的磁盤系統(tǒng)互作鏡像,速度沒有提高,但是允許單個磁盤錯,可靠性最高。RAID 1就是鏡像。其原理為 在主硬盤上存放數(shù)據(jù)的同時也在鏡像硬盤上寫一樣的數(shù)據(jù)。當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因 為有鏡像硬盤做數(shù)據(jù)備份,所以RAID 1的數(shù)據(jù)安全性在所有的RAID級別上來說是最好的。但是其磁盤的利用率卻只有50%, 是所有RAID上磁盤利用率最低的一個級別。 RAID 5:是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。RAID 5不對存儲的數(shù)據(jù)進行備份,而是把數(shù)據(jù)和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應的數(shù)據(jù)分別存儲于不同的磁盤上。當RAID5的一個磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的數(shù)據(jù)和相應的奇偶校驗信息去恢復被損壞的數(shù)據(jù)。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是多了一個奇偶校驗信息,寫入數(shù)據(jù)的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數(shù)據(jù)對應一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲成本相對較低。硬盤的利用率為n-1。 RAID 6:與RAID 5相比,增加了第二個獨立的奇偶校驗信息塊。 兩個獨立的奇偶系統(tǒng)使用不同的算法, 數(shù)據(jù)的可靠性非常高. 即使兩塊磁盤同時失效,也不會影響數(shù)據(jù)的使用。 但需要分配給奇偶校驗信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”。RAID 6 的寫性能非常差, 較差的性能和復雜的實施使得RAID 6很少使用。 RAID 0+1:同時具有RAID 0和RAID 1的優(yōu)點。RAID0+1也通過數(shù)據(jù)的100%備份提供數(shù)據(jù)安全保障,因此RAID 0+1的磁盤空間利用率與RAID 1相同,存儲成本高。RAID 0+1的特點使其特別適用于既有大量數(shù)據(jù)需要存取,同時又對數(shù)據(jù)安全性要求嚴格的領(lǐng)域,如銀行、金融、商業(yè)超市、倉儲庫房、各種檔案管理等。也稱為RAID 10 冗 余:采用多個設備同時工作,當其中一個設備失效時,其它設備能夠接替失效設備繼續(xù)工作的體系。在PC服務器上,通 常在磁盤子系統(tǒng)、電源子系統(tǒng)采用冗余技術(shù)。 4. Linux使用的文件系統(tǒng)類型 文件系統(tǒng)類型決定了向分區(qū)中存放、讀取文件數(shù)據(jù)的方式和效率,在對分區(qū)進行格式化時需要選擇所使用的文件系統(tǒng)類型。在Windows系統(tǒng)中,硬盤分區(qū)通常都是采用FAT32或NTFS文件系統(tǒng),而在Linux系統(tǒng)中,硬盤分區(qū)則大都是采用EXT4文件系統(tǒng)。 EXT4,第4代擴展文件系統(tǒng),是RHEL6中默認使用的文件系統(tǒng)類型,屬于典型的日志型文件系統(tǒng)。其特點是保持有磁盤存取記錄的日志數(shù)據(jù),便于恢復,性能和穩(wěn)定性更加出色。 除了EXT4文件系統(tǒng)之外,Linux中還有一個比較特殊的SWAP類型的文件系統(tǒng),swap文件系統(tǒng)是專門給交換分區(qū)使用的。交換分區(qū)類似于Windows系統(tǒng)中的虛擬內(nèi)存,能夠在一定程度上緩解物理內(nèi)存不足的問題。不同的是,在Windows系統(tǒng)中是采用一個名為pagefile.sys的系統(tǒng)文件作為虛擬內(nèi)存使用,而在Linux系統(tǒng)中則是劃分了一個單獨的分區(qū)作為虛擬內(nèi)存,這個分區(qū)就被稱為交換分區(qū)。交換分區(qū)的大小通常設置為主機物理內(nèi)存的2倍,如主機的物理內(nèi)存大小為1GB,則交換分區(qū)大小設置為2GB即可。 5. Linux的目錄結(jié)構(gòu) 在Windows系統(tǒng)中,為每個分區(qū)分配一個盤符,在資源管理器中通過盤符就可以訪問相應的分區(qū)。每個分區(qū)使用獨立的文件系統(tǒng),在每一個盤符中都會有一個根目錄。 在Linux系統(tǒng)中,將所有的目錄和文件數(shù)據(jù)組織為一個樹型的目錄結(jié)構(gòu),整個系統(tǒng)中只存在一個根目錄,所有的分區(qū)、目錄、文件都在同一個根目錄下面。 在Linux系統(tǒng)中定位文件或目錄位置時,使用“/”進行分隔(區(qū)別于Windows中的“\”)。在整個樹型目錄結(jié)構(gòu)中,使用獨立的一個“/”表示根目錄,根目錄是Linux文件系統(tǒng)的起點。在根目錄下面按用途不同劃分有很多子目錄,而一個硬盤分區(qū)只有掛載到某個目錄中才能被訪問,這個指定的目錄就被稱為掛載點。例如將分區(qū)“/dev/hda2”掛載到根目錄“/”,那么通過訪問根目錄“/”就可以訪問到“/dev/hda2”分區(qū),這個分區(qū)也就稱為根分區(qū)。對于初學者,除了交換分區(qū)以外,一般只需要再創(chuàng)建2個分區(qū),分別作為根分區(qū)和/boot分區(qū),基本就可以滿足需求了。 /root:管理員的家目錄; /bin: 可執(zhí)行文件, 用戶命令 /boot: 系統(tǒng)啟動相關(guān)的文件,如內(nèi)核、initrd,以及grub(bootloader) /dev: 設備文件 設備文件:字符設備、塊設備 塊設備:(硬盤、光盤)隨機訪問,數(shù)據(jù)塊 字符設備:(鍵盤、鼠標)線性訪問,按字符為單位 設備號:主設備號(major device number)和此設備號(minor device number) 系統(tǒng)核心就是通過這兩個號碼來判斷設備的。 /etc:配置文件 /home:默認用戶的家目錄,每一個用戶的家目錄通常默認為/home/USERNAME ~:表示當前用戶的家目錄 ~USERNAME:則表示USERNAME的家目錄 /var:系統(tǒng)執(zhí)行過程中經(jīng)常變化的文件 /lib:系統(tǒng)使用的函數(shù)庫目錄 靜態(tài)庫, .a 動態(tài)庫, Windows(.dll), Linux(.so:shared object) /lib/modules:內(nèi)核模塊文件 /usr:shared, read-only (全局共享只讀) 系統(tǒng)主要程序、圖形界面所需要的文件、額外的函數(shù)庫、本機自行安裝的軟件、共享目錄與文件 /usr/bin、/usr/sbin:一般身份和管理員可執(zhí)行的文件 /usr/lib:各應用軟件的函數(shù)庫文件 /usr/local: /mnt:掛載點目錄,額外的臨時文件系統(tǒng) /opt:可選目錄,第三方程序的安裝目錄 -> /usr/local/ /proc:偽文件系統(tǒng),內(nèi)核映射文件 /sys:偽文件系統(tǒng),跟硬件設備相關(guān)的屬性映射文件 /tmp:臨時文件, /var/tmp /sbin:管理命令 /lost+found:系統(tǒng)發(fā)生錯誤時,會將一些遺失的片段放置此目錄 本文出自 “水滴石穿” 博客,請務必保留此出處http://pengyl.blog.51cto.com/5591604/1178952 |
|