雲端計算學習路線教程大綱課件:EXT2/3/4檔案系統
雲端計算學習路線教程大綱課件:EXT2/3/4檔案系統:
索引式檔案系統
====================================================================================
Ext3/Ext4檔案系統基本結構
• superblock:記錄此檔案系統的整體資訊,包括inode/block的總量、使用量、剩餘量,以及檔案系統的格式等;
• inode:記錄檔案的屬性(檔案的後設資料metadata),一個檔案佔用一個inode,同時記錄此檔案資料所在的block number;
• block:實際儲存檔案的內容,若檔案太大時,會佔用多個block。
Superblock 沒有Superblock ,就沒有filesystem
• block 與 inode 的總量;
• 未使用與已使用的 inode / block 數量;
• block 與 inode 的大小 (block 為 1, 2, 4K,inode 為 128bytes 或 256bytes);
• filesystem 的掛載時間、最近一次寫入資料的時間、最近一次檢查 (fsck) 的時間等檔案系統相關資訊;
• 每個block group 都可能含有 superblock,這樣可以進行用於 superblock 的修復;
inode table: 儲存檔案的後設資料
• 檔案的許可權(read/write/excute);
• 檔案的屬主/屬組(owner/group);
• 檔案的大小;
• 檔案的(ctime);
• 檔案的(atime);
• 檔案的(mtime);
• 記錄檔案內容所在的block number (pointer);
data block: 儲存檔案的實際資料
檢視檔案系統的資訊
dumpe2fs
[root@tianyun ~]# dumpe2fs /dev/sda2
tune2fs
[root@tianyun ~]# tune2fs -l /dev/sda3
tune2fs 1.39 (29-May-2006)
Filesystem volume name: yang
Last mounted on: <not available>
Filesystem UUID: 28459f88-87dc-4624-94a7-07b0f3eb2420
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 48960
Block count: 195312
Reserved block count: 9765
Free blocks: 183410
Free inodes: 48946
First block: 1
Block size: 1024
First inode: 11
Inode size: 128
Journal inode: 8
EXT2/EXT3/EXT4 日誌式檔案系統
新建一個檔案的過程:
1. 先確定使用者對於想新建立檔案目錄是否具有 w 與 x 的許可權;
2. 根據 inode bitmap 找到沒有使用的 inode 號碼,並將檔案的許可權和屬性寫入;
3. 根據 block bitmap 找到沒有使用的 block號碼,將檔案的實際資料寫入 block 中,且更新 inode 的 block 指向資訊;
4. 將剛剛寫入的 inode 與 block 資訊同步更新 inode bitmap 與 block bitmap,並更新 superblock 的內容。
• 檔案的不一致 (Inconsistent) 狀態
例如突然斷電、kernel發生錯誤等。這樣可能寫入的資訊僅有 inode table 及 data block 而已,最後一個同步更新的步
驟並沒有做完,此時就會發生 metadata 的內容與實際資訊產生不一致 (Inconsistent) 的情況。
• 日誌式檔案系統 (Journaling filesystem)
1. 準備:當系統要寫入一個檔案時,會先在日誌區記錄某個檔案準備寫入的資訊;
2. 實際寫入:寫入檔案的許可權與資料,更新 metadata 的資訊;
3. 結束:完成資料與 metadata 的更新後,在日誌記錄區塊中完成檔案的記錄。
修復檔案系統 fsck,e2fsck -fy
案例1: 系統無法啟動
案例二:Read-only file system
如果執行中的伺服器的某一個分割槽出現readonly,導致程式無法寫這個分割槽(比如nginx程式無法寫日誌檔案到此分割槽,
手動測試touch到此分割槽也顯示:cannot touch ‘xxxxx’:Read-only file system),該怎麼辦?
解決:磁碟read-only的原因一般有2種,一種是沒有正常關機導致,還有一種是硬碟故障導致。
如果是/分割槽,這種情況只能下線報修磁碟了。
如果是其它分割槽,則可以嘗試三步解決此問題:
1. 先取消掛載此分割槽
2. 再fsck.ext4 -fy /dev/sdb1
3. 最後掛載此分割槽,檢查是否可以正常讀寫。
如果仍舊不可以正常讀寫,請報修磁碟。
注:以上操作過程,請保證伺服器不線上上提供服務。
案例三:修復superblock
找到備份的superblock
[root@tianyun ~]# dumpe2fs -h /dev/datavg/lv1 |grep 'Blocks per group'
dumpe2fs 1.42.9 (28-Dec-2013)
Blocks per group: 8192
利用備份的 superblock恢復superblock
[root@tianyun ~]# fsck.ext4 -b 8192 /dev/datavg/lv1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2657445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 雲端計算學習路線教程大綱課件:XFS檔案系統
- 雲端計算學習路線教程大綱課件:FAT檔案系統
- 雲端計算學習路線教程大綱課件:檔案連結
- 雲端計算學習路線教程大綱課件:LVM管理LVM
- 雲端計算學習路線教程大綱課件:FTP ServerFTPServer
- 雲端計算學習路線教程大綱課件:部署網校系統 edusoho
- 雲端計算學習路線教程大綱課件:部署部落格系統wordpress
- 雲端計算學習路線教程大綱課件:使用自建源
- 雲端計算學習路線教程大綱課件:關於NFSNFS
- 雲端計算學習路線教程大綱課件:tar專案實戰案例
- 雲端計算學習路線教程大綱課件:Linux新手入門教程Linux
- 雲端計算學習路線教程大綱課件:客戶端查詢客戶端
- 雲端計算學習路線教程大綱課件:網路管理基礎
- 雲端計算學習路線教程大綱課件:磁碟陣列 RAID陣列AI
- 雲端計算學習路線教程大綱課件:關於HTTP ServerHTTPServer
- 雲端計算學習路線教程大綱課件:Mount 掛載詳解
- 雲端計算學習路線教程大綱課件:部署網上商城ecshop
- 雲端計算學習路線教程大綱課件:雲端計算開發程式設計條件結構程式設計
- 雲端計算學習路線教程大綱課件:交換分割槽管理 Swap
- 雲端計算學習路線教程大綱課件:使用RPM工具管理RPM包
- 雲端計算學習路線教程大綱課件:HTTP Server: Apache知識點HTTPServerApache
- 雲端計算學習路線教程大綱課件:關於shell知識點
- 雲端計算學習路線教程大綱課件:YUM 簽名檢查機制
- 雲端計算學習路線教程大綱課件:tCentos6網路卡問題CentOS
- 雲端計算學習路線課程大綱資料:檔案屬性 chattr
- 好程式設計師雲端計算學習路線教程大綱課件:Mount掛載詳解程式設計師
- 雲端計算學習路線教程大綱課件:CentOS7修改網路卡為eth0CentOS
- 雲端計算學習路線教程大綱課堂筆記:Apache訪問控制筆記Apache
- 雲端計算學習路線課程大綱資料:程式管道 Piping
- 雲端計算學習路線教程大綱課堂筆記:構建企業級WIKI及工單系統筆記
- 雲端計算學習路線課程大綱資料:作業控制 jobs
- 雲端計算學習路線課程大綱資料:檢視程式 process
- 雲端計算學習路線課程大綱資料:基本分割槽管理
- 雲端計算學習路線課程大綱資料:引數傳遞 Xargs
- 雲端計算大資料學習路線課程大綱資料:hive入門操作大資料Hive
- 雲端計算學習路線課程大綱資料:儲存基礎知識
- 雲端計算學習路線課程大綱資料:使用訊號控制程式
- 雲端計算學習路線圖素材課件:雲端計算常用的開源工具開源工具