1、熱備所有數據庫
熱備腳本:10.1.1.200,/backup/scripts/whole_db_backup.sh
2、在每個計算節點執行dbserver_backup.sh腳本
Run script "dbserver_backup.sh" in each compute node. ?The script takes backup of "/boot" (to ROOT filesystem) and ROOT filesystem (with LVM snapshot).
The script takes backup of "/boot" (to ROOT filesystem) and ROOT filesystem (with LVM snapshot).
2.1對GPT表做備份
節點一,root用戶執行:
dd if=/dev/sda of=/erpnfs/backup/fs_backup/fs_20160518_bak/db01_GPT.bin bs=512 count=34
節點二,root用戶執行:
dd if=/dev/sda of=/erpnfs/backup/fs_backup/fs_20160518_bak/db02_GPT.bin bs=512 count=34
2.2確定沒有NFS或SMBFS mount
# mount | grep -w 'type nfs'
[root@dm01db01 fs_20160518_bak]# mount | grep -w 'type nfs'
10.1.12.31:/export/ExdataNfs on /erpnfs type nfs (rw,vers=4,addr=10.1.12.31,clientaddr=10.1.11.10)
[root@dm01db02 ~]# mount | grep -w 'type nfs'
10.1.12.31:/export/ExdataNfs on /erpnfs type nfs (rw,vers=4,addr=10.1.12.31,clientaddr=10.1.11.12)
# mount | grep -w 'type smbfs'
如果有輸出,記錄下mount信息后,umount
節點一,root用戶執行:
umount /erpnfs
節點二,root用戶執行:
umount /erpnfs
2.3確定活動的LV
節點一,root用戶執行:
/opt/oracle.SupportTools/dbserver_backup.sh --get-backup-partition
2.3.1) If above command returns "2", run below command to take backup. ( This applies to most cases)
# /opt/oracle.SupportTools/dbserver_backup.sh
2.3.2) If above command returns "1", it's likely there was rollback operation in the past. You need to run below command instead.
# /opt/oracle.SupportTools/dbserver_backup.sh --backup-to-partition 1
節點二,root用戶執行:
/opt/oracle.SupportTools/dbserver_backup.sh --get-backup-partition
2.3.1) If above command returns "2", run below command to take backup. ( This applies to most cases)
# /opt/oracle.SupportTools/dbserver_backup.sh
2.3.2) If above command returns "1", it's likely there was rollback operation in the past. You need to run below command instead.
# /opt/oracle.SupportTools/dbserver_backup.sh --backup-to-partition 1
3、手工備份u01文件系統,此步驟LVM snapshot將會包含
3.1對一節點的重要文件系統做備份
節點一:root用戶執行
3.1.1對\u01目錄做snapshot
1、對\u01做snapshot
lvcreate –L100G –s –n snap11_LVDbOra1 /dev/VGExaDb/LVDbOra1
5月19日:lvcreate -L 100G -s -n snap12_LVDbOra1 /dev/VGExaDb/LVDbOra1
5月20日:lvcreate -L 100G -s -n snap13_LVDbOra1 /dev/VGExaDb/LVDbOra1
2、為創建的快照設置卷標
e2label /dev/VGExaDb/snap11_LVDbOra1 U01_SNAP11
3、查看快照是否創建成功
lvs
3.1.2對\目錄做snapshot
1、對\u01做snapshot
lvcreate –L 50G –s –n snap11_LVDbSys1 /dev/VGExaDb/LVDbSys1
5月19日:lvcreate -L 50G -s -n snap12_LVDbSys1 /dev/VGExaDb/LVDbSys1
5月20日:lvcreate -L 50G -s -n snap13_LVDbSys1 /dev/VGExaDb/LVDbSys1
2、為創建的快照設置卷標
e2label /dev/VGExaDb/snap11_LVDbSys1 ROOT_SNAP11
3、查看快照是否創建成功
Lvs
3.1.3對\、\u01、\boot做tar備份
1、在一節點mount NFS
[root@dm01db01 ~]# mount 10.1.12.31:/export/ExdataNfs /erpnfs
[root@dm01db01 fs_20160518_bak]# mount | grep -w 'type nfs'
10.1.12.31:/export/ExdataNfs on /erpnfs type nfs (rw,vers=4,addr=10.1.12.31,clientaddr=10.1.11.10)
2、創建\和\u01文件系統snapshot的mount點
mkdir –p /tmpmnt/u01
mkdir –p /tmpmnt/root
3、將snapshot掛至mount點
mount /dev/VGExaDb/snap11_LVDbOra1 /tmpmnt/u01
mount /dev/VGExaDb/snap11_LVDbSys1 /tmpmnt/root
4、查看是否mount成功
mount
ls -l /tmpmnt/u01
ls -l /tmpmnt/root
Lvs
5、使用tar對\、\u01的快照和\boot做文件系統層面備份19:19~
tar –pjcvf /erpnfs/backup/fs_backup/fs_20160518db01_bak.tar.bz2 /tmpmnt/u01/* /tmpmnt/root/* /boot > db01_tar.out 2> db01_stderr.out
tar命令執行完成后查看stderr.out中看是否有錯誤日志
由于\和\u01的快照總大小大于100GB,使用tar命令做壓縮備份很慢(40min 250MB左右),所以只做/boot的tar備份,即/和/u01只通過本地snapshot方式備份,沒有備份到非一體機存儲空間,/boot通過tar命令備份到了非一體機存儲空間
tar -pjcvf /erpnfs/backup/fs_backup/fs_20160518db01_bak.tar.bz2 /boot > db01_tar.out 2> db01_stderr.out
6、umount \、\u01的快照防止程序誤寫入
umount /dev/VGExaDb/snap11_LVDbOra1
umount /dev/VGExaDb/snap11_LVDbSys1
mount
3.2對二節點的重要文件系統做備份
節點二:root用戶執行
3.2.1對\u01目錄做snapshot
1、對\u01做snapshot
lvcreate –L 100G –s –n snap21_LVDbOra1 /dev/VGExaDb/LVDbOra1
5月19日:
[root@dm01db02 ~]# lvcreate -L 100G -s -n snap22_LVDbOra1 /dev/VGExaDb/LVDbOra1
Logical volume "snap22_LVDbOra1" created.
5月20日:
[root@dm01db02 ~]# lvcreate -L 100G -s -n snap23_LVDbOra1 /dev/VGExaDb/LVDbOra1
2、為創建的快照設置卷標
e2label /dev/VGExaDb/snap21_LVDbOra1 U01_SNAP21
3、查看快照是否創建成功
Lvs
3.2.2對\目錄做snapshot
1、對\u01做snapshot
lvcreate –L 50G –s –n snap21_LVDbSys1 /dev/VGExaDb/LVDbSys1
2、為創建的快照設置卷標
e2label /dev/VGExaDb/snap21_LVDbSys1 ROOT_SNAP21
3、查看快照是否創建成功
Lvs
3.2.3對\、\u01、\boot做tar備份
1、在一節點mount NFS
[root@dm01db02 ~]# mount 10.1.12.31:/export/ExdataNfs /erpnfs
[root@dm01db01 fs_20160518_bak]# mount | grep -w 'type nfs'
10.1.12.31:/export/ExdataNfs on /erpnfs type nfs (rw,vers=4,addr=10.1.12.31,clientaddr=10.1.11.10)
2、創建\和\u01文件系統snapshot的mount點
mkdir –p /tmpmnt/u01
mkdir –p /tmpmnt/root
3、將snapshot掛至mount點
mount /dev/VGExaDb/snap21_LVDbOra1 /tmpmnt/u01
mount /dev/VGExaDb/snap21_LVDbSys1 /tmpmnt/root
4、查看是否mount成功
mount
ls -l /tmpmnt/u01
ls -l /tmpmnt/root
Lvs
5、使用tar對\、\u01的快照和\boot做文件系統層面備份
tar –pjcvf /erpnfs/backup/fs_backup/fs_20160518_bak.tar.bz2 /tmpmnt/u01/* /tmpmnt/root/* /boot > db02_tar.out 2> db02_stderr.out
由于\和\u01的快照總大小大于100GB,使用tar命令做壓縮備份很慢(40min 250MB左右),所以只做/boot的tar備份,即/和/u01只通過本地snapshot方式備份,沒有備份到非一體機存儲空間,/boot通過tar命令備份到了非一體機存儲空間
tar -pjcvf /erpnfs/backup/fs_backup/fs_20160518db02_bak.tar.bz2 /boot > db01_tar.out 2> db01_stderr.out
tar命令執行完成后查看stderr.out中看是否有錯誤日志
6、umount \、\u01的快照防止程序誤寫入
umount /dev/VGExaDb/snap21_LVDbOra1
umount /dev/VGExaDb/snap21_LVDbSys1
mount
4、歸檔備份
歸檔備份腳本:10.1.1.200:/backup/scripts/whole_db_archbackup.sh
5、歸檔備份完成后,卸載NFS目錄
1、節點一,root用戶執行:
umount /erpnfs
mount
2、節點二,root用戶執行:
umount /erpnfs
mount
6、確認升級成功后刪除快照
5.1節點一
Root執行:
1、查看快照有沒有掛載
mount
2、確定要刪除的快照
Lvs
3、刪除快照
lvremove /dev/VGExaDb/snap11_LVDbOra1
lvremove /dev/VGExaDb/snap11_LVDbSys1
lvremove /dev/VGExaDb/snap12_LVDbOra1
lvremove /dev/VGExaDb/snap12_LVDbSys1
lvremove /dev/VGExaDb/snap13_LVDbOra1
lvremove /dev/VGExaDb/snap13_LVDbSys1
5.1節點二
Root執行:
1、查看快照有沒有掛載
mount
4、確定要刪除的快照
Lvs
5、刪除快照
lvremove /dev/VGExaDb/snap21_LVDbOra1
lvremove /dev/VGExaDb/snap21_LVDbSys1
lvremove /dev/VGExaDb/snap22_LVDbOra1
lvremove /dev/VGExaDb/snap22_LVDbSys1
lvremove /dev/VGExaDb/snap23_LVDbOra1
lvremove /dev/VGExaDb/snap23_LVDbSys1
-----------------------回退步驟-----------------------
本步驟僅在升級失敗后使用
7.1 /文件系統回退
1、開始使用Esc進入CD光盤引導
2、選擇secure模式
3、選擇語言
4、鍵盤模式
6、進入命令行界面
7、進入命令行界面,執行以下命令,通過root_snapshot恢復lv_root
7、reboot
7.2非/文件系統回退
lvconvert –merge /dev/vg_testsnap/u01_snapshot