lvm快照備份mysql

來源:互聯網
上載者:User

標籤:

快照備份原理(從其他部落格看的):

原理:通過lvm快照給lvm真身拍個照片,當lvm真身發送改變時,lvm快照把lvm真身改變之前的內容存放在快照上,這樣在lvm快照有效這段時間內,我們看到的lvm快照上的內容始終是lvm真身在建立lvm快照時內容,通過備份lvm快照即可達到線上備份lvm真身的目的。需要注意的是,當lvm快照比lvm真身小時,若lvm真身發生的改變大於lvm快照,則lvm快照將變得無法讀取而失效; 若lvm快照大於等於lvm真身,則不會發生前面的情況。
當一個snapshot建立的時候,僅拷貝原始卷裡資料的中繼資料(meta- data)。建立的時候,並不會有資料的物理拷貝,因此snapshot的建立幾乎是即時的,當原始卷上有寫操作執行時,snapshot跟蹤原始卷塊的改變,這個時候原始卷上將要改變的資料在改變之前被拷貝到snapshot預留的空間裡,因此這個原理的實現叫做寫時複製(copy-on- write)。
在寫操作寫入塊之前,CoW將未經處理資料移動到snapshot空間裡,這樣就保證了所有的資料在snapshot建立時保持一致。而對於snapshot的讀操作,如果是讀取資料區塊是沒有修改過的,那麼會將讀操作直接重新導向到原始卷上,如果是要讀取已經修改過的塊,那麼就讀取拷貝到snapshot中的塊。

lvm快照備份幾乎熱備:   

前提:
        1、資料檔案要在邏輯卷上;
        2、此邏輯卷所在卷組必須有足夠空間使用快照卷;
        3、資料檔案和交易記錄要在同一個邏輯卷上;

[[email protected] mydata]# df -hFilesystem                    Size  Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root  4.0G  3.7G  125M  97% /tmpfs                         935M     0  935M   0% /dev/shm/dev/sda1                     485M   39M  421M   9% /boot/dev/mapper/myvg-mylv         886M  151M  691M  18% /mydata           //這是mysql資料庫檔案和二進位記錄檔還有151M可用空間[[email protected] mydata]# 

 過程:

  1.給mysql表加鎖

mysql> flush tables with read lock; Query OK, 0 rows affected (0.00 sec)

 2、通過另一個終端,儲存二進位記錄檔及相關位置資訊;

[[email protected] mydata]# mysql -e ‘show master status\G‘>/backup/master.info*************************** 1. row ***************************            File: mysql-bin.000030        Position: 472    Binlog_Do_DB: Binlog_Ignore_DB: 

 3、給/mydata建立快照卷,名字為back_test

[[email protected] mydata]# lvcreate -L 30M -s -n back_test /dev/mapper/myvg-mylv   Rounding up size to full physical extent 32.00 MiB  Logical volume "back_test" created

4、釋放鎖,插入資料
           

mysql> insert into student (name) value (‘david‘);ERROR 1223 (HY000): Can‘t execute the query because you have a conflicting read lockmysql> unlock tables;Query OK, 0 rows affected (0.00 sec)mysql> insert into student (name) value (‘david2‘);Query OK, 1 row affected, 1 warning (0.00 sec)mysql> insert into student (name) value (‘david3‘);Query OK, 1 row affected, 1 warning (0.00 sec)mysql> commit    -> ;Query OK, 0 rows affected (0.05 sec)

5、掛載快照卷,備份,刪除快照卷

[[email protected] mydata]# mount -r /dev/myvg/back_test /mnt/[[email protected] mnt]# cp -rfia ./*  /tmp/ 
[[email protected] /]# lvremove /dev/myvg/back_test
Do you really want to remove active logical volume back_test? [y/n]: y
  Logical volume "back_test" successfully removed
[[email protected] /]#

6、增量備份二進位日誌,如果有多個事務可以根據472對應的時間點來備份

[[email protected] mydata]# mysqlbinlog --start-position=472 mysql-bin.000030 mysql-bin.000031 >/root/lv_back.sql
  //根據時間點備份多個事務,注意時間格式
[[email protected] mydata]# mysqlbinlog --start-time=‘2015-08-06 17:32:08‘ mysql-bin.000030 mysql-bin.000031 >/root/lv_back.sql


 7.類比mysql損壞

[[email protected] /]# rm /mydata/* -rf
[[email protected] /]# service mysqld stop
MySQL server PID file could not be found!                  [FAILED]

 8.恢複

  可以不複製二進位日誌,可以把二進位日誌刪除 

[[email protected] mydata]# cp -riaf /tmp/*  /mydata/      //將檔案複製到mysql的資料檔案位置chown -R mysql:mysql   /mydata/*                //如果/mydata下的屬主不是 mysql許可權,需要修改為mysql許可權 mysql>set sql_log_bin=0                                   //根據情況看是否關閉 mysql> \. /root/lv_back.sql                  //還原二進位日誌事務

查看熱備後執行的事務是否恢複

mysql> select * from student;
+----+--------+-----+------+
| id | name   | age | Cid  |
+----+--------+-----+------+
|  1 | sean   |  22 |    6 |
|  5 | alice  |   0 | NULL |
|  6 | tom    |   0 | NULL |
|  7 | david2 |   0 | NULL |
|  8 | david3 |   0 | NULL |
+----+--------+-----+------+

 




 

lvm快照備份mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.