Can more than two nodes be in primary mode simultaneously?

The reason for looking into this functionality is as follows:

There are three worker nodes with attached disks. Currently, they are used as Postgres DB master, slave1, and slave2 nodes. The slave1 and slave2 nodes are configured for read-only access.

I intend to configure this setup using DRBD replication.

On all three satellite nodes, DRBD will be installed, and the network will be configured as master → slave1 and master → slave2.
Additionally, all three nodes will be set to primary mode.
Postgres masters will be installed on each node in sequence as master1, master2, and master3. There will be no slave mode. Master2 and master3 will be used for read-only access.

Even though they will be read-only, it is expected that writes will occur on all three nodes.

If we use a cluster file system such as GFS2 or OCFS2 for these three nodes, there is no problem even if writes occur simultaneously. Is that correct?

In other words, can DRBD’s dual primary functionality be used with a cluster file system, and then install Postgres on each node, configuring one node for read/write and the other two for read-only?

If this configuration is ok, we may recommend that the customer convert their master-slave configuration to a DRBD configuration.

Is this possible?

The short answer: no, this is not possible.

Slightly longer answer: DRBD 9.x allows exactly two primaries, and is really only recommended for use during VM live migrations, where the nodes don’t remain in a multiple primaries state for long. While it should be possible to use GFS2 or OCFS2 over exactly two nodes in a DRBD cluster, proper node level fencing is required to avoid corruption and split-brains (diverged data). Three or more nodes in a “dual-primary” DRBD cluster is not well tested or supported at this time.