2019年7月25日 星期四

EXT3 升級 EXT4 格式,以及讓 e2fsck 顯示 progress information


sudo tune2fs -O extents,uninit_bg,dir_index /dev/sdXX
tune2fs -O extents,uninit_bg,dir_index /dev/mmcblk1p1

參考 How do you get e2fsck to show progress information?

大約 6TB 的 partition,執行 fsck.ext3 後,等了2, 3 個小時,還沒結束,也沒有任何訊息。
# time fsck.ext3 -pf /dev/sdb1

其實加上 -C 的選項就可以顯示執行進度 (progress bar),但更酷的是,不用重新開始執行程式,只要在另一個命令視窗中,執行 killall -USR1 fsck.ext3,原來的程式就會顯示 progress bar了。

執行結果如下
# fsck.ext3 -pf /dev/sb1
/dev/sdb1: |======================= | 95.0% 
酷吧:)

另外,也可以這樣做

ps -ef | grep fsck
  5079  5007 47 00:55 pts/1    00:08:25 /sbin/fsck.ext3 -yv /dev/hda2
with the process ID,
kill -USR1 5079

將 EXT3 的分割區轉換成 EXT4 後,再執行一次 fsck,還會再對目錄做最佳化,難怪效能比較好。
#  time fsck.ext4 -yfD /dev/sb1
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure                                           
Pass 3: Checking directory connectivity                                        
Pass 3A: Optimizing directories                                                
Rebuilding directory: |=========                       - 29.2%  144001413 

fsck 花的時間比較久,tune2fs 的指令,由 ext3 轉換至 ext4,則瞬間完成。

沒有留言:

張貼留言

網誌存檔