Sto usando un NAS dual-head con supporto ZFS per l'archiviazione condivisa del cluster ad alta disponibilità, basata sull'architettura consigliata di Nexenta come mostrato qui:
I dischi in 1 JBOD memorizzeranno i file del database per un singolo database Postgres da 4 TB e i dischi nell'altro JBOD memorizzeranno 20 TB di file flat binari grezzi di grandi dimensioni (i risultati del cluster per simulazioni di collisione di oggetti stellari di grandi dimensioni). In altre parole, il JBOD che supporta i file Postgres gestirà principalmente carichi di lavoro casuali mentre il JBOD che supporta i risultati della simulazione gestirà principalmente i carichi di lavoro seriali. Entrambi i nodi head hanno 256 GB di memoria e 16 core. Il cluster ha circa 200 core ciascuno che mantiene una sessione di Postgres, quindi mi aspetto circa 200 sessioni simultanee.
Mi chiedo se è saggio nella mia configurazione che i nodi head ZFS agiscano contemporaneamente come una coppia speculare di server di database Postgres per il mio cluster? Gli unici inconvenienti che posso vedere sono:
- Meno flessibilità per ridimensionare la mia infrastruttura.
- Livello di ridondanza leggermente più basso.
- Memoria e risorse della CPU limitate per Postgres.
Tuttavia, il vantaggio che vedo è che ZFS è piuttosto stupido riguardo al failover automatico e non devo spendere molto lavoro per far sì che ciascun server di database Postgres capisca se un nodo head ha fallito poiché fallirà insieme alla testa nodo.
postmaster.pid
) comporteranno una grave corruzione dei dati.