Linux分區&格式化&文件系統&LVM&擴容
硬件
- 磁盤由 盤片組、主軸馬達、機械臂、磁頭、驅動芯片和電路、接口等構成 2. 磁盤的分割
- 每一個盤片不少同心圓分割爲磁道 Trace
- 一組盤片的同徑磁道叫作一個柱面 Cylinder
- 每一個磁道又被分爲不少小扇面 Sector,一個扇區是 512字節
- 磁頭在讀寫的時候,先找磁道,而後每次讀一個Sector,因此扇區是磁盤讀寫的基本傳輸單位
- 很顯然對於同一柱面上的數據,不須要從新找道,因此在讀寫看來具備連續性,因此將柱面當中磁盤分區的基本單位
- 磁盤接口
- IDE 排線寬,主從,通常主板上是兩個接口,每一個排線有兩個接口,能夠接兩個IDE硬盤,分爲主從。IDE的速度理論最大133M/s
- SATA 如今最多見的磁盤,接口比較窄,有 1.0、2.0、3.0 三代接口,速度分別是 150/300/600M/s
- SCSI 比較貴,用於大公司,磁盤上有獨立處理器加速,甚至可能有cache。
操做系統
- 分區
- 爲何分區?你家房子不分爲多個小房間嗎?固然是用起來更爽啊
- 分區作了些啥?
- 磁盤的第一扇區相當重要的,有446字節存放MBR用於引導啓動,還有64字節用於存放分區表。
- 簡單的說,分區就是在分區表裏記錄每一個區的開始和結尾柱面號。
- 說複雜點,第一扇區只能最多記錄4個區的分區表,可是咱們能夠在其中創建一個拓展分區,而後在拓展分區的首扇區繼續去寫分區表,這樣就能夠獲得超過4個的分區。
- 文件系統
- 爲何格式化?磁盤那麼大,你用了哪些沒用那些這些數據確定要存起來吧,存哪裏呢?就要有個格式吧。
- 格式化作了啥?
- 將一個分區劃分爲了兩個部分,一部分存磁盤狀態和文件的索引,另外一部分存數據。
- 存磁盤狀態的叫作超級塊 SuperBlock,記錄了那些塊可用,那些不可用,還有總大小,剩餘空間
- 每一個文件有一個inode,對應映射表,還記錄了文件的元數據,如權限等
- 文件系統分類
- Linux:Ext 2/3/4, XFS
- Window: Fat32, NFS
- Ext的文件格式用多級索引的方式去找文件,好比一個文件比較小,就把它的所有塊號存在inode的映射表裏。若是太大就存一級的,而後一級去找二級,二級存放在數據塊裏某個位置,相似還有三級。。。。。
- Fat32 文件系統是windows比較老的文件系統,採用線索查找,inode只記錄第一個數據塊的位置,而後再第一個數據塊中保存下一個位置,依次類推找到整個文件。因此須要常常整理磁盤碎片,否則查找會愈來愈慢。
- 文件系統 是按塊Block來保存數據的。
- 顯然Block應該是扇區的整數倍大小
- Block定得太大會使得小文件佔更多空間,定得過小,使得大文件的記錄開銷和讀寫變慢。
- 新技術 LVM 和Software RAID
- 上面說的格式化,是針對一個分區,這就是說咱們若是想擴大一個文件系統是不可能的,只能從新分區。
- 新技術LVM的出現,使得一個文件系統再也不是直接對應一個分區,而是在物理分區和格式化之間加了一個LVM層,物理分區被LVM管理,而後提供邏輯卷給目錄掛載,而格式化的定義就變成了針對一個掛載對象創建文件系統。
- RAID技術利用數據分塊和並行處理的技術減小I/O排隊,更高效的利用I/O總線帶寬。利用多塊硬盤來提速。軟磁盤陣列是將RAID管理軟件跑在操做系統之上,相比硬件芯片,速度慢,可是便宜。軟RAID將多塊磁盤合併成一個磁盤,因而提供了更靈活的使用,也在物理分區和文件系統之技安進行了隔離,加入了RAID層。
實踐——動態擴容
- 場景:咱們裝系統的時候進行了分區,而後掛了一個區到 / 下,可是使用的過程當中發現該目錄剩餘空間不夠,這時候咱們想擴容
- 很差的解決方案:在一塊更大磁盤上從新分區,而後將原先磁盤 /的東西拷貝過來
- 好的解決方案:LVM
- 如今的linux都是用LVM在管理磁盤和掛載,因此直接用LVM來將空閒空間分給 /,或者新增磁盤,分區以後加入LVM的管理,並將它的空間分給 /
- 命令
-
準備命令:node
- df 查看加載了的各個文件系統的使用狀況
- df -T 能夠看到文件系統的類型
- du 進入到某個目錄對應的文件系統,列出這個目錄或其文件在文件系統中佔用的空間
- fdisk -l 查看各物理盤,和分區狀況,是否分區也能夠看出來,磁盤必須分區纔可使用
- fdisk 物理盤,進行分區,或修改分區
-
用不到,可是別出有用的命令:linux
- mkfs* 這些mkfs開頭的命令用於格式化,建立可掛載的文件系統,基於LVM,可格式化的是一個邏輯卷,而不基於LVM,可格式化的就是一個分區。基於LVM拓展一個邏輯卷,並不要求新加入卷組的物理卷是一個文件系統,由於只是新增了數據塊,而前面的超級塊,inode塊只需簡單修改。
- mount 用於掛載一個文件系統到某個路徑
- fsck 用於檢查某個文件系統,如壞道等待
-
關鍵命令,LVM的命令windows
- pvcreate 一個分區 這條命令用來將一個磁盤的分區對應到一個物理卷
- pvdisplay 查看所有物理卷
- vgextend 卷組名 物理卷 這條命令將一個物理卷加入一個卷組
- lvextend -L 大小 邏輯卷名字 這條命令拓展一個邏輯卷的大小,要求是剩餘空間足夠
- 上面完成以後並無生效,要進行下面操做
- 若是邏輯卷是 ext2/3/4 類型的文件系統,執行 resize2fs 邏輯卷名
- 若是邏輯卷是 xfs 類型的文件系統,執行 xfs_growfs 邏輯卷名
歡迎關注本站公眾號,獲取更多信息