磁碟及檔案系統管理 學習筆記

2021-09-20 23:31:49 字數 4364 閱讀 9753

主要使用的命令有:

分割槽:fdisk

gdisk

parted

格式化:

mkfs

mke2fs

掛載mount

umount

我們想要存放資料就需要儲存在磁碟上

磁碟的概念為機械硬碟的概念:

head 磁頭和盤面的數量是一樣的用8bites表示就是2^8

sector 扇區用6bites表示就是乙個磁軌的扇區數只能是2^6

track 乙個盤面有幾個磁軌就是用10bites表示就是2^10

cylinder 柱面

chs 採用24位定址磁碟最多能存放多少資料,2^82^10^2^6512byte =8gib

lba(logic block addressing)採用48位定址2^48*512byte=128pib

乙個磁碟我們要分割槽:

分割槽的概念就是分割槽早期就是用來在乙個磁碟上安裝多個作業系統的,然後在mbr的boot-loader中會在開機的時候看到有幾個選項可以選,比如windwos,linux這樣的選單,然後引導你到指定的分割槽去載入系統。

針對bios主機使用fdisk命令建立mbr(master boot record)

0磁軌0扇區用於建立mbr,其中前446byte用於放boot loader ,其中64byte用於放dpt,後2byte放結束標誌55aa(16進製制數),如下圖所以乙個硬碟分割槽的主分割槽最多只能是4個。

針對uefi主機使用gdisk命令建立gpt (guid partition table ),可以支援128個分割槽,

1、分割槽

分割槽是來幹嘛的,就是把乙個整塊的硬碟劃成乙個個單獨的空間供使用,就像建賓館,先劃成乙個個房間,給房間編上號,然後等待客人入住,

按照什麼標準來劃分房間呢,

比如一共有多少個扇區,

我們從某個位置開始,選擇大小,確定為一塊為辦公室/dev/sda1供使用。

繼續選擇一塊大小,確定為前台供辦理入住/dev/sda2,

繼續選擇一塊大小,確定一塊為客房使用/dev/sda3,

繼續選擇一塊大小,確定一塊為休息區/dev/sd5

剩餘空間可以保留供以後規劃,

那麼這些地方怎麼去呢,我們就需要在門口放乙個導航視窗就是mbr(小賓館)|gpt(度假島),

其中記錄了

/dev/sda1從**到** 多大

/dev/sda2從**到** 多大

/dev/sda3從**到** 多大

/dev/sda5從**到** 多大

2、格式化建立檔案系統

然後是格式,我們確定了幾塊的位置,那麼這些地方做什麼用途,怎麼裝修呢。這裡就是格式化建立檔案系統

/dev/sda1 用來做辦公室使用, 裝修風格採用ext4 叫辦公室或者1

/dev/sda2 用來做前台使用, 裝修風格採用ext4 叫前台或者2

/dev/sd3 用來做客房使用, 裝修風格採用ext4 叫客房或者3

/dev/sd4 用來做休息區使用。 裝修風格採用swap 叫客房或者4

這裡我們的裝修風格可以有多種。

當然叫什麼你只能保證你的酒店不會重複,並不會保證和別人不會衝突。

分割槽+格式化就是這麼個道理,接著我們就可以在裡面放些家具水電開通(裝系統),我們就可以開門接客了(儲存資料了)。

3、掛載

就是掛個牌子,好讓人找到這些房間從**進去。

dev/sda1 用來做辦公室使用,掛個牌子/ 

/dev/sda2 用來做前台使用, 掛個牌子/boot 

/dev/sd3 用來做客房使用, 掛個牌子/home 

/dev/sd4 用來做休息區使用。掛個牌子/swap

好,廢話說這麼多。

檔案系統,基本操作物件就是檔案,怎麼知道乙個磁碟檔案存放在**呢,這裡就需要資料庫**支援,

inode:表示可以建立多少個檔案,inode會有個索引表。inode table

block:表示有多少個block的空間,單位可以是1k,2k,4kbyte。

bitmap 通過0和1對應inode和block數,0表示可用,1表示已用。

我們從磁碟上找乙個檔案就是去各個分割槽去找inode table找到對應的檔案。inode table和block table都是分區內唯一的。

有日誌功能的檔案通ext4,就是有個journal的區域給其使用,當使用者在對資料進行寫操作,就會把inode table 中的檔案的inode放到這裡,然後執行完畢後再放回到inode table,如果記憶體處理沒有完成,比如斷電等其他操作,inode就沒有重新放到inode table原來裡面,這個時候就會存檔在journal區域中,定期去檢查這個區域中的,策略為mount 多次,或者執行多久,如果通過inode檢查block有問題,就會標記這個inode和block為0,從而釋放空間。

