91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 為什么NTFS刪除超過4G大文件或數據庫文件后FILE RECORD大小表現為0

為什么NTFS刪除超過4G大文件或數據庫文件后FILE RECORD大小表現為0

發布時間:2020-07-22 00:12:05 來源:網絡 閱讀:3156 作者:張宇 欄目:數據庫

為什么NTFS刪除超過4G大文件或數據庫文件后FILE RECORD大小表現為0?


答:NTFS刪除一個文件,必須要完成如下幾個流程,才算完結:

1、更改文件系統$bitmap,釋放空間

2、更改$mft filerecord項的屬性為刪除

3、更改$mft:$bitmap的位圖信息為0,釋放這個filerecord的占用空間

4、清除目錄鏈表中關于本文件的item信息。

        這個流程是理想狀態下的處理規則,但實際上,最頭疼的是OS要考慮這個問題:如果在上述4個步驟中出現中斷(如突然斷電、死機等),如何讓下次操作時能夠繼續,或者維系文件系統還是一致的(最簡單的,如果文件刪除了,但目錄還在,那總是不合適的,全盤李檢測一次又太消耗時間,而且到底誰錯了,有時候也分不清),為了解決這個問題,NTFS引入了$logfile,即日志,簡單說就是為正在執行的一個完整IO運作(如刪除一個文件)事先記錄一下狀態,如果沒做成功,下回直接回滾回沒做成功的狀態即可。

        可是問題又來了,如果某個文件太大,或者存儲鏈表太長(即碎片太多)。記錄這個文件元信息部分就會變得很大,比如一個文件大小是4G,按4K塊大小算,連續的位圖至少也得有1M,為了不至于在日志文件中保存太大的信息(比如一個4T的文件,先保存1g的位圖,太慢且變數又增大了),NTFS對于復雜文件或大文件是采取分批次處理的:即某個文件可能是不斷地被變小,變小,直至變0。

        為了維持操作的一致性。猜想,NTFS設了兩種情況,如果是判斷可以一次日志記錄即夠完成某個IO原子操作的,就不用清除filerecord的大小和位置信息(runlist)了。但如果ntfs無法一次日志完成一個IO原子操作,則需要分成多個獨立的IO原子操作,每個IO原子操作記錄一次日志,完成時更新成新狀態——這樣一來,刪除一個大文件或多碎片的文件,最后一次IO原子操作后,就會清除為0大小,RUNLIST清空狀態。

        這個問題中,4G其實也不是變數,猜測來源于4K塊大小,和文件一次釋放1M個簇范圍的片區導致。數據庫往往不容易恢復,大小即使小于4G,其原因是因為數據庫不斷增長,碎片較多,片斷化導致元數據量大,位置分散,無法一次性完成釋放等操作。

                                                                                                       -------北亞數據恢復中心 張宇

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台前县| 沽源县| 武城县| 巍山| 定边县| 嘉峪关市| 丰宁| 长顺县| 苍南县| 馆陶县| 旬阳县| 德清县| 镇平县| 乌鲁木齐市| 布尔津县| 光泽县| 晋宁县| 宁海县| 上栗县| 张家界市| 金阳县| 翁源县| 吉首市| 天等县| 自治县| 图片| 仁布县| 南丹县| 湖南省| 邵武市| 探索| 资兴市| 新巴尔虎右旗| 奈曼旗| 德令哈市| 沂源县| 沙雅县| 临海市| 嘉峪关市| 宣城市| 合山市|