伺服器地址漂移怎麼解決
⑴ 思科交換機日誌顯示多個埠有MAC地址漂移。如何解決!
mac地址漂移一般來說是用戶的埠走向發生了變化,引起這種的主要原因可能是,埠故障stp重新計算,或者是用戶更換了接入點。
如果你的介面沒有中斷過,第二種可能會大一些,比如用戶使用的是無線,從一個ap漫遊到另一個ap,而2個ap在不通的交換機上,就有可能出現這個問題,如果是這樣沒有什麼問題
⑵ 伺服器IP地址不固定,如何進行遠程管理怎麼操作
動態域名用在伺服器上可不是什麼好辦法。因為dns解析緩存的問題,有時候更新極慢。就找不到伺服器了。
既然是做伺服器,那麼就建議您使用ipbox,是收費的,某寶上搜ipbox吧。
⑶ 地址漂移
1.IP地址漂移就是雙機的虛擬IP地址,每個雙機軟體都有介紹。
2.是用在雙機備份環境中的。
3.採用地址漂移技術,利用虛擬IP地址來綁定主伺服器,可有效解決不能利用組播的情況下,多台伺服器集群之間的信息交互問題。此方法具有一定的代表性,在很多行業可以採用。 雙機集群方式廣泛應用於各級航空飛行管制中心,兩台中心伺服器通過網路構成一套高可靠性雙機熱備份系統,同步工作、互為備份,當主機發生故障時,自動切換到備機工作,系統不間斷運行。而地址漂移技術是當其中一台主機有故障時,另一主機接管故障主機的網路IP地址,使網路仍能正常運行。 系統背景:系統採用雙機熱備軟體,具有負載均衡功能,將信息處理、資料庫記錄、進程監控等各項功能在兩台伺服器間進行動態分配,主伺服器主要負責完成信息處理、進程監 控等,備用伺服器完成資料庫的記錄工作。當主伺服器發生故障後,能夠進行檢測並告警,自動將主伺服器上的信息處理和進程監控等應用轉移到備用伺服器上繼續 處理,備用伺服器切換為主伺服器,先前的資料庫記錄應用仍然保留。採用CS結構(Client Server)。雙伺服器主要用來對航管雷達情報進行融合處理,並對飛行管制情報、異類感測器情報進行多元數據融合,響應並顯示控制台的人工干預命令。 存在問題 在 集群的雙伺服器內,當收到航管雷達或其他管制中心通過網路或串口送過來的信息後,會轉入信息處理進程,並將情報送往顯示控制台進行顯示,工作人員通過顯示 控制台來觀察監視空中目標,並對目標進行人工干預。在航空管制中心之間需要相互交換情報,便於情報共享。在管制中心內有兩台伺服器,每個伺服器具有一個IP地址,採用其中一台伺服器IP地址進行通信,如果此伺服器出故障將無法接收信息,這就為中心之間採用哪一個IP地址來交換信息造成選擇困難。 虛擬IP地址 解決多台伺服器集群間信息交互的辦法有三個: 一是採用組播,該方法最簡單。只要將兩台計算機加入一個組播地址,則發送方將目的地址設置為此組播的IP地址即可,航空管制中心的兩台計算機均能夠收到,但在航空管制中心間網路拓撲關系復雜,很多區域網路內禁止採用組播的方式,所以此方法不可行。 二是採用一份情報分別傳遞兩次給兩台雙機伺服器的方式,能夠保證兩台伺服器均能夠收到信息,但是造成帶寬浪費,並加大雙伺服器接收情報時間不一致的可能性,使雙伺服器的信息處理不能同步,如果在情報量大時,信道可能無法承受,此方法不可取。 三是採用地址漂移技術,給管制中心分配一個航空管制中心虛擬IP 地址,航空管制中心之間傳遞情報採用此IP地址,然後由各航空管制中心的主伺服器與此IP地址綁定,負責接收和發送情報。同時在主伺服器啟動一個三通進 程,所謂三通進程是指此進程負責接收信息,然後將收到的信息分別轉發到集群內兩台伺服器,類似於水龍頭的三通,因此稱之為三通進程。主伺服器收到一份情報 後,送往區域網內主伺服器和備伺服器的接收進程。當主機切換為備機時,此伺服器卸載此虛擬IP地址,切換為主機的伺服器載入虛擬IP地址,並啟用三通進程 負責接收和分發情報。虛擬IP地址在主備伺服器之間漂移,也稱之為地址漂移技術,目前很多集群軟體也採用此技術來解決集群內多台計算機只有惟一IP地址的 問題。 技術實現 上述的第三種方法的實現需要以下幾個關鍵技術: 1.當主機載入虛擬IP地址後,必須利用ARP協議包通知路由器,告訴路由器虛擬IP地址在哪台主機上,這樣當路由器收到目的地址為虛擬IP時,會自動將數據包傳遞給主用計算機。 有兩種方式可產生ARP 數據包: 一是通過程序生成ARP數據包,並由鏈路層介面發送給路由器,這需要對網路編程、特別是鏈路層編程有一定經驗的技術人員才可以實現。二是利用ARP命令, 在程序中執行system(「arp」)即可,將本計算機的ARP表發送給區域網內的路由器。值得注意的是: 航空管制中心的IP地址必須一直與主機綁定,需要IP地址的載入與雙機程序相關聯。所以在雙機切換或者主機故障、退出時要在即將成為主機的伺服器上載入虛 擬IP地址。載入IP地址的命令為: ifconfig eth0 alias 192.168.1.1 netmask 255.255.255.0,卸載IP地址的命令為: ifconfig eth0 -alias 192.168.1.1。 2. 經過實驗表明,主機切換為備機後,曾經載入的虛擬IP 地址不卸載,不會造成網路沖突。經分析,其原因為: 當路由器收到ARP數據包後,將MAC地址和IP地址的配對更新,當路由器接收到情報數據後,會根據ARP表來尋找虛擬IP地址所在計算機的MAC地址, 因此路由器接收到航管情報後自動將報文發送給主計算機,然後由主機的三通進程將情報通過區域網內的組播方式發送給主備計算機的信息接收進程。 3.建立三通進程,負責接收情報,並將接收的情報分發給兩台計算機。需要將三通進程作為系統守侯進程,這樣它隨著操作系統的啟動而自動執行,增強其可靠性。下面對三通進程的實現進行簡單介紹。在Unix操作系統下,首先需要隨著操作系統的啟動而自動啟用三通進程,在/etc/rc2.d目錄下建立腳本文件,如下: #!/bin/sh findproc() { # 查詢進程ID pid=`/usr/bin/ps -e | /usr/bin/grep " $1" | /usr/bin/grep -v "$$" | /usr/bin/grep -v grep | /usr/bin/awk '{ print $1 }'` } case $1 in start) /usr/Tprocess& #啟動三通進程;; stop) #關閉三通進程findproc Tprocess; if [ "$pid" < > "" ]; then /bin/kill -15 $pid Fi ;; *) esac 三通進程的實現步驟為: 首先是要脫離開原有進程組,單獨建立進程組並成為進程組的首進程,建立守護進程; 其次是接收到報文後增加報文頭格式,後續緊跟網路發送方IP地址,然後緊跟為原始數據。其數據格式如表所示: 最後是將組合後的數據報文在區域網內發送給雙伺服器的接收進程。下面介紹三個步驟的實現方法。 步驟1: 脫離開原有進程並建立守護進程。程序如下: pid = fork(); //建立進程if ( pid< 0 ) return ; if ( pid!=0 ) exit(0); //父進程退出setsid (); //建立對話期setpgrp(); //建立進程組,並成為進程組的首進程chdir("/"); //更換工作目錄為根目錄umask(0); 步驟2: 三通進程負責接收遠程航空管制中心的數據。 //建立socket Sid = socket (AF_INET, SOCK_DGRAM, 0); if (sid < 0) { perror(" n IN distribute.c create socket41432:"); exit(1); } //從/etc/services文件中獲得服務名稱,得到服務埠號。 sp = getservbyname ("head", "udp"); if (sp == NULL) { printf(": head not found in /etc/servicesn"); exit(1); } addr.sin_port = sp->s_port; addr.sin_family = AF_INET; addr.sin_addr.s_addr = INADDR_ANY; //打開地址重用機制on = 1; setsockopt(sid, SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on) ); //綁定此服務名if ( bind ( sid, (struct sockaddr *)&addr, sizeof(struct sockaddr_in) )< 0 ) { perror ( " n bind addr"); exit(0); } addrLen=sizeof(struct sockaddr_in); //設定目的地址為組播地址local_net.sin_family = AF_INET; local_net.sin_addr.s_addr = inet_addr(multicast_ip); sp = getservbyname ("mult_portt", "udp"); if (sp == NULL) { printf(": hjff_port not found in /etc/servicesn"); exit(1); } local_net.sin_port = sp->s_port; //循環等待接收和處理數據for(;;) { memset ( buff,0,2048 ); num = recvfrom ( sid, buff,2048,0, (struct sockaddr *)&srcAddr, &addrLen); if ( num< 0 ) { perror ( "n recvfrom "); continue; } 步驟3: 收到報文後,組織和封裝數據並在區域網內利用組播來將數據轉發給雙伺服器。 鏈接:ARP協議 ARP,全稱Address Resolution Protocol,中文名為地址解析協議,它工作在數據鏈路層,在本層和硬體介面聯系,同時對上層提供服務。 IP數據包常通過乙太網發送,乙太網設備並不識別32 位IP地址,它們是以48位乙太網地址傳輸乙太網數據包。因此,必須把IP目的地址轉換成乙太網目的地址。在乙太網中,一個主機要和另一個主機進行直接通 信,必須要知道目標主機的MAC地址。但這個目標MAC地址是如何獲得的呢?它就是通過地址解析協議獲得的。ARP協議用於將網路中的IP地址解析為硬體 地址(MAC地址),以保證通信的順利進行。