

Reference Information › CA AppLogic Support Knowledge Base › Overview of Support Knowledge Base › AppLogic Knowledge Library - Controller Boot Routine
AppLogic Knowledge Library - Controller Boot Routine
This article introduce the what is processed inside controller when controller is booted up.
Controller has serveral service which are launched in below squence at controller boot up stage
/etc/rc.d/init.d/applogic-acs The startup script for the appliance configuration service, create/update the DHCPD and HTTPD config file
/etc/rc.d/init.d/3trsh-init This is a part of the applogic controller access gateway. It initializes the special read-only directories needed for the volume access. No daemon process is started by this script
/etc/rc.d/init.d/applogic_ctl Applogic Controller Boot/Shutdown Script
Here are details of their functionalites
/etc/rc.d/init.d/applogic-acs functionalites
- Start up /usr/local/applogic/bin/acs-updated. It seems a bridge between client process and server process talking over socket.
- Generate dhcpd conf file(/etc/dhcpd.conf) based on /etc/dhcpd.conf.acs
- Generate httpd conf file(/etc/httpd/conf.d/z-acs-httpd.conf) to listen request coming from <dhcp server ip>:8080
/etc/rc.d/init.d/3trsh-init functionalites
- 1.Invoke /usr/local/applogic/bin/3trsh to creat following ro mount for scp and sftp-server executables. It's designed to use in a 'root jail' for accessing volumes mounted on the controller
127.0.0.1:/var/local/lib/3trsh on /vol type nfs (ro,addr=127.0.0.1)
127.0.0.1:/var/local/lib/3trsh_lib/etc on /vol/etc type nfs (ro,addr=127.0.0.1)
127.0.0.1:/var/local/lib/3trsh_lib/lib on /vol/lib type nfs (ro,addr=127.0.0.1)
Note:
/usr/local/applogic/bin/3trsh also support following functionalites
- ssh to applinace to execute specfic command
- scp some stuffs to appliance or /vol/_implex of controller
- Startup the sftp server(????)
- 3t shell CLI
3trsh always invoke below command to chekc permssion. if ails, prints "permssion denied"
/usr/local/applogic/bin/3trbac authorize "user_id=$_3TUSRID" grid:login <command>
/etc/rc.d/init.d/applogic_ctl functionalites
- Change the password if it’s first time login controller
- Configure some kernel value
sysctl -w vm.min_free_kbytes=32768
sysctl -w net.ipv4.tcp_retries2=10
- Load NBD module and create NBD device
- Load RAID module and create RAID device
- Mount /vol/_impex
- Update license and create certification
- Start controller daemon
/usr/local/applogic/bin/cmnd.sh /usr/local/applogic/bin/ctld cfgfile=/etc/applogic/applogic.conf trusted_server=<srv name>
/etc/init.d/httpd start
- Initalize grid recovery by executing below command
perl /usr/local/applogic/scripts/3tgridctl.pl start
The recovery procdure porcess below tasks
- Wait until conbtroller daemon ctld is fully up("3tctl check sys" return 0)
- Read applogic conf file
- Enumerate grid node state when controller was down by going through /var/applogic/state/ha/srvs/*.desc
- Enumerate active app when controller was down by going through /var/applogic/state/ha/apps/* , reset app state with unknown and output to file /tmp/app_state/<app name>.state
- Enumerate active grid nodes whose last known state are up
- Wait until all grid nodes UP then connect to them
- Bind to controller system volumes(boot, meta, impex)
- Enumerate all grid node resource of mount, vm and vna.
- Create components description file to be recovered at /var/applogic/state/ha/recovery/<app name>/<comp name>.desc
- Retrive orpahn resource(mount, vm and vna) and output to /var/applogic/state/ha/recovery/orphan.desc
- Obtain app setting from /var/applogic/state/ha/apps/<app name>/app.desc , bind applcation with resource(cpu, memory, bandwidth, cpu capping, debug)
- Obtain app volume info from /var/applogic/state/ha/vols/*.desc, then bind them. the volume state may be presented as mount, repair, migrate
- Unshare controller graphical/text consoles
- Allow the CLI operation by generating file /dev/shm/applogic/cli_allow_des_ops
- Get application target state and current state from /var/applogic/state/ha/apps/<app name>/app.desc, then take action to restart/repair them. the statqe is outputed to /tmp/app_state/<app name>
- Delete orphan vm, mount and vna obtained eariler
- Verify grid uptime
/usr/local/applogic/bin/3tctlmon sys check -uptime
- Start volum repair daemon 3tvolmaintd
/usr/local/applogic/bin/3tvolmaintd_init star
Copyright © 2012 CA.
All rights reserved.
 
|
|