比特币交易平台|比特币最新行情走势图

Linux分區&格式化&文件系統&LVM&擴容

時間 : 2019-07-11
點擊次數 : 58

      硬件

      磁盤由 盤片組、主軸馬達、機械臂、磁頭、驅動芯片和電路、接口等構成 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的管理,并將它的空間分給 /

      命令

      準備命令:

      df 查看加載了的各個文件系統的使用情況

      df -T 可以看到文件系統的類型

      du 進入到某個目錄對應的文件系統,列出這個目錄或其文件在文件系統中占用的空間

      fdisk -l 查看各物理盤,和分區情況,是否分區也可以看出來,磁盤必須分區才可以使用

      fdisk 物理盤,進行分區,或修改分區

      用不到,但是別出有用的命令:

      mkfs* 這些mkfs開頭的命令用于格式化,創建可掛載的文件系統,基于LVM,可格式化的是一個邏輯卷,而不基于LVM,可格式化的就是一個分區。基于LVM拓展一個邏輯卷,并不要求新加入卷組的物理卷是一個文件系統,因為只是新增了數據塊,而前面的超級塊,inode塊只需簡單修改。

      mount 用于掛載一個文件系統到某個路徑

      fsck 用于檢查某個文件系統,如壞道等待

      關鍵命令,LVM的命令

      pvcreate 一個分區 這條命令用來將一個磁盤的分區對應到一個物理卷

      pvdisplay 查看全部物理卷

      vgextend 卷組名 物理卷 這條命令將一個物理卷加入一個卷組

      lvextend -L 大小 邏輯卷名字 這條命令拓展一個邏輯卷的大小,要求是剩余空間足夠

      上面完成之后并沒有生效,要進行下面操作

      如果邏輯卷是 ext2/3/4 類型的文件系統,執行 resize2fs 邏輯卷名

      如果邏輯卷是 xfs 類型的文件系統,執行 xfs_growfs 邏輯卷名

上一篇:開發過程中三種主要加密方式

上一篇:安裝wget 、 wget命令

煙臺網云網絡科技有限公司 魯ICP備14027327號-3

回到頂部
比特币交易平台 广东时时号码推荐 快速时时计划网 北京赛计划交流 体彩排列3最近100期开奖结果 qq票秒速时时网页 福时时结果 重庆幸运农场开奖 四人麻将现金游戏下载 幸运时时彩走势图个位 11选五5开奖结果辽宁 哈灵上海麻将 时时彩什么叫质合 湖北福彩精彩十分开奖 陕西快乐十分最新开奖 河北时时11选五 江苏七位数历史号码