今天要做個單分區的RAID0,開始在機器上開始執行(我本機用的是RHEL5,測試環境也是RHEL5,並且分區表的信息差不多)。幾步下來,RAID建好了,但系統死活要重啟才能生效,使用partprobe刷了多次都不行。算了,那就重啟吧。
當我輸入init 6 的時候,我的物理機居然重啟了;我才發現原來之前建RAID我是在本機上操作的,理論上是要在虛擬機上操作,但因為是使用SSH連接過去,並且開了好幾個終端,誤在物理機上操作了,導致以下問題;不禁冷吸一口氣,我在建RAID的時候 在物理機上執行了以下操作:
1、我有6個分區,/dev/sda6空間有151G,其他分區略下,並且這個分區是我在數據的地方。數據大小約為114G,這東西要丟了,我都不知道從哪兒找去.......
2、使用fdisk /dev/sda ,通過p查看/dev/sda這麼大,我就把/dev/sda6給刪了,然後重新建立了一個/dev/sda6大小為30G,並將分區格式改為raid
3、保存退出後,使用partprobe刷新分區表
4、使用mdadm -C /dev/md0 -l 0 -l 1 /dev/sda6 -f 提示一長串,一下子想不起來了,不過提示跟分區有關,於是我繼續刷新了兩次分區表,無果。
5、重啟計算機
重啟計算時,我的物理機也重啟了,我第一反應是我把自己的物理機的分區給刪了,並且改了文件系統格式。計算機啟動後,我發現我之前的/dev/sda6裡的所有資料都不見了。
具體現象:
1、到之前的掛載目錄,發現該目錄裡仍然有之前的文件夾,但進不去,也打不開。
2、使用df -h 看到/dev/sda6數據大小,沒有變。
解救方法:
因為我沒有把/dev/md0給格式化,所以在分區表裡,還能看到/dev/sda6的數據占用大小,所以,我覺得重建分區表,還是可以將分區表恢復回來的。
解救步驟:
1、fdisk /dev/sda 刪除/dev/sda6的分區,並且新建一個分區(還是/dev/sda6),將其用完剩下的所有的扇區(這個要跟出問題之前是一樣的)
2、文件系統默認為ext3
3、保存完畢後,使用partprobe 刷新分區表
4、重新掛載該分區。進入目錄,仍然無法打開目錄。
我覺得自己的思路是正確的,但是為何不能打開/dev/sda6裡的目錄呢。
於是突然試著想重新啟動一次PC試試,啟動之後,/dev/sda6裡的數據又恢復了。