diff --git a/bootstrap/bootstrap.go b/bootstrap/bootstrap.go
index <HASH>..<HASH> 100644
--- a/bootstrap/bootstrap.go
+++ b/bootstrap/bootstrap.go
@@ -2,6 +2,7 @@ package bootstrap
 
 import (
 	"encoding/json"
+	"errors"
 	"fmt"
 	"os"
 	"reflect"
@@ -97,6 +98,10 @@ func Run(manifest []byte, ch chan<- *StepInfo, minHosts int) (err error) {
 		}
 	}()
 
+	if minHosts == 2 {
+		return errors.New("the minimum number of hosts for a multi-node cluster is 3, min-hosts=2 is invalid")
+	}
+
 	// Make sure we are connected to discoverd first
 	discoverdAttempts.Run(func() error {
 		return discoverd.DefaultClient.Ping()
bootstrap: Don’t allow bootstrap with min-hosts=2

Running a two-node cluster is not a good idea as etcd tends to break in
unexpected ways and the cluster is not highly available.