Oracle
 sql >> Datenbank >  >> RDS >> Oracle

N+1-Redundanz und Serverkonsolidierung

In einem früheren Blogbeitrag habe ich über das Entwerfen Ihrer RAC-Implementierungen mit N+1-Redundanz gesprochen. Dadurch wird sichergestellt, dass der Verlust eines Knotens die verbleibenden Knoten nicht überlastet, falls ein Knoten ausfallen sollte. Heute werde ich die Auswirkungen der Serverkonsolidierung, insbesondere der CPU-Kerne, und ihre potenziellen N+1-Auswirkungen erörtern.

Eines der Hauptsysteme, an denen ich heute arbeite, ist ein Oracle RAC-Cluster mit vier Knoten. Jeder Knoten hat 4 Kerne. Ich bin für alle 16 Kerne (4 Kerne/Knoten * 4 Knoten =16 Kerne insgesamt) in meiner Umgebung lizenziert. Ich habe dieses System mit N+1-Redundanz entworfen. Wenn ich einen Knoten verliere und 4 Kerne verliere, bin ich immer noch gut, weil meine Workload-Anforderungen nur 12 Kerne erfordern, um ein normales, akzeptables Leistungsniveau aufrechtzuerhalten.

Als dieses System ursprünglich entworfen wurde, waren 4-Core-Server alltäglich. Die heutige Umgebung ist anders und es wird immer schwieriger, 4-Core-Server zu finden. Sie existieren immer noch, aber Hardwareanbieter treiben Systeme mit einer größeren Anzahl von Kernen voran.

In einem Gespräch mit meinem SysAdmin wollte er kürzlich 6-Core-Systeme bestellen, um unsere 3 Jahre alten Server zu ersetzen. Nun, das können wir nicht einfach tun. Meine Oracle-Lizenz gilt für 16 Kerne. Ich könnte drei 6-Kern-Systeme bereitstellen, aber dann hätte ich insgesamt 18 Kerne im Cluster und ich müsste 2 weitere Kerne im Wert von Oracle-Lizenzen haben. Wenn ich zwei 6-Kern-Systeme bereitstellen würde, hätte ich insgesamt 12 Kerne und Lizenzen im Wert von 4 Kernen ungenutzt.

Ich habe den SysAdmin auch über unser N+1-Design informiert. Die Umstellung auf 6-Core-Systeme kann erhebliche Auswirkungen auf das N+1-Design haben. Denken Sie daran, dass ich bereits gesagt habe, dass unsere Workload-Anforderungen 12 Kerne erfordern, um ein normales Betriebsniveau aufrechtzuerhalten. Wenn wir Maschinen mit 6 Kernen einsetzen, erfüllen zwei davon unsere Anforderungen, und ein weiterer Knoten, der „+1“, wäre erforderlich, um sicherzustellen, dass wir einen Knoten ohne größere Leistungseinbußen verlieren können. Wir müssten drei 6-Core-Rechner bereitstellen, um unser N+1-Designziel intakt zu halten. Aber das bedeutet, dass wir unsere Lizenzanzahl erhöhen müssen, wie ich bereits sagte.

An diesem Punkt dachte mein SysAdmin, er hätte eine gute Idee … wir könnten zwei 8-Core-Server kaufen. Das sind immer noch 16 Gesamtkerne und genau das, wofür wir heute lizenziert sind. Keine Erhöhung der Lizenzgebühren. Aber wenn wir einen Knoten verlieren, gehen wir auf insgesamt 8 Kerne im Betrieb zurück, was weniger ist, als ich benötige. Dies bringt uns zu einem sehr guten Punkt…

Im Moment gibt es keine einfache Antwort. Wir können immer noch 4-Core-Server kaufen, damit werden wir die aktuellen im nächsten Jahr ersetzen. Aber es wird der Tag kommen, an dem 4-Core-Server nicht mehr zu finden sind. Bis dahin müssen wir einen Plan haben, der unsere N+1-Designziele im Auge behält.

Wenn ich doch nur unsere Linux-Server fest partitionieren und Kerne ungenutzt lassen könnte und trotzdem unsere Oracle-Lizenzvereinbarungen einhalten würde.