ACS Console Doc

These are general notes on the Cyclades ACS console server /etc/portslave/pslave.conf file. These notes are intended to provide a quick start to using the ACS and configuring the ACS tty ports for console access.

Accessing the ACS

Access to the consoles of machines connected to an ACS can be done via two ways. You can (1) login into the ACS and use the ts_menu util or (2) connect directly to the ACS port via ssh

(1)Via ts_menu
To connect via ts_menu, log into the ACS via ssh or telnet. Once logged in, run the command ts_menu and follow the menu.
Example:
ssh root@titanium
[root@titanium /root]# ts_menu
 Serial Console Server Connection Menu for your Master Terminal Server


 1 hepa1            2 hepa2            3 ldapb            4 cal1           
 5 ttyS6            6 ttyS7            7 ttyS8            8 mailgw2        
 9 mailgw1         10 plone2          11 ldapa           12 ttyS13         
13 ttyS14          14 ttyS15          15 ttyS16          16 ttyS17         
17 ttyS18          18 ttyS19          19 ttyS20          20 ttyS21         
21 ttyS22          22 ttyS23          23 ttyS24          24 ttyS25         
25 ttyS26          26 ttyS27          27 ttyS28          28 ttyS29         
29 ttyS30          30 ttyS31          31 ttyS32         

 Type 'q' to quit, a valid option[1-31], or anything else to refresh : 

You can then choose which server you wish to connect to.

(2)Directly via ssh
To connect directly to the port via ssh, use: ssh -t -l root:<server_name> <acs_host>
For example, to connect to the console port of server mailgw2 on ACS titanium, issue:
ssh -t -l root:mailgw2 titanium.

Menus

Sniff Menu

If you are the second (or third, etc) connection to the same port, a message is sent to all users connected to the port that a new user has connected. All connections after the first are considered sniff sessions. You can access the Sniff Menu by typing ~ <CNTRL> s. Remember you need to be the second or later connection for this to work. If you are the only connection, you will not get this menu. The menu looks like the following:
1 - Initiate a regular session
2 - Initiate a sniff session
3 - Send messages to another user
4 - Kill session(s)
5 - Quit

Enter your option : 
regular session
Read/write mode. This is the default
sniff session
Read-only mode. By default, we are configuring all our connections to be read/write. This is a change from the Linux console servers.
Send message to another user
You can send messages to others connected to the same console port.
Kill session(s)
You can kick other people, as well as yourself, off the console port. You can not access the power management menu if others are connected to the same console port as you.
Quit
Disconnect from the console server
Power Management Menu

To access the power menu, you <CNTRL> + p. You will want to access the power menu if you ever need to power cycle a system or ensure that power is off/on on a system. The power menu will look like:
-------------------------------------------------------
    Cyclades Corporation - Power Management Utility
-------------------------------------------------------
         1 - Exit      2 - Help      3 - On      
         4 - Off       5 - Cycle     6 - Lock    
         7 - Unlock    8 - Status    9 - Temperature
        10 - Interval 11 - Other   

Disconnecting from the ACS