因為分割槽中block數量太多,因此就有block group的概念,來分組進行管理。這些組的起始位置和基本資訊就會存放在分割槽中的superblock上,superlock會多點進行備份。如果丟失了superblock 中的資訊就會不知道**去找資料。

簡單來說我們找檔案

找inode table 找到inode 根據inode 中的其他指標等知道block 位置,去superblock 找block在哪些位置,然後移動head去讀取sector。

一塊硬碟上可以有好多分割槽,每個分割槽可以有不同的檔案系統,那麼如何讓系統能夠識別不同的檔案系統呢,不同的檔案系統都有乙個標識id好,比如linux的為83,linux lvm為8e,不同的檔案系統我們可以理解為不同的語言,如何讓乙個人只會漢語的人,聽懂英語,俄語,德語,法語呢,我們需要以個中間層的翻譯,就是vfs,(vitural file system),它會幫kernel去翻譯。那麼linux可不可以支援windwos的ntfs呢,理論上你要讓vfs能翻譯就行。

不同的檔案系統就是,按名讀取檔案,處理磁碟檔案的不同方式而已,資料都是01的二進位制資料,如何組織起來是一回事,如快遞公司,都是發快遞,京東,三通一順豐都是發快遞,但是有的快,有的好,有的就想打人的。當然對於檔案系統沒有誰最好,只有合適的,比如順豐快,但是貴啊,你不急沒必要對不對,比如京東的當天到次日達的功能,他要收額外的快遞費,所以要看你的需求需不需要這個功能,統一到你這邊是通過代收點的,我們不管什麼快遞,你放到代收點我去取,同樣我也是把東西拿到快遞點去寄。就像xfs支援單個單檔案,relserfs對海量小檔案支援較好。

快遞按功能劃分,我們可以分普通快遞,貨運,國際快遞等。

檔案系統分為,基本檔案系統,集群檔案系統,分布式檔案系統,網路檔案系統,光碟檔案系統等。

還有裸系統raw就像我們去實體店買東西並不從網上買發快遞,快速直接。但是懶得不想去實體店呢。

分割槽時指定的system id 使用來幹嘛的,預設是83.是用來標識在這個分割槽裝置上將執行的系統的檔案系統類別是什麼,這裡是大的類別不是精細劃分。方便應用程式雖然可以通過vfs知道下面說的是什麼,但是必要的時候我們知道對面坐的是說德語的還是漢語,至於你說漢語裡的那個家鄉話管了。

inode 的size和block 的size決定了乙個檔案系統最大能夠支援的單個檔案容量。

分割槽工具:

我們經常聽到分割槽4k對齊,其實這個是針對ssd來說的,因為ssd速度很快,如果檔案系統劃分使用的block是4k,一次讀取8個sector,預設sector大小是512bytes的話,我們因為快,一次讀取8個就會很快。

但是如果不對齊的話就亂了,所以現在作業系統windows10在安裝時候會幫你4k對齊的。

那麼在linux下,ext4預設是2k對齊。當然不知道是不是檢測到我劃分的是scsi磁碟。所以這樣,或者說mkfs.ext4預設的2k,

centos7上xfs系統,預設也是2k對齊。

fdisk(針對mbr分割槽格式的磁碟進行操作)

增刪改查

增加n:新增分割槽

刪除d:刪除分割槽

修改:t:修改分割槽的system id,可以為fd(raid),8e(lvm),

我現在還沒有明白這個含義是什麼。

檢視:-l:

-u:以扇區大小來顯示,

p:顯示分割槽

gdisk(針對gpt分割槽格式的磁碟進行操作)

格式化檔案系統工具

Linux磁碟配額與高階檔案系統管理學習總結

1 磁碟配額 quota 可公平分配系統上面的磁碟空間給使用者,分配的資源可以是磁碟容量 block 或可新建檔案數量 inode 2 quota的限制可以有soft,hard,gracetime等重要選項 3 quota僅能針對整個檔案系統進行限制,不是針對目錄 4 quota的使用必須要核心與檔...

linux磁碟及檔案系統管理 筆記

磁碟管理 物理組成 1 磁碟盤 2 讀取頭 機械臂 3 主軸馬達 機械式硬碟 u盤,光碟,軟盤,硬碟,磁帶機 磁碟示例圖 根據判斷的磁性來讀取資料 每個判斷都是雙面可以讀寫的。每個碟片都是有機械臂來讀取資料,磁碟在執行時建議不要晃動 很容易造成資料丟失 同心圓 扇區 每個扇區會有扇區標號,扇區一般5...

Windows系統管理 學習筆記6

windows系統管理 檢視自己的公網ip www.ip138.com 網盤服務 資料共享異地的客戶 資料備份與恢復 資料備份 資料的安全性,避免資料的丟失 備份物件 系統 資料 資料冷備份 指需要備份的文件不被占用的情況下執行備份的方式 優點 簡單快事,容易恢復到某個時間點,方便維護 缺點 只能恢...