10.1.3.71 10.1.3.72
--------+----------------------+-------------
| |
+---+---+ +---+---+
| srv01 | | srv02 |
+-------+---------+ +-------+---------+
| server-storage | | server-storage |
| loadbalancer | | loadbalancer |
+-----------------+ +-----------------+
I configured both the server-storage and the loadbalanced following your directions.
While I've been able to successfully setup a single storage-server instance (which I've been able to manage using your C# sdk) I couldn't do the same neither whith the loadbalancer nor with the "clustered" setup described above.
{
"EnableConsole": 1,
"RedirectStatusCode": 302,
"RedirectStatusString": "Moved Temporarily",
"Hosts": [
{
"Name": "test",
"HttpHostNames": [
"www.test.com",
"test.com"
],
"Nodes": [
{
"Hostname": "10.1.3.71",
"Port": 8090,
"Ssl": 0,
"HeartbeatUrl": "http://10.1.3.71:8090/",
"PollingIntervalMsec": 2500,
"MaxFailures": 4,
"Failed": false
},
{
"Hostname": "10.1.3.72",
"Port": 8090,
"Ssl": 0,
"HeartbeatUrl": "http://10.1.3.72:8090/",
"PollingIntervalMsec": 2500,
"MaxFailures": 4,
"Failed": false
}
],
"LastIndex": 0,
"LoadBalancingSchema": "roundrobin",
"HandlingMode": "redirect",
"AcceptInvalidCerts": 1
}
],
"Server": {
"DnsHostname": "10.1.122.112",
"Port": 7777,
"Ssl": 0
},
"Auth": {
"AdminApiKeyHeader": "x-api-key",
"AdminApiKey": "admin"
},
"Syslog": {
"SyslogServerIp": "127.0.0.1",
"SyslogServerPort": 514,
"MinimumSeverityLevel": 1,
"LogRequests": 0,
"LogResponses": 0,
"ConsoleLogging": 1
},
"Rest": {
"UseWebProxy": 0,
"WebProxyUrl": "",
"AcceptInvalidCerts": 1
}
}
{
"ProductName": "kvpbase",
"ProductVersion": "2.0.1",
"DocumentationUrl": "http://www.kvpbase.com/docs/",
"Environment": "linux",
"LogoUrl": "http://kvpbase.com/Content/Images/cloud-only_25px.png",
"HomepageUrl": "http://www.kvpbase.com",
"SupportEmail": "[email protected]",
"EnableConsole": 1,
"Files": {
"Topology": "/mnt/cdrom/Apps/kvs/Topology.json",
"UserMaster": "/mnt/cdrom/Apps/kvs/UserMaster.json",
"ApiKey": "/mnt/cdrom/Apps/kvs/ApiKey.json",
"Permission": "/mnt/cdrom/Apps/kvs/ApiKeyPermission.json"
},
"Server": {
"HeaderApiKey": "x-api-key",
"HeaderEmail": "x-email",
"HeaderPassword": "x-password",
"HeaderToken": "x-token",
"HeaderVersion": "x-version",
"AdminApiKey": "kvpbaseadmin",
"TokenExpirationSec": 86400,
"FailedRequestsIntervalSec": 60
},
"Redirection": {
"ReadRedirectionMode": "proxy",
"ReadRedirectHttpStatus": 301,
"ReadRedirectString": "Moved Permanently",
"SearchRedirectionMode": "proxy",
"SearchRedirectHttpStatus": 301,
"SearchRedirectString": "Moved Permanently",
"WriteRedirectionMode": "proxy",
"WriteRedirectHttpStatus": 301,
"WriteRedirectString": "Moved Permanently",
"DeleteRedirectionMode": "proxy",
"DeleteRedirectHttpStatus": 301,
"DeleteRedirectString": "Moved Permanently"
},
"Topology": {
"RefreshSec": 10
},
"Perfmon": {
"Enable": 1,
"RefreshSec": 10,
"Syslog": 0
},
"Storage": {
"Directory": "/mnt/cdrom/Apps/kvs/storage/",
"MaxObjectSize": 512000000,
"GatewayMode": 1,
"DefaultCompress": 0,
"DefaultEncrypt": 0
},
"Messages": {
"Directory": "/mnt/cdrom/Apps/kvs/messages/",
"RefreshSec": 10
},
"Expiration": {
"Directory": "/mnt/cdrom/Apps/kvs/expiration/",
"RefreshSec": 10,
"DefaultExpirationSec": 0
},
"Replication": {
"Directory": "/mnt/cdrom/Apps/kvs/replication/",
"ReplicationMode": "sync",
"RefreshSec": 10
},
"Bunker": {
"Enable": 0,
"Directory": "/mnt/cdrom/Apps/kvs/bunker/",
"RefreshSec": 30
},
"PublicObj": {
"Directory": "/mnt/cdrom/Apps/kvs/pubfiles/",
"RefreshSec": 600,
"DefaultExpirationSec": 7776000
},
"Tasks": {
"Directory": "/mnt/cdrom/Apps/kvs/tasks/",
"RefreshSec": 10
},
"Logger": {
"RefreshSec": 10
},
"Syslog": {
"ServerIp": "127.0.0.1",
"ServerPort": 514,
"Header": "kvpbase",
"MinimumLevel": 1,
"LogHttpRequests": 0,
"LogHttpResponses": 0,
"ConsoleLogging": 1
},
"Email": {
"SmtpPort": 0,
"SmtpSsl": 0,
"EmailExceptions": 0
},
"Encryption": {
"Mode": "local",
"Port": 0,
"Ssl": 0,
"Passphrase": "0000000000000000",
"Salt": "0000000000000000",
"Iv": "0000000000000000"
},
"Rest": {
"UseWebProxy": 0,
"AcceptInvalidCerts": 0
},
"Mailgun": {},
"Debug": {
"DebugCompression": 0,
"DebugEncryption": 0
}
}
{
"CurrNodeId": 1,
"Nodes": [
{
"NodeId": 1,
"Name": "localhost",
"DnsHostname": "10.1.3.71",
"Port": 8090,
"Ssl": 0,
"NumFailures": 0
}
]
}
So if I launch both the loadbalacer and the storage-server on both machines I get this errors:
at loadbalancer (this report line appears for each node)
Warn thr-XY AddNodeFailure marking node nodeAddress:8090 failed (XYZfailures, max X)
and at storage-server (I get this error with other loadbalancing software too, although atm I tried only haproxy
)
Info hostname thr-XY RequestReceived null raw URL list detected, redirecting to documentation page
I don't know actually where the real problem could be so I'll open this issue on the loadbalancer repository too (I'm sorry about this).