linux fio 導致 磁盤丟失

真是傻逼一個啊,從網上看了資料,直接複製別人的命令,而沒有理解,造成全部磁盤的文件丟失了!!


起因:想測試下linux下磁盤的性能,找到一篇傻逼的不負責任的文章,更多是自己傻逼!

 fio -filename=/dev/sdb1 -direct=1 

開始執行 read 測試,沒有問題,然後執行 write 測試,測試的是 / 所在的分區,顯示寫入速度只有 0

df -h 查看,所有被 fio 查過的6個磁盤,使用率顯示 100%,然後想執行 reboot,提示 找不到 reboot。按機箱重啓按鈕,啓動不起來,才意識到出大問題了。


於是搜 fio 命令參數, fio -filename=/dev/sdb1   這個的意思是從 分區 sdb1 的第一個扇區開始寫入隨機數據,去判斷這個磁盤的寫入速度。 網上大部分文章都是這麼寫的,不知道坑死多少人!!!


百度搜 “fio 磁盤丟失”,發現幾個人差不多的問題。於是開始研究 ext4 分區的結構。

http://www.cnblogs.com/xuczhang/archive/2010/02/26/1674111.html

搜索 “ext4 分區恢復”,看到一個 testdisk 工具

http://www.cgsecurity.org/wiki/TestDisk_Download

https://www.cgsecurity.org/testdisk-7.1-WIP.linux26-x86_64.tar.bz2

解壓執行 ./testdisk_static  有個 superblock 菜單,顯示出了找到的superblock

superblock 819200, blocksize=4096 []
superblock 884736, blocksize=4096 []
superblock 1605632, blocksize=4096 []
superblock 2654208, blocksize=4096 []
superblock 4096000, blocksize=4096 []
superblock 7962624, blocksize=4096 []
superblock 11239424, blocksize=4096 []
superblock 20480000, blocksize=4096 []
superblock 23887872, blocksize=4096 []
superblock 71663616, blocksize=4096 []

mke2fs -n /dev/sdb1

顯示 Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000

第一個備份是在 32768,但是testdisk 沒有發現,說明被損壞了。

fsck.ext4 -y -B 4096 -b 819200 /dev/sdb1   

-y 表示全部問題自動按y

-B block的大小,各人磁盤不同,在 mke2fs -n /dev/sdb1 有顯示

-b  備份的superblock的位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章