A. Linux伺服器雙機熱備詳細過程
雙機熱備份(Hot
Standby)是一種軟硬體相結合的高可靠性應用方案。雙機熱備系統由兩台獨立的伺服器以及相應的控制軟體構成,兩台伺服器在網路中表現為單一的系統,對外表現為一個獨立的網路IP,並以單一系統的模式進行控制和管理。該系統將兩台伺服器的數據和運行狀態(包括硬碟數據和內存數據)進行鏡像,可以實現兩台伺服器之間的熱備份,並能夠做到無縫切換,從而對外提供穩定可靠的服務,實現雙機系統的高可用性解決方案。
1.1.2 功能概述
雙機熱備份系統由相應的應用軟體進行控制,操作系統和應用程序安裝在兩台伺服器的系統盤上。每一台伺服器分配一個固定的IP地址,此外還指定了一個獨立IP地址作為集群IP(cluster
IP),該IP是雙機系統對外提供服務的介面。兩台伺服器一台成為主節點(Primary
Server),另一台成為從節點(Standby
Server),主節點與從節點之間保持固定時間間隔的心跳信號,通過心跳信號實現兩個對等系統之間的周期性的握手,從而能夠監視對方的運行狀態,進行主機及網路的故障檢測。
在系統正常情況下,主節點佔用系統資源並運行所有的服務,為信息系統提供支持,從節點通過心跳信號監視主節點的運行情況。一旦主節點發生故障(如主機故障,網路故障,軟體故障等),從節點就會自動接管(Take
Over)主節點的資源和服務,繼續支持信息的運營,從而保證整個雙機系統能夠不間斷的運行(Non-Stop)。主節點在恢復運行後,又可以自動獲取資源並取代從節點。
在集群系統的實現方案中雙機熱備份系統是硬體配置最簡單和價格最低廉的解決方案,通常鏡像服務的硬體配置需要兩台獨立的伺服器,每台伺服器有獨立的操作系統硬碟和數據存貯硬碟,每台伺服器有提供網路連接功能的網卡,此外還可以有一對完成內部連接和數據鏡像功能的網卡。
雙機系統的兩台伺服器擁有共享的數據存儲空間(可以是一個數據存儲硬碟或一台專門的數據存儲伺服器)。任何一台伺服器在運行服務時,從共享的數據存儲空間內讀取和存儲數據。每台伺服器的操作系統和應用程序文件存儲在各自的本地存儲空間上。
雙機熱備份系統採用內存鏡像的技術,即把兩台伺服器的數據和運行狀態(包括硬碟數據和內存數據)進行鏡像。這個技術的優點是所有的應用程序和操作數據在兩台伺服器上鏡像同步,當主節點出現故障時,從節點可以在幾乎沒有延遲的情況下接管主節點運行的服務,從而實現無縫切換和熱備份。該技術的缺點是,由於兩台伺服器的內存完全一致,當由於系統應用程序帶有缺陷而導致系統宕機時,兩台伺服器會同步宕機。也可以在雙機系統中使用第三方生產的磁碟陣列櫃,在磁碟陣列櫃中安裝有磁碟陣列控制卡,陣列櫃可以直接將櫃中的硬碟配置成為邏輯盤陣。該結構不採用內存鏡像技術,因此需要有一定的切換時間,同時由於所有的數據全部存貯在磁碟陣列櫃中,當主節點出現故障時,從節點接替主節點,從磁碟陣列櫃中讀取數據,所以不會產生數據不同步的問題。由於這種方案不需要網路鏡像同步,因此這種集群方案伺服器的性能要比鏡像伺服器結構高出很多。雙機熱備份系統的兩台伺服器通過內部區域網進行連接,通過周期性的心跳信號保持通信和進行相互監視。兩台伺服器之間可以採用多種連接方式,可以使用串口線,也可以通過乙太網ethernet進行連接,還可以採用並存的多種連接方式實現兩台主機的多重互連。如果雙機系統有冗餘連接,在第一條通信路徑失效的情況下,控制軟體可以嘗試使用第二條通信路徑進行連接。因此,為了避免不必要的失效切換,最好建立兩種以上獨立的物理路徑,使用至少兩種心跳。雙機熱備份系統具有配置簡單,使用方便,價格低廉等諸多優點,但由於鏡像伺服器需要採用網路
方式鏡像數據,通過鏡像軟體實現數據的同步,因此需要佔用網路伺服器的CPU及內存資源,造成伺服器的性能有所降低。
本方案僅討論Redhat
Linux系統下的雙機熱備份系統的實現,使用的雙機控制軟體是Linux-HAheartbeat。因此,除了安裝操作系統及相關的應用服務程序之外,還需要安裝heartbeat控制軟體。通過對heartbeat軟體的配置,可以把兩台伺服器分別指定為主節點和從節點,指定心跳信號的時間間隔,指定cluster
IP、子網掩碼、廣播地址、鑒權方式,還可以設置heartbeat啟動的服務,該服務最終由雙機系統通過cluster
IP對外提供。
Heartbeat可以最大限度地保護用戶端的應用連續性。用戶的硬體資源(如網卡),軟體資源(如操作系統、資料庫管理系統、資料庫應用系統、電子郵件系統等)均能處於heartbeat容錯軟體的保護之下,當這些被保護的資源出現技術故障時, heartbeat容錯軟體可以隨時實施系統資源的切換。因此,heartbeat真正實現了用戶硬體或是軟體資源發生故障時系統及應用層上的在線熱切換。
Heartbeat軟體的特點有:
不需增加額外硬體資源,純軟體方式實現雙機容錯,並且對雙機無硬體配置要求。
可支持DB2,Notes、Exchange、sql
Server、Sybase、Informix、Oracle
、SAP等多種系統的應用層熱切換。支持共享磁碟陣列櫃和內存鏡像等多種方式,給用戶提供了選擇上的靈活性,同時也能適應各種機型、網路結構、軟體平台及應用系統。
佔用系統資源較少,不增加網路負荷,並且不會干擾具體應用程序的運行和操作。
真正實現無人值守,全自動地實現系統資源和應用服務的切換。
方案說明
伺服器Server
A和Server
B構成雙機熱備份系統的兩台主機,並且分別作為主節點(Primary
Server)和從節點(Standby
Server)。兩台主機均運行Linux-HA
heartbeat,該軟體成為雙機熱備系統的控製程序。
兩台主機通過串口線、乙太網等多種方式進行連接,傳送數據和心跳信號,並互相進行狀態監視。可以只使用一種連接方式(如乙太網連接),但是多種連接方式下的冗餘路徑可以保證雙機連接的可靠性和服務質量。
資料庫伺服器或磁碟陣列櫃是專門的數據存儲和共享設備,兩台伺服器在運行時,均從該設備中讀取和存儲數據。這種方式可以有效地提高數據傳輸效率,提高雙機熱備伺服器的系統性能,並且能夠保證兩台伺服器之間的數據同步。
雙機備份系統有兩種配置方式,分別是「基於系統切換的雙機系統」和「基於系統鏡像的雙機系統」,二者的區別是:
基於系統切換的雙機系統僅僅把兩台伺服器的硬碟數據進行鏡像,在主節點失效的情況下,從節點將進行系統一級的切換。該方式不能實現無縫切換,實現的是冷備份。
基於系統鏡像的雙機系統把兩台伺服器的硬碟數據和內存數據都進行鏡像。為保證完全的內存鏡像,兩台伺服器之間需通過專用連接網段實時地保持一個連續的、雙向的鏡像進程,該進程確保兩台伺服器之間的數據同步。一旦故障發生,無論任何一台伺服器失效,失效伺服器上的數據和應用,將立即切換到另一台伺服器上,從而使用戶在沒有中斷的情況下可以繼續使用雙機系統提供的服務。該方式能夠做到無縫切換,實現的是熱備份。
本方案描述的heartbeat雙機熱備份系統是一種基於系統鏡像的雙機系統,實現方法是,主節點在出現故障的情況下,集群IP地址無縫地切換到從節點,從而客戶機對伺服器的訪問可以由從節點來支持。但是兩台伺服器之間並沒有鏡像進程完成徹底的內存鏡像,因而主節點在故障時所運行的數據信息不能切換到從節
點,造成數據丟失以及服務中斷。所以該方案不是嚴格意義上的系統鏡像,實現的是服務一級的切換,並不能實現實時數據的切換。
B. linux 異地備份(ftp)
50 15 * * * ftp -i 10.11.68.157
ftp可能有問題,一般寫ftp的絕對目錄
還有你怎麼不把,ftp和.netrc合並,做一個文件/home/oracle/ftpback,如:
#!/bin/sh
/usr/bin/ftp machine 10.11.68.157 -u oracle -p oracle
macdef init
bin
lcd /tmp
cd /tmp
mput file.tar
bye
再
crontab -e
增加內容如下:
50 15 * * * ./home/oracle/ftpbak
C. 怎樣將遠程的linux伺服器上的mysql資料庫備份到本地的linux伺服器上,我是新手!
如果允許外網IP直接連接資料庫的話,可以使用SQLyog這樣的工具來進行備份,如果不支持遠程連接的話,可以裝個phpmyadmin來進行備份。
D. linux怎麼備份資料庫
一、 使用mysql相關命令進行簡單的本地備份
1 mysqllmp命令
mysqlmp 是採用SQL級別的備份機制,它將數據表導成 SQL 腳本文件,在不同的 MySQL 版本之間升級時相對比較合適,這也是最常用的備份方法。
使用 mysqlmp進行備份非常簡單,如果要備份資料庫」 db_backup 」,使用命令:
#mysqlmp –u -p phpbb_db_backup > /usr/backups/mysql/db_backup2008-1-6.sql
還可以使用gzip命令對備份文件進行壓縮:
#mysqlmp db_backup | gzip > /usr/backups/mysql/ db_backup2008-1-6.sql.gz (備份後生成的sql不含建庫語句!)
只備份一些頻繁更新的資料庫表:
## mysqlmp sample_db articles comments links > /usr/backups/mysql/sample_db.art_comm_lin.2008-1-6.sql
上面的命令會備份articles, comments, 和links 三個表。
恢復數據使用命令:
#mysql –u -p db_backup </usr/backups/mysql/ db_backup2008-1-6.sql
注意使用這個命令時必須保證資料庫正在運行。
2 使用 SOURCE 語法
其實這不是標準的 SQL 語法,而是 mysql 客戶端提供的功能,例如:
# SOURCE /tmp/db_name.sql;
這里需要指定文件的絕對路徑,並且必須是 mysqld 運行用戶(例如 nobody)有許可權讀取的文件。
3 mysqlhot備份
mysqlhot 只能用於備份 MyISAM,並且只能運行在 linux 和Unix 和 NetWare 系統上。mysqlhot 支持一次性拷貝多個資料庫,同時還支持正則表達。以下是幾個例子:
#mysqlhot -h=localhost -u=goodcjh -p=goodcjh db_name /tmp
(把資料庫目錄 db_name 拷貝到 /tmp 下)
注意,想要使用 mysqlhot,必須要有 SELECT、RELOAD(要執行 FLUSH TABLES) 許可權,並且還必須要能夠有讀取 datadir/db_name 目錄的許可權。
還原資料庫方法:
mysqlhot 備份出來的是整個資料庫目錄,使用時可以直接拷貝到 mysqld 指定的 目錄 (在這里是 /usr/local/mysql/data/)目錄下即可,同時要注意許可權的問題,另外首先應當刪除資料庫舊副本如下例:
# /bin/rm -rf /mysql-backup/**//*old
關閉mysql 伺服器、復制文件、查詢啟動mysql伺服器的三個步驟:
# /etc/init.d/mysqld stop
Stopping MySQL: [ OK ]
# cp -af /mysql-backup/**//* /var/lib/mysql /
# /etc/init.d/mysqld start
Starting MySQL: [ OK ]
#chown -R nobody:nobody /usr/local/mysql/data/ (將 db_name 目錄的屬主改成 mysqld 運行用戶)
二、使用網路備份
將MYSQL數據放在一台計算機上是不安全的,所以應當把數據備份到區域網中其他Linux計算機中。假設Mysql伺服器IP地址是:192.168.1.3。區域網使用Linux的遠程計算機IP地址是192.168.1.4;類似於windows的網路共享,UNIX(Linux)系統也有自己的網路共享,那就是NFS(網路文件系統),在linux客戶端掛接(mount)NFS磁碟共享之前,必須先配置好NFS服務端。linux系統NFS服務端配置方法如下:
(1)修改 /etc/exports,增加共享目錄
/export/home/sunky 192.168.1.4(rw)
/export/home/sunky1 *(rw)
/export/home/sunky2 linux-client(rw)
E. linux自動備份網站和資料庫,到另外伺服器上,為當前用戶創建定時任務
linux自動備份網站和資料庫,到另外伺服器上,為當前用戶創建定時任務兩台伺服器111,和117伺服器,每天完成111伺服器上網站和資料庫自動備份到117伺服器上1:我的111伺服器上是當前用戶:sxA:
查看當前用戶的計劃任務:crontab
-l是查看當前用戶的任務用
vi
crontab
-e
是為sxw用戶創建一個計劃任務第一行:每天3點運行/home/sxw/rsync201.sh
shell腳本,第二行:和第三行是每天下午7點運行tar包,gaokaotong和phpcms文件第三行:每天7點22分運行/homesxw/back_up.sh
shell腳本,注意:這里是當前用戶sxw,所以要shell腳本路徑要有用戶sxw許可權,在這里/home/sxw/back_up
shell腳本,是當前用戶sxw用戶的家目錄。B:
111伺服器上/home/sxw/back_up.sh腳本code:-bash-3.2$
vim
/home/sxw/back_up.sh#!/bin/shecho
開始備份資料庫mysqlmp
-u
jeecms
-pjeecms1234
gktcms
>
gktcms.sqlmysqlmp
-u
jeecms
-pjeecms1234
phpcms
>
phpcms.sqlecho
備份資料庫完成,復制到117伺服器端scp
-P
10022
gktcms.sql
[email protected]:/home/zkscp
-P
10022
phpcms.sql
[email protected]:/home/zkscp
-r
-P
10022
/opt/www/www2/phpcms.tar.gz
[email protected]:/home/zk/scp
-r
-P
10022
/opt/www/www2/gaokaotong.tar.gz
[email protected]:/home/zk/echo
發送完成C:
還要在111上做ssh信任,這個可參照ssh資料。很簡單,只需要建立兩個密鑰。2:
117伺服器上/homezk/自動就會多出兩個tar包文件,phpcms.tar.gz
和gaokaotong.tar.gz這里每天自動保存兩個文件,phpcms.tar.gz
和
gaokaotong.tar.gz文件
這里做了一個shell腳本,保存前兩天的文件,跟上述111伺服器上的建立計劃任務一樣:A:
查看117的計劃任務:
crontabl
-lB:
在查看/home/zk/back.sh
的shell編寫code:[zk@DB2~]$
vi
/home/zk/back.sh#!/bin/shTARFILE=/home/zk/phpcms.tar.gzif
[
-f
$TARFILE
];then
mv
/home/zk/phpcms.tar.gz
/home/zk/phpcms_$(date
+%Y%m%d).tar.gz
#remove
date
file
DATE_B=$(date
-d2
day
ago
+%Y%m%d)
FILENAME=/home/zk/phpcms_$DATE_B.tar.gz
if
[
-f
$FILENAME
];then
rm
-rf
/home/zk/phpcms_$DATE_B.tar.gz
else
echo
沒有可刪除文件
fielse
echo
沒有源文件fi~
結束。
F. linux下mysql怎麼定時備份到另一台伺服器
定時備份,就要選擇一個空間充足的磁碟空間,避免出現因空間不足導致備份失敗,數據丟失的惡果!
存儲到當前磁碟這是最簡單,卻是最不推薦的;伺服器有多塊硬碟,最好是把備份存放到另一塊硬碟上;有條件就選擇更好更安全的存儲介質;
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、創建備份目錄:
上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件
G. 如何快速將一台linux伺服器上的數據轉移到另一台linux伺服器
最好考慮下負載和帶寬別在上班高峰期搞這個會出現這樣那樣的問題scp文件.tar.gzroot@ip地址:/root/傳到對端的根目錄不過根目錄沒那麼大就換個目錄
H. linux伺服器中如何登陸另一台Linux伺服器中的Oracle資料庫進行全庫備份
dataguard,stream replication,goldengate.....
方法很多,看你具體需求了