誤操作恢復(fù)記錄(如何掛在其他硬盤的lvm卷)
生產(chǎn)環(huán)境 centos7
## ****誤操作過程
執(zhí)行mv * /mysql_back命令继阻,因為要講mysql自動備份的數(shù)據(jù)庫文件挪到對應(yīng)文件夾下。但是********執(zhí)行該命令時所在路徑為****/ ****根目錄********麻削,導(dǎo)致將系統(tǒng)所有文件都挪到/mysqlbak 文件夾下,系統(tǒng)基本崩潰,除了bash的內(nèi)建命令cd還能去ls 等/usr/bin系統(tǒng)命令都已經(jīng)找不到铛绰。
## ****恢復(fù)思路
- 硬盤上的虛擬機系統(tǒng)重啟已經(jīng)無法啟動
- 硬盤上的數(shù)據(jù)只是被mv到/mysqlbak 文件夾下赶站,應(yīng)該還沒有被刪除
- 需要通過介質(zhì)(光盤或者u盤)中的linux系統(tǒng)啟動(非救援模式幔虏,救援也無法重新整理整個操作系統(tǒng)的文件結(jié)構(gòu)了,還有可能導(dǎo)致數(shù)據(jù)丟失)
- 將硬盤掛在到光盤啟動的微型Linux系統(tǒng)上贝椿,通過網(wǎng)絡(luò)拷貝出去
## ****配置光盤內(nèi)的****linux****環(huán)境
-
通過光盤啟動想括,選擇安裝Centos7
-
選擇語言后,進(jìn)入安裝配置界面烙博,不要配置硬盤瑟蜈,只配置網(wǎng)絡(luò)(方便通過網(wǎng)絡(luò)將數(shù)據(jù)拷出)
配置ip地址確保能夠訪問到接收數(shù)據(jù)的機器
## ****檢查舊硬盤上的文件系統(tǒng),默認(rèn)都是****LVM
********按下****Ctrl+Alt+Win+ F2****切換到安裝光盤的****Linux****的后臺終端界面********
通過查看/dev /dev/mapper 及mount命令可以看到渣窜,光盤的linux系統(tǒng)并沒有自動將硬盤的lvm識別铺根,并加載,/dev/mapper 只有l(wèi)ive-開頭的光盤的lvm邏輯卷乔宿。
通過pvscan lvscan vgscan 命令可以看到實際上能夠檢索出lvm卷組位迂,但是當(dāng)前狀態(tài)是****inactive****,需要激活 參考文章:Moving a volume group to another system
上圖不清楚貼一個 虛擬機模擬環(huán)境截圖
執(zhí)行命令激活lvm卷組详瑞,并通過lvscan查看邏輯卷已經(jīng)****active****掂林,查看/dev/多了一個centos目錄,并且舊硬盤的邏輯卷root也出現(xiàn)了
生產(chǎn)上的截圖可以看出出現(xiàn)在了/dev/mapper 下
## ****掛載舊硬盤的****lvm****卷組
帶上 -o ro 參數(shù)坝橡,已只讀模式訪問硬盤數(shù)據(jù)泻帮,避免損失數(shù)據(jù)
## ****檢查舊數(shù)據(jù)完整性,遷移舊數(shù)據(jù)
可以看到mv命令把大部分?jǐn)?shù)據(jù)都移到/mysqlbak 目錄下计寇,還有一部分因為權(quán)限或者關(guān)機的原因沒有移動完锣杂,因此********有可能數(shù)據(jù)文件沒有丟失,但會有損壞********
檢查需要拷貝的數(shù)據(jù)文件饲常,通過scp或者sftp等方式轉(zhuǎn)移到新的環(huán)境蹲堂,并導(dǎo)入新機器狼讨,啟動測試數(shù)據(jù)是否完整贝淤。
## ****遷移舊的****mysql****數(shù)據(jù)庫文件到新的機器上去
參考MySQL數(shù)據(jù)庫遷移
/var/lib/mysql 下所有文件(除了ib_logfile* 和 *.err)到新的機器下的/var/lib/mysql/文件夾下
********注意修改權(quán)限******** 否則啟動時會失敗
chown -R mysql:mysql /var/lib/mysql/*