歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 生產誤操作mv根分區恢復數據過程

生產誤操作mv根分區恢復數據過程

日期:2017/2/28 13:51:30   编辑:Linux教程

誤操作恢復記錄(如何掛在其他硬盤的lvm卷)

生產環境 CentOS7

誤操作過程

執行mv * /mysql_back命令,因為要講mysql自動備份的數據庫文件挪到對應文件夾下。但是執行該命令時所在路徑為/ 根目錄,導致將系統所有文件都挪到/mysqlbak 文件夾下,系統基本崩潰,除了bash的內建命令cd還能去ls 等/usr/bin系統命令都已經找不到。

恢復思路

  • 硬盤上的虛擬機系統重啟已經無法啟動
  • 硬盤上的數據只是被mv到/mysqlbak 文件夾下,應該還沒有被刪除
  • 需要通過介質(光盤或者u盤)中的linux系統啟動(非救援模式,救援也無法重新整理整個操作系統的文件結構了,還有可能導致數據丟失)
  • 將硬盤掛在到光盤啟動的微型Linux系統上,通過網絡拷貝出去

配置光盤內的linux環境

  1. 通過光盤啟動,選擇安裝Centos7

  2. 選擇語言後,進入安裝配置界面,不要配置硬盤,只配置網絡(方便通過網絡將數據拷出)

配置ip地址確保能夠訪問到接收數據的機器

檢查舊硬盤上的文件系統,默認都是LVM

按下Ctrl+Alt+Win+ F2切換到安裝光盤的Linux的後台終端界面
通過查看/dev /dev/mapper 及mount命令可以看到,光盤的linux系統並沒有自動將硬盤的lvm識別,並加載,/dev/mapper 只有live-開頭的光盤的lvm邏輯卷。

通過pvscan lvscan vgscan 命令可以看到實際上能夠檢索出lvm卷組,但是當前狀態是inactive,需要激活 參考文章:Moving a volume group to another system

上圖不清楚貼一個 虛擬機模擬環境截圖

執行命令激活lvm卷組,並通過lvscan查看邏輯卷已經active,查看/dev/多了一個centos目錄,並且舊硬盤的邏輯卷root也出現了

生產上的截圖可以看出出現在了/dev/mapper 下

掛載舊硬盤的lvm卷組

帶上 -o ro 參數,已只讀模式訪問硬盤數據,避免損失數據

檢查舊數據完整性,遷移舊數據

可以看到mv命令把大部分數據都移到/mysqlbak 目錄下,還有一部分因為權限或者關機的原因沒有移動完,因此有可能數據文件沒有丟失,但會有損壞

檢查需要拷貝的數據文件,通過scp或者sftp等方式轉移到新的環境,並導入新機器,啟動測試數據是否完整。

遷移舊的mysql數據庫文件到新的機器上去

參考MySQL數據庫遷移
/var/lib/mysql 下所有文件(除了ib_logfile* 和 *.err)到新的機器下的/var/lib/mysql/文件夾下

注意修改權限 否則啟動時會失敗

chown -R mysql:mysql /var/lib/mysql/* 
Copyright © Linux教程網 All Rights Reserved