4月7日學習筆記,磁碟管理二(inode、軟連結、硬連結、Raid磁碟冗餘陣列)
day25學習筆記(4月7日)
磁碟管理二(inode、軟連結、硬連結、Raid磁碟冗餘陣列)
檔案屬性的檢視
方法一:
ls -l filename
方法二:
stat filename
inode是什麼
作業系統中專門用於管理和儲存檔案的資訊軟體成為檔案系統
一個新的磁碟,格式化檔案系統後,就有了2個儲存空間。
一個叫做inode儲存空間,儲存裝置上所有檔名,對應的元資料資訊(通過stat
命令檢視檔案的屬性資訊)
一個叫做block儲存空間,儲存裝置上所有的檔案的內容和資料
inode數量和block數量由磁碟的容量決定
linux檔案系統儲存的檔案其實分為兩部分【元資料】+【檔案內容】
- 元資料(儲存元資料資訊的空間,被稱之為Inode)
就是檔案的屬性資訊,可以通過stat
命令檢視,包括檔名、檔案大小、建立資訊、修改資訊等
- 檔案內容(儲存檔案資料的空間,被稱之為block)
檔案內容資料存放在扇區(sector),是磁碟的最小儲存單位(512bytes),多個相鄰的扇區就稱為block塊,檔案系統最小的讀取單位是8個扇區即block塊(8*512butes=4096bytes=4KB)
Linux讀取檔案內容的過程
檔名 > inode編號 > block
表面上,使用者通過檔名,開啟檔案。實際上,系統內部這個過程分成三步:首先,系統找到這個檔名對應的inode號碼;其次,通過inode號碼,獲取inode資訊;最後,根據inode資訊,找到檔案資料所在的block,讀出資料。
inode號的查詢
命令如下:
ls -i filename
為什麼linux要設計inode
理解inode,要從檔案儲存說起。 檔案儲存在硬碟上,硬碟的最小儲存單位叫做"扇區"(Sector)。每個扇區儲存512位元組(相當於0.5KB)。 作業系統讀取硬碟的時候,不會一個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取一個"塊"(block)。這種由多個扇區組成的"塊",是檔案存取的最小單位。"塊"的大小,最常見的是4KB,即連續八個 sector組成一個 block。 檔案資料都儲存在"塊"中,那麼很顯然,我們還必須找到一個地方儲存檔案的元資訊,比如檔案的建立者、檔案的建立日期、檔案的大小等等。這種儲存檔案元資訊的區域就叫做inode,中文譯名為"索引節點"。 每一個檔案都有對應的inode,裡面包含了與該檔案有關的一些資訊。
inode儲存的內容
* 檔案的位元組數
* 檔案擁有者的User ID
* 檔案的Group ID
* 檔案的讀、寫、執行許可權
* 檔案的時間戳,共有三個:ctime指inode上一次變動的時間,mtime指檔案內容上一次變動的時間,atime指檔案上一次開啟的時間。
* 連結數,即有多少檔名指向這個inode
* 檔案資料block的位置
inode的作用
df -h
檢視磁碟block空間的使用情況,如果看到分割槽快滿了,可以去刪除大容量的檔案
df -i
inode儲存檔案屬性的
當機器上有大量的無用的小檔案,空檔案,白白消耗inode數量
檢視磁碟分割槽inode空間的使用情況
如果可用的不多的,刪除大量的4kb小檔案即可
因為它們真用了太多的無效inode編號
df -h看到磁碟還是有空間,但是寫入資料
系統提示no space for disk
雖然還有block空間可以存資料,但是inode數量已經用完
資料夾和檔案的關係
目錄是一個特殊的檔案,目錄儲存的是當前目錄下的檔名字
簡單說,資料夾就是方便人類記憶檔案存在哪、然後通過這個檔名嗎,找到對應的檔案inode號
inode號裡記錄了檔案資料所處的block位置,最終訪問到資料
block是什麼
block是linux實際儲存資料的空間,是8個連續的扇區,(8*512bytes=4KB)
單個大檔案需要用多個block來儲存
特別小的檔案即使不滿足4KB,也只能按照4KB計算。
1 block =4kb
刪除檔案原理
軟連線
Linux系統中的軟連線可以理解為Windows下的快捷方式。
軟連結檔案儲存的是原始檔的路徑。
建立軟連線 ln -s引數去建立軟連線
↓
當訪問軟連線檔案,其實是
↓
訪問到原始檔的路徑,原始檔的檔名
↓
訪問原始檔的inode編號
↓
inode找到block,訪問到資料
軟連結特點
1.軟連線檔案的inode號和原始檔不同,作用是儲存原始檔的路徑
2.命令ln -s建立
3.刪除普通軟連線,不影響原始檔
4.刪除原始檔,軟連線找不到目標,報錯提示。
5.可以操作軟連結完成對原始檔的修改。
硬連結
硬連結,就是一個數據(block)被多個相同inode號的檔案指向。
建立語法
ln 原始檔 目標檔案
硬連結的特點
1.可以對已存在的檔案做硬連結,該檔案的硬連結數,至少是1,為0就表示檔案不存在
2.硬連結的檔案,inode相同,屬性一致
3.只能在同一個磁碟分割槽下,同一個檔案系統下建立硬連結
4.不能對資料夾建立硬連結,只有檔案可以
5.刪除一個硬連結,不影響其他相同inode號的檔案
6.資料夾的硬連結,預設是2個,以及是2+(第一層子目錄總數)=資料夾的硬連結數量
7.可以用任意一個硬連結作為入口,操作檔案(修改的其實是block中的資料)
8.當檔案的硬連結數為0時,檔案真的被刪除
Raid磁碟冗餘陣列
RAID,全稱為Redundant Arrays of Independent Drives,即磁碟冗餘陣列。
這是由多塊獨立磁碟(多為硬碟)組合的一個超大容量磁碟組。
計算機一直是在飛速的發展,更新,整體計算機硬體也得到極大的提升,由於磁碟的特性,需要持續、頻繁、大量的讀寫操作,相比較於其他硬體裝置,很容易損壞,導致資料丟失。
硬raid和軟raid
硬raid
1、通過用硬體來實現RAID功能的就是硬RAID,獨立的RAID卡,主機板整合的RAID晶片都是硬RAID。
2、RAID卡就是用來實現RAID功能的板卡,通常是由I/O處理器、硬碟控制器、硬碟聯結器和快取等一系列零元件構成的。
3、不同的RAID卡支援的RAID功能不同。支援RAlD0、RAID1、RAID4、RAID5、RAID10不等。
軟raid
軟RAID運行於作業系統底層,將SCSI或者IDE控制器提交上來的物理磁碟,虛擬成虛擬磁碟,再提交給管理程式來進行管理。軟RAID有以下特點:
佔用記憶體空間
佔用CPU資源
如果程式或者作業系統故障就無法執行
區別:
1、軟體RAID額外消耗CPU資源,效能弱
2、硬體RAID更加穩定,軟體RAID可能造成磁碟發熱過量,造成威脅
3、相容性問題,軟體RAID依賴於作業系統,硬體RAID更勝一籌
raid 0
raid0磁碟總容量
將兩個或兩個以上相同型號、容量的硬碟組合,磁碟陣列的總容量便是多個硬碟的總和。
raid0特點
- 至少需要兩塊磁碟
- 資料條帶化分佈到磁碟,高讀寫效能,100%儲存(空間利用率)
- 資料沒有冗餘策略,一塊磁碟故障,資料將無法恢復
- 應用場景:
- 對效能要求高但對資料安全性和可靠性要求不高的場景,比如音訊、視訊等的儲存。
備註
條帶化技術就是一種自動的將 I/O 的負載均衡到多個物理磁碟上的技術
磁碟條帶化是指利用條帶化技術就是將一塊連續的資料分成很多小部分並把它們分別儲存到不同磁碟上去。
raid 1
由於raid 0的特性,資料依次寫入到各個物理硬碟中,資料是分開放的,因此損壞任意一個硬碟,都會對完整的資料破壞,對於企業資料來說,肯定是不允許。
Raid 1技術,是將兩塊以上硬碟繫結,資料寫入時,同時寫入多個硬碟,因此即使有硬碟故障,也有資料備份。
raid1特點
- 至少需要2塊磁碟
- 資料映象備份寫到磁碟上(工作盤和映象盤),可靠性高,磁碟利用率為50%
- 讀效能可以,但寫效能不佳,寫入資料要同步,因此速度很慢。
- 一塊磁碟故障,不會影響資料的讀寫,因為是映象盤,冗餘性好,只要有一塊是好的,資料還是玩轉的。
- RAID 1應用場景:
- 對資料安全可靠要求較高的場景,比如郵件系統、交易系統等。
raid 10
raid 10特點:
RAID10是raid1+raid0的組合
- 至少需要4塊磁碟
- 兩塊硬碟為一組先做raid1,再將做好raid1的兩組做raid0
- 兼顧資料的冗餘(raid1映象)和讀寫效能(raid0資料條帶化)
- 磁碟利用率為50%,成本較高
- 只要壞的不是同一個組中,所有的硬碟,就算壞掉一半硬碟都不會丟資料。
raid 5
raid5特點:
- 至少需要3塊磁碟
- 資料條帶化儲存在磁碟,讀寫效能好,磁碟利用率為(n-1)/n
- 一塊磁碟故障,可根據其他資料塊和對應的校驗資料重構損壞資料(消耗效能)
- 校驗演算法是計算機二進位制的的異或運算(瞭解即可)
- 只能允許壞掉一塊盤。
- 是目前綜合效能最佳的資料保護解決方案
- 兼顧了儲存效能、資料安全和儲存成本等各方面因素(價效比高)
- 適用於大部分的應用場景
- 可以看到raid 5 是兩兩資料就會計算出一個校驗值,儲存在一個硬碟上
- 如果遇見磁碟損壞,且只能掛掉一塊,還是可以用其他磁碟恢復資料的。
raid 6
RAID6特點:
- 至少需要4塊磁碟
- 資料條帶化儲存在磁碟,讀取效能好,容錯能力強
- 採用雙重校驗方式保證資料的安全性
- 如果2塊磁碟同時故障,可以通過兩個校驗資料來重建兩個磁碟的資料
- 成本要比其他等級高,並且更復雜
- 一般用於對資料安全性要求非常高的場合