MagLev / maglev

GemStone Maglev Ruby Repository
http://maglev.github.io
518 stars 41 forks source link

Remote server firewall issues #431

Open johnnyt opened 8 years ago

johnnyt commented 8 years ago

Hey @AllenOtis or @jgfoster -

I am trying to get a remote server up and running through a firewall. I added the -p50379:50379 option to the netldis on both the stone and remote machine, but it looks like the pgsvrmain is still trying to connect to a random port.

1) Is that correct (that the pgsvrmain is trying to connect to a random port)?

and if so

2) Is there any way to specify a specific port for firewall purposes?

johnnyt commented 8 years ago

BTW - Here are some of the logs being generated:

Stone

==> maglev/maglev_9638pagemanager.log <==
    A remote shared page cache is being created on host: ip-172-29-1-229.ec2.internal

==> maglev/maglev.log <==

--- 08/14/15 19:56:13 UTC ---
    The remote cache on host: ip-172-29-1-229.ec2.internal, failed to startup with error: <Unable to create cache on ip-172-29-1-229.ec2.internal
 ; Netldi 'gs64ldi' on host 'ip-172-29-1-229' reports the request 'runpgsvr maglev~b51ffeead99d9f8f 62500 47 0 -1 -1 1 1900 0 432' failed:
Your netldi request timed out after 30 seconds.
If a gem or page server log file was created for this request it will contain information on why this request failed.
Otherwise check the netldi log '/opt/maglev/log/gs64ldi.log' for information.>.
    Please see remote pgsvr logs for details.

==> maglev/maglev_9638pagemanager.log <==
--- 08/14/2015 19:56:13.222 UTC ---

PageServer creation error: Netldi 'gs64ldi' on host 'ip-172-29-1-229' reports the request 'runpgsvr maglev~b51ffeead99d9f8f 62500 47 0 -1 -1 1 1900 0 432' failed:
Your netldi request timed out after 30 seconds.
If a gem or page server log file was created for this request it will contain information on why this request failed.
Otherwise check the netldi log '/opt/maglev/log/gs64ldi.log' for information. Warning: PageSetLostOt didn't find session 5
Warning: PageSetLostOt didn't find session 5

Remote:

runpgsvrmain19062ip-172-29-1-229.log (remote machine)
  _____________________________________________________________________________
|                              NetLDI Child Task                              |
|                                                                             |
| CLIENTHOST: ip-172-29-1-89.ec2.internal                                     |
|    VERSION: 3.1.0.2.4, Beta  Mon Jul 27  9:53:55 2015                       |
|      BUILD: gss64_maglev_1_9_branch-36962                                   |
|  BUILT FOR: x86-64 (Linux)                                                  |
|       MODE: 64 bit                                                          |
| RUNNING ON: 1-CPU ip-172-29-1-229 x86_64 (Linux 3.13.0-61-generic #100-Ubuntu
| SMP Wed Jul 29 11:21:34 UTC 2015) 2000MB                                    |
| PROCESS ID: 9973      DATE: 08/14/2015 19:55:43 UTC                         |
|   USER IDS: REAL=ubuntu (1000) EFFECTIVE=ubuntu (1000)                      |
|    COMMAND: /opt/maglev/versions/GemStone-36962.Linux-x86_64/sys/runpgsvrmain
| maglev~b51ffeead99d9f8f 62500 47 0 -1 -1 1 1900 0 432 TCP 38559 30 -p50379:50379
|_____________________________________________________________________________|
runpgsvr[Info]:     Description of arguments:
   the hostname is:     ip-172-29-1-229
   GEMSTONE is:         /opt/maglev/gemstone
   pgsvr arguments are: maglev~b51ffeead99d9f8f 62500 47 0 -1 -1 1 1900 0 432 TCP 38559 30 -p50379:50379
 _____________________________________________________________________________
|             GemStone/S64 Object-Oriented Data Management System             |
|                   Copyright (C) GemTalk Systems 1986-2015                   |
|                            All rights reserved.                             |
+-----------------------------------------------------------------------------+
|    PROGRAM: PGSVRSHR, GemStone Networked DBF I/O Service (shared library)   |
|    VERSION: 3.1.0.2.4, Beta  Mon Jul 27  9:53:55 2015                       |
|      BUILD: gss64_maglev_1_9_branch-36962                                   |
|  BUILT FOR: x86-64 (Linux)                                                  |
|       MODE: 64 bit                                                          |
| RUNNING ON: 1-CPU ip-172-29-1-229 x86_64 (Linux 3.13.0-61-generic #100-Ubuntu
| SMP Wed Jul 29 11:21:34 UTC 2015) 2000MB                                    |
| PROCESS ID: 9973      DATE: 08/14/2015 19:55:43 UTC                         |
|   USER IDS: REAL=ubuntu (1000) EFFECTIVE=ubuntu (1000)                      |
 _____________________________________________________________________________
|   GEMSTONE_GLOBAL_DIR = /opt/maglev                                         |
|_____________________________________________________________________________|
protocol 38559 invalid

command line is:
/opt/maglev/gemstone/sys/pgsvrmain maglev~b51ffeead99d9f8f 62500 47 0 -1 -1 1 1900 0 432 TCP 38559 30 -p50379:50379

--- 08/14/2015 19:55:43.186 UTC :end pgsShrExit with status: 3
AllenOtis commented 8 years ago

The netldi(s) need to each be started with the -p lowPort:highPort argument. See output of startnetldi -h for details. Also note the -P option which specifies the listening port for the netldi .

For the stone process, note the STN_WELL_KNOWN_PORT_NUMBER item in the stone config file , to specify the listening port for the stone process.

On Fri, Aug 14, 2015 at 12:53 PM, JohnnyT notifications@github.com wrote:

Hey @AllenOtis https://github.com/AllenOtis or @jgfoster https://github.com/jgfoster -

I am trying to get a remote server up and running through a firewall. I added the -p50379:50379 option to the netldis on both the stone and remote machine, but it looks like the pgsvrmain is still trying to connect to a random port.

1) Is that correct (that the pgsvrmain is trying to connect to a random port)?

and if so

2) Is there any way to specify a specific port for firewall purposes?

— Reply to this email directly or view it on GitHub https://github.com/MagLev/maglev/issues/431.

AllenOtis commented 8 years ago

The port range needs to be more than one port, to allow time for connections to be completed to mulitlple forked processes. I would allow at least 100 ports . Otherwise presumably there is a bug in 3.1.0.2 server code that we would have to evaluate . I would like to see all the relevant log files if you can't get it to work .

Allen

On Fri, Aug 14, 2015 at 12:53 PM, JohnnyT notifications@github.com wrote:

Hey @AllenOtis https://github.com/AllenOtis or @jgfoster https://github.com/jgfoster -

I am trying to get a remote server up and running through a firewall. I added the -p50379:50379 option to the netldis on both the stone and remote machine, but it looks like the pgsvrmain is still trying to connect to a random port.

1) Is that correct (that the pgsvrmain is trying to connect to a random port)?

and if so

2) Is there any way to specify a specific port for firewall purposes?

— Reply to this email directly or view it on GitHub https://github.com/MagLev/maglev/issues/431.