From the ts_menu or via direct ssh, just type ~. (that's tilde dot).

Adding a host to the ACS

  1. Connect the server to a port on the Cyclades ACS and remember which port you connected it to.
  2. If the server is connected to a Power strip which is also connected to the same console server, remember which ports you plugged into.
  3. Edit the /etc/portslave/pslave.conf file and add the following lines:
    s<port_number>.serverfarm <server_name> s<port_number>.pmoutlet <outlet> <outlet> <outlet> ...
  4. Save the config file and refresh the console processes.
    # signal_ras hup
    # saveconf
  5. Name the outlet ports
    1. pmCommand
      This will return which port the PM (power module) is connected to
    2. Log into the PM
      pmCommand <port>
    3. Put a name on your port
      name <port> <servername>
    Example: Two power strips are connected to serial port 1 of the ACS. Each power strip has 10 ports. You just connected machine X to power ports 1.9 and 2.9.

    Because there are two 10 port PMs connected to the same ACS serial port, the outlets are seen as power ports 1-20. For mapping in the pslave.conf, 1.1 thru 1.10 are outlets 1-10. 2.1 thru 2.10 are power outlets 11-20. So, in this example, 1.9 would map to power port 9, and 2.9 would map to power port 19.

    		[root@titanium root]# pmCommand 1
       		You're entering the "Power Management Prompt".
       		To go back to the Console Server's command line type: exitPm
    
    		[Cyclades - Power Management Prompt]# name 9 X
    
    		9: Outlet now named X
    		[Cyclades - Power Management Prompt]# name 9 X
    
    		19: Outlet now named X
    		[Cyclades - Power Management Prompt]# exitPm
    		
    	

The pslave.conf file

The /etc/portslave/pslave.conf file controls the behavior of each serial port on the Cyclades ACS.
After changing the pslave.conf files, you need to execute the following commands:
  1. saveconf # saves the config file in flash
  2. signal_ras HUP # forces the console process to reread the config file

conf.X entries

The parameters below are config parameters which need to be set.
conf.eth_mtu 1500 Set mtu to 1500 for ethernet
conf.lockdir /var/lock Location to place file locks
conf.telnet /usr/local/bin/telnet Use the k5 telnet
conf.ssh /bin/ssh Use the k5 aware ssh
conf.locallogins 1 fallback authentication to local if k5 not available
conf.facility 7 Use syslog facility 7 for pslave output
conf.DB_facility 7 Use syslog facility 7 for tty logs via syslog-ng
conf.eth_ip xxx.xxx.xxx.xxx IP address of this ACS
conf.eth_netmask xxx.xxx.xxx.xxx Netmask of this ACS

all.X entries

Since most of the serial ports will be configure the same way, use the all.X variable to configure all ports. One can override an all.X entry by making a specific entry for that port.

For example, configure all ports to run at 9600 baud except for port 22 which should run at 19200. For this, you would need the following two entries in the /etc/portslave/pslave.conf file:

all.speed 9600
s22.speed 19200

Here are the entries which may be helpful:

Speed/Parity/Stopbits/flow control/term-type
all.speed 9600 Specify the baud rate for all serial ports.
In this example, the baud rate is set to 9600.
all.datasize 8 Specify the number of data bits (usually 8)
In this example datasize is set to 8 bits.
all.stopbits 1 Specify the number of stopbits
In this example stopbits is set to 1.
all.parity none Specify the parity (even|odd|none)
In this example parity is set to none.
all.flow 0 Specify flow control. 0: off, 1: on.
all.dcd 0 Specify data carrier detect. 0: off, 1: on.
all.DTR_reset 0 Specify DTR reset. 0: off, 1: on.
all.term vt100 Set terminal type to vt100.
all.lf_suppress 0 Suppress (extra) linefeeds. 0: off, 1: on (for windows)
Authentication/Authorization
all.authtype local Set to local to use kerberos authentication
In this example authtype is local.
all.protocol socket_ssh Set to socket_ssh to use ssh encrypted sessions
all.admin_users root Set to who the admin users are.
Set Logging of TTYs
all.data_buffering 409600 Size of log file (in bytes) for each tty. In this example we set 409600 (4MB log file)
all.DB_mode cir Set mode of log file. Can be cirular, or linear. Circular log files get overwritten after they reach all.data_buffering size. Linear log files stop logging after reaching all.data_buffering size and will only continue logging after the buffer has been cleared.
all.DB_user_logs on Log per user
all.DB_timestamp 1 Set timestamp on log file
all.dont_show_DBmenu 2 Options are:
0: Show menu if log file is not empty
1: Do not show menu or log file
2: Show log file, not the menu
3: Show menu w/o erase options
all.sysutmp 1 Log console access into system utmp file too.
all.utmpfrom "%g:%P.%3.%4" Format of entry into utmp. Please see manual for specifics.
Misc
all.socket_port 7001+ Start numbering ports with socket 7001 and increase 1 for each port.
all.break ~break break sequence out of ssh
all.break_interval 500 500 ms.
all.mtu 1500 MTU size (bytes).
all.mru 1500p Max receive unit size (bytes).
all.issue \r\n
Welcome to Console Server %h port S%p \n\
\r\n
Set banner on console access to port.
all.prompt %h login: Set prompt at login
Console Characteristics
all.multiuser_notif on Notify when more than one user on same console port.
all.multiple_sessions RW_sessions Allow multiple cons into each port. By default, each session will be r/w. This is a change from the cons s/w in only one r/w session was allowed and all others were r/o.
all.sniff_mode i/o See both input and output if you force a r/o cons session.
all.media rs232 Type of serial connection.
all.escape_char ^s When sniffing, use <CNTRL>s to get into sniff menu.
all.telnet_client_mode 0 Turn this off
all.web_winEMS 0 Turn off unless connected to Windows Emergecy console
all.xml_monitor 0 Turn this off.
all.pmkey ^p Use <CNTRL>p to get into power management menu for the specific port.

s.X entries

Specific entries per port.
For Hosts
sX.tty ttySX Serial port assigned to sX, for example s20.tty ttyS20
sX.serverfarm server_name Assign <server_name> to this port
sX.pmoutlet 1.14 2.12 Assign <outlets > to this port. In this case, outlet 14 from tty1 and outlet 12 from tty 2. When the PM menu is engaged, switching outlets off/on, will switch both of these off/on.
For PM/PDUs
sX.tty ttySX Serial port assigned to sX, for example s20.tty ttyS20
sX.protocol ipdu Use ipdu protocol to manage a cyclades PM
sX.pmtype cyclades Set power management type to cyclades
sX.pmusers root:1-40 Root can access ports 1-40 on the PM.
sX.pmNumOfOutlets 40 Total number of outlets connected to the tty.
sX.speed 9600 Set baud rate to 9600 for PM. This is not necessary if all.speed is already set to 9600.


Last updated July 8th by rcp.