云計(jì)算學(xué)習(xí)路線教程大綱課件:EXT2/3/4文件系統(tǒng):
創(chuàng)新互聯(lián)建站是一家以重慶網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、seo優(yōu)化排名、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為樓梯護(hù)欄等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。索引式文件系統(tǒng)
====================================================================================
Ext3/Ext4文件系統(tǒng)基本結(jié)構(gòu)
? superblock:記錄此文件系統(tǒng)的整體信息,包括inode/block的總量、使用量、剩余量,以及文件系統(tǒng)的格式等;
? inode:記錄文件的屬性(文件的元數(shù)據(jù)metadata),一個文件占用一個inode,同時記錄此文件數(shù)據(jù)所在的block number;
? block:實(shí)際存儲文件的內(nèi)容,若文件太大時,會占用多個block。
Superblock 沒有Superblock ,就沒有filesystem
? block 與 inode 的總量;
? 未使用與已使用的 inode / block 數(shù)量;
? block 與 inode 的大小 (block 為 1, 2, 4K,inode 為 128bytes 或 256bytes);
? filesystem 的掛載時間、最近一次寫入數(shù)據(jù)的時間、最近一次檢查 (fsck) 的時間等文件系統(tǒng)相關(guān)信息;
? 每個block group 都可能含有 superblock,這樣可以進(jìn)行用于 superblock 的修復(fù);
inode table: 存儲文件的元數(shù)據(jù)
? 文件的權(quán)限(read/write/excute);
? 文件的屬主/屬組(owner/group);
? 文件的大??;
? 文件的(ctime);
? 文件的(atime);
? 文件的(mtime);
? 記錄文件內(nèi)容所在的block number (pointer);
data block: 存儲文件的實(shí)際數(shù)據(jù)
查看文件系統(tǒng)的信息
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 日志式文件系統(tǒng)
新建一個文件的過程:
1. 先確定使用者對于想新創(chuàng)建文件目錄是否具有 w 與 x 的權(quán)限;
2. 根據(jù) inode bitmap 找到?jīng)]有使用的 inode 號碼,并將文件的權(quán)限和屬性寫入;
3. 根據(jù) block bitmap 找到?jīng)]有使用的 block號碼,將文件的實(shí)際數(shù)據(jù)寫入 block 中,且更新 inode 的 block 指向信息;
4. 將剛剛寫入的 inode 與 block 信息同步更新 inode bitmap 與 block bitmap,并更新 superblock 的內(nèi)容。
? 文件的不一致 (Inconsistent) 狀態(tài)
例如突然斷電、kernel發(fā)生錯誤等。這樣可能寫入的信息僅有 inode table 及 data block 而已,最后一個同步更新的步
驟并沒有做完,此時就會發(fā)生 metadata 的內(nèi)容與實(shí)際信息產(chǎn)生不一致 (Inconsistent) 的情況。
? 日志式文件系統(tǒng) (Journaling filesystem)
1. 準(zhǔn)備:當(dāng)系統(tǒng)要寫入一個文件時,會先在日志區(qū)記錄某個文件準(zhǔn)備寫入的信息;
2. 實(shí)際寫入:寫入文件的權(quán)限與數(shù)據(jù),更新 metadata 的信息;
3. 結(jié)束:完成數(shù)據(jù)與 metadata 的更新后,在日志記錄區(qū)塊中完成文件的記錄。
修復(fù)文件系統(tǒng) fsck,e2fsck -fy
案例1: 系統(tǒng)無法啟動
案例二:Read-only file system
如果運(yùn)行中的服務(wù)器的某一個分區(qū)出現(xiàn)readonly,導(dǎo)致進(jìn)程無法寫這個分區(qū)(比如nginx進(jìn)程無法寫日志文件到此分區(qū),
手動測試touch到此分區(qū)也顯示:cannot touch ‘xxxxx’:Read-only file system),該怎么辦?
解決:磁盤read-only的原因一般有2種,一種是沒有正常關(guān)機(jī)導(dǎo)致,還有一種是硬盤故障導(dǎo)致。
如果是/分區(qū),這種情況只能下線報(bào)修磁盤了。
如果是其它分區(qū),則可以嘗試三步解決此問題:
1. 先取消掛載此分區(qū)
2. 再fsck.ext4 -fy /dev/sdb1
3. 最后掛載此分區(qū),檢查是否可以正常讀寫。
如果仍舊不可以正常讀寫,請報(bào)修磁盤。
注:以上操作過程,請保證服務(wù)器不在線上提供服務(wù)。
案例三:修復(fù)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恢復(fù)superblock
[root@tianyun ~]# fsck.ext4 -b 8192 /dev/datavg/lv1
新聞名稱:云計(jì)算學(xué)習(xí)路線教程大綱課件:EXT2/3/4文件系統(tǒng)-創(chuàng)新互聯(lián)
本文鏈接:http://redsoil1982.com.cn/article2/dggcoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、企業(yè)建站、微信小程序、全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容