|
Cerca |
Introduzione Voi disponete di uno spazio disco protetto (RAID) su di un server di salvataggio dati(file server).Condividete questo spazio tra più servers dedicati (via NFS).OVH vi attribuisce un nuovo indirizzo IP (IP di ripartizione di carico, "balanced IP").Per finire, OVH ha configurato i Vostri servers al fine che possano accedere allo spazio protetto e ricevere il traffico a partire dalla ripartizione di carico degli indirizzi IP. Come sono modificati i Vostri servers Se volete utilizzare direttamente il servizio Cluster senza studiarne il suo funzionamento in modo dettagliato, potete passare alla sezione Primi passi con il Vostro Cluster. 1. Configurazione dell'IP di ripartizione di carico Perchè il server accetti i pacchetti a partire dall'IP di ripartizione di carico, è stata aggiunta un'interfaccia di rete virtuale in lo:0: lo:0 Link encap:Local Loopback inet addr:213.251.xxx.xxx Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:16436 Metric:1 Il routing è stato anche modificato a livello server (aggiunta della tabella 201 dentro iproute2). 2. Configurazione di una rete privata per accesso al file server L'accesso al file server si fa tramite una rete privata in 192.168.xxx.xxx. Ciascun server ha il proprio IP privato configurato come eth0:0: eth0:0 Link encap:Ethernet HWaddr 00:E0:4C:82:32:3F inet addr:192.168.xxx.xxx Bcast:192.168.xxx.255 Mask:255.255.254.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:19 Base address:0xc000 3. Montaggio della partizione protetta Lo spazio protetto è montato sui servers via NFS in /home/ha. L'archivio /etc/fstab comporta una nuova linea : 192.168.xxx.xxx:/vol0/Z-xxx-xxx /home/ha nfs rw 0 0 4. Installazione della sonda Al fine di assicurare il principio di "Alta disponibilità", il sistema di ripartizione di carico deve saper ritirare una macchina dal cluster quando questa diventa indisponibile. Per questo, utilizziamo un démon su ciascun server (OCO) che verifica se il server è 'idoneo' a rispondere alle richieste.Per default, OCO verifica solo se la porta 80 risponde alle richieste HTTP.Voi potete facilmente aggiungere gli scripts di cui avete bisogno per effettuare delle verifiche più particolari (verificare che PHP risponda correttamente, verificare l'FTP, etc.). Funzionamento di OCO OCO è installato dentro /usr/local/oco, il démon è lanciato automaticamente all'avvio del server da /etc/init.d/oco. Gli scripts di verifica sono nelle directories /usr/local/oco/60sec ou /usr/local/oco/120sec oppure /usr/local/oco/300sec. Sono eseguiti automaticamente in funzione alla frequenza di ciascuna directory.Ogni script genera un file nella directory /usr/local/oco/result. Il contenuto di questo file è un numero:
Occorre che almeno un file contenga 200 nella directory /usr/local/oco/result affinchè il server sia aggiunto al cluster.Se un file o più contengono 300 (o superiore a 300), allora il server viene ritirato dal cluster. Se almeno un file ha un data di modifica superiore a 15 minuti, allora il server viene ritirato dal cluster. Avvertimento : Se modificate gli scripts di verifica forniti con OCO, cambiate i nomi degli scripts, poichè le vostre modifiche verrebbero sovrascritte in caso di un aggiornamento di OCO. 5. Flussi rete da autorizzare Se il vostro server è dotato di firewall, dovrete autorizzare i flussi seguenti sul vostro server :
iptables -A INPUT -s 213.251.164.240 -i eth0 -p tcp -m tcp --dport 79 -j ACCEPT iptables -A INPUT -s 213.251.164.241 -i eth0 -p tcp -m tcp --dport 79 -j ACCEPT iptables -A INPUT -s 213.251.164.242 -i eth0 -p tcp -m tcp --dport 79 -j ACCEPT
iptables -A INPUT -s 192.168.59.2 -i eth0 -j ACCEPT La prima cosa che desidererete fare con il vostro cluster è certamente la ripartizione delle richieste HTTP. 1. Utilizzo del file server Affinchè la ripartizione del carico funzioni il meglio possibile, dovrete avere le stesse pagine e gli stessi scripts su tutti i servers.Per questo, è meglio utilizzare lo spazio di archiviazione esterno che è montato dentro /home/ha. Copiate i vostri siti dentro /home/ha/xxxxx ; saranno a questo punto visibili da ciascun server.Se utilizzate dei CGI in suexec oppure suphp, dovete verificare che gli utenti e le uid siano identiche su ciascun server (ed eventualmente modificare /etc/passwd ). In fine, si deve modificare il file di configurazione apache httpd.conf al fine di indicare il corretto percorso d'accesso (/home/ha/yyyy) a 'DocumentRoot'. 2. Ripartizione delle richieste HTTP Prendiamo per esempio, un server dedicato del quale l' IP sia 213.186.33.2 e l'IP di load-balancing attribuito sia 213.251.131.8. Bisogna modificare il file di configurazione apache httpd.conf :
3. Testare la ripartizione del carico prima di modificare i records DNS e/o durante la propagazione Sulla vostra postazione CLIENT (browser web), potete temporaneamente fissare la risoluzione di un dominio verso l'IP di load-balancing:
213.251.131.8 www.mondomaine.com
Windows 95/98/Me : c:windowshosts Windows NT/2000/XP Pro : c:winntsystem32driversetchosts Windows XP Home : c:windowssystem32driversetchosts e aggiungete la linea : 213.251.131.8 www.mondomaine.com Limitazioni E' tecnicamente possibile ripartire i pacchetti destinati a tutte le porte (HTTP:80, SMTP:25, STREAMING, etc).Tuttavia, è impossibile utilizzare questa soluzione per MySQL (e certamente per la maggioranza dei databases). Questo limite è intrinseco ai databases; è necessario utilizzare le soluzioni proposte da chi li ha concepiti. |