Wednesday, 28 December 2011

HP-UX networking related tools and commands and Overview

HP-UX networking related tools and commands


As my journey continues to exploring HP-UX I found couple of nice utilities and tools to configure and administrate HP-UX networking subsystem.
FILES
  • /etc/hosts - Hosts configuration file (resolve hosts and IPs)
  • /etc/rc.config.d/netconf – IP address, routeing address and hostname stored in this file
SCRIPTS
  • /etc/init.d/net start – Use to start, stop network service
HPUX Commands
(a) Display lan interface info:
# lanscan
(b) All in one lan configuration utility (lan0 is first Ethernet interface) to configure and view the system IP address:
# ifconfig lan0 - Display IP info such as IP address netmask etc.
# ifconfig lan0 up - Up network interface (allow traffic)
# ifconfig lan0 down - Down network interactive (deny traffc)
# ifconfig lan0 192.168.1.1 netmask 255.255.255.0 up - Setup/change IP adddress
(c) Displaying host name
# hostname
(d) Arp administration (cache)
# arp -a
(e) Display routing table/info:
# netstat -nr
(f) Define new route:
# route add default 192.168.1.254 1
(g) HP's LAN diagnostic tool
# lanadmin
(h) Test a remote host connectivity
ping host.mycorp.com
(i) Setup various lan properties, dns client, NIS client configuration etc using GUI tool:
# sam
# set_parms
(j) Check dns connectivity:
$ nslookup www.google.co.uk


HP-UX Overview and Command Summary

Bootup/Shutdown

shutdown -r 0 --> reboot
shutdown -h now  --> shutdown and halt
shutdown 0 --> shutdown to single user mode
reboot 0 --> reboot
init 1 - single user mode
hpux -is  boots single user mode

Interupting the boot process:
  • Configuration Menu
  • Information Menu
  • Service Menu
GSP Mode
  • From the console hit <ctrl><b>
  • Hit <Enter> at the GSP console login (default is no password)
  • Now low level commands can be entered
    • ps  --> power status

To reboot to single user mode:
  1. shutdown -r 0
  2. hit <space> during 10 sec window to interrupt reboot
  3. enter: <b><o>
  4. interact with ipl? yes
  5. hpux -is  (i=init, s=single user)

To reboot manually to init 3 level
  1. shutdown -r 0
  2. <space> during 10 sec window
  3. bo
  4. interact with ipl  --> yes
  5. hpux -is   (i=init, s=single user mode)
  6. mount -a
  7. init 3
Startup/Shutdown Scripts

/sbin/init.d
/sbin/rc0.d                                These are all linked to actual scripts in /sbin/init.d
/sbin/rc1.d
/sbin/rc2.d                                scripts with k are kill scripts and scripts with s are start scritps.
/sbin/rc3.d
/sbin/rc4.d

/etc/rc.config.d    --> Scripts

CIFS (Samba)

/opt/etc/samba/smb.conf

Device Management

HP-UX is a hardware path based operating system.  When it boots up it does a hardware detection.  It then compares the hardware that it detects with the hardware that is listed in /etc/ioconfig.  If new hardware is detected, it is assigned the next available configuration information in the proper hardware path.

rmsf - remove special files
insf - install special files

insf -C disk -e   <-- This command will re-install all of the device files for the class "disk"

lsdev   <-- Lists devices and drivers in the system

ioscan   <-- searches for all devices and displays their hardware path
ioscan -fnC disk  <-- searches for all devices of  class (C) disk
ioscan -fnH <LUN>  <-- searches for a LUN

last 2 digits of hardware path in the LUN in octal  (1/12/0/0.1.23)

Disk Devices

A disk device will have a name in the following format:  c#t#d#

c# is the card number
t# is the target number
d# is the LUN - this is normally 0 unless RAID is being utilized


scsictl -a /dev/rdsk/c?t?d?  <-- display control parameter information about the disk device
scsictl -a -m queue_depth=4 -m queue_depth /dev/rdsk/c?t?d?      <-- sets the queue depth

CD-ROM Devices

nohup /usr/sbin/pfs_mountd &  - starts process
nohup /usr/sbin/pfds &  - starts process

pfs_mount -o xlat=unix /dev/dsk/c0t1d0 /cdrom        - mounts cdrom

Cdrom won't eject:
  1. pfs_umount -c OR
  2. kill -9 pfs_mountd and kill -9 mountd
Cdrom won't mount using:  pfs_mount -o xlat=unix /dev/dsk/c0t1d0 /cdrom
  1. nohup /usr/sbin/pfs_mountd &
  2. nohup /usr/sbin/pfsd
  3. /usr/sbin/pfs_mount /cdrom    <-- this uses mounting information in /etc/pfs_fstab
7400 Disk Array

armdsp -a va7400   <-- real time display of the disk array
armmgr -D va7400 HPA6189A00SG218H0024
armdiscover  /opt/sanmgr/commandview/client/sbin    -->  Tells us the serial number
armhost -d <Array Worldwide Name> <Serial #>
armhost -d 50060b000014e313 00SG218J0024
ioscan -fnc disk | more

cvui - creates luns
  • Choose storage array
  • Create LUN
    • Find last LUN
    • Create with new lun number
  • View existing luns
Process to export disk configuration to a file:
  • sam --> actions-->export
  • volume group name  --> mapfile name
Fibre Channel Devices

ioscan -fknC fc  <-- Lists fibre channel adapters.

To identify the devices:

ls -l /dev/fc*

fcmsutil - utility for fibre channel operations
fcmsutil /dev/<device>

Procedure to run fcmsutil on a fibre channel:
ioscan -fnC disk|more   --> Identify hw path of fibre channel adapter
ioscan -fnH 1/0/0/0  -->  Identify device of fibre channel adapter
or ls /dev/fc* on older adapters (arbitrated loop)
fcmsutil /dev/fcms2 stat  -->  fcmsutil that shows status of fibre channel adapter

Logs


/etc/rc.log Startup Log
/var/adm/sw/swagent.log Software package installation log
/var/adm/syslog/syslog.log System Error Log
/etc/shutdownlog
Shutdown Log
/var/tombstones/ts99
Crash log

Login Environment

/etc/profile - main profile for all users

/etc/profile.env

export TMPDIR=/tmpsort
export TEMPDIR=/tmpsort

source a profile:    ". ./profile"

Changing prompt:

export PS1=$(hostname):'$PWD # '

This gives a prompt that has the hostname followed by the current directory, ending in the # (useful for root logins).

Networking

netstat -a   <--ports
netstat -i  <--interfaces
netstat -r  <--routing table
netstat -rv  <--routing table and subnet mask

lanscan - provides hardware information about the nics in the server
lanadmin - menu driven interface to administer lan nics
lanadmin -x 0  bypass menu and show lan driver specific options for nic with id 0
lanadmin -X 100FD 0  - bypass menu and set nic at id 0 to 100 MBS, Full Duplex

ioscan -fnkC lan   - shows ioscan information for device type "lan"

lanscan -i|awk '{print $1}'|xargs -i ifconfig {}   -> does an ifconfig on all defined interfaces on that server

Changing the IP Address and Subnet mask:
  • set_parms ip_address
  • Then supply ip address and subnet mask when prompted.  This process will require a reboot.
Changing the Default Gateway
  • cd rc.config.d
  • vi netconf

Network Time Protocol (NTP)

ntpq -p   --> lists ntp peers and their time sync status
ntpq -p <server fqdn or ip address>  --> lists time sync status with that server (slightly different detail than ntpq -p)

/etc/ntp.conf  --> configuration file
Changes to the configuration require ntp daemon (xntpd) be stopped and restarted (restart is not recognized):
  • /sbin/init.d/xntpd stop
  • /sbin/init.d/xntpd start

Printing

Command
Description
cancel
deletes print jobs from queue
hppi
jet admin
ls -d<destination> -o<optioni> file
prints a file
lpadmin

lpsched -v

lpstat
lists jobs in queue. -s  -t
pr .profile | lp -n3
prints
pr -o10 -l64 -F -h <HEADER> <file> | lp prints using margins of 10, page length of 64, header on each page

/etc/lp

/usr/lib/lp
/var/adm/lp
/var/spool/lp

/etc/lp/interface - interface scripts

/var/sam/lp/lpinfo

Migrating the printer configuration from one server to another server using SAM:

On the source server:
  • SAM  --> Printers & Plotters --> LP Spooler --> Save/Restore Spooler Configuration
  • Actions --> Save Spooler Configuration
    • This saves the information in the directory /var/sam/lp
  • Save this directory using tar:  "tar -cvf /tmp/lp.tar /var/sam/lp"
  • Copy this tar file to the destination server
On the destination server:
  • Extract this file:  "tar -xvf lp.tar"
  • SAM --> Printers & Plotters --> LP Spooler --> Save/Restor Spooler Configuration
  • Actions --> Restore Spooler Configuration

Performance Monitoring

top
     j  moves forward pages in the display
     k moves backwared pages in the display
glance (if installed)

sar -q
sar -u
sar -d

vmstat

vminfo

Process Management


Command
Description
inetd -c
Causes inet to reload /etc/inetd.conf
inetd -l
starts logging in /var/adm/syslog/syslog.log
ps -ef | grep PROD
list all processes, but only show those processes that have "PROD" in them
/sbin/init.d/<script> [start|stop]
If the script exists, this will stop and start the associated processes. 


/etc/services   -->  Lists the services and their configuration
/etc/inetd.conf  --> Lists the services and their configuration
/var/adm/inetd.sec   -->  This file contains security information on who may request a particular process

Remote Access

rcp <source> remote_machine:<path>

remsh <host>

rlogin <host>

.rhosts file needs to be configured or else you will be prompted for username and password (located in home directory)

last -R  - gives address information of last remote login, useful for troubleshooting

Software Installation and Management

To install patches and software use:

swinstall  -->  This will lauch the gui or
swinstall
-x <option> -x <option> -s <path to depot>  -->  This will still lauch the gui, but the parameters will be preselected.  This is use to allow selection of additional parameters that may not be selectable from the gui itself (such as the logging levels below)

For example some popular options are:
  • -x mount_all_filesystems=false
  • -x logdetail=true
  • -x loglevel=2
Note: 
  • To install a depot you must specify the complete path to the depot and the depot name.
  • To install patches you must specify the complete path to the directory that has the patch files.

Location of  logfiles:
/var/adm/sw/swagent.log
/var/adm/sw/swinstall.log

Listing all Software

swlist -l product | more

Checking for Specific Software

swlist -l product | grep <SEARCH STRING>

Checking for Specific Patches

swlist -l product| grep PH | more

then search for a specific patch (ie PHNE_XXXXX)

Manually applying patches

Patches can be applied using swinstall, just as depots are installed
  • swlist -l patch -a patch_state PHKL_25475
swcopy -s /tmp/*.depot -\*@/var/spool/sw

Cleaning up after applying patches:

cleanup
cleanup -c n  <--  commits patches that have been superseded n number of times.  Useful to free up disk space in /var/adm/sw/save.
cleanup -p  <-- previews the actual cleanup tasks but does not actually perform the cleanup

check_patches
show_patches

Creating a single patch depot out of multiple individual depots:

From the directory that has all of the individual depots run this command line script:
for i in PH*.depot
do
        swcopy -x enforce_dependencies=false -s ${PWD}/$i \* @ /tmp/patch_depot         <-- /tmp/patch_depot is the destination directory
done

System Information

Note:  See section on STM, detailed system information is available with this utility
           Also SAM -->Performance Monitors --> System Properties

OS Information

uname -a - display general information e.g. OS release, node name, machine ID number, etc

print $(uname -i)16op|dc  hex system id
/opt/itor/bin/i4target -v     spu

file /stand/vmunix   <-- shows whether 64 bit or 32 bit kernel
getconf KERNEL_BITS  <--shows whether 64 bit or 32 bit kernel

Memory Information
dmesg|grep Phy  <-- List amount of physical ram in server
cat syslog|grep Phy <-- List amount of physical ram in server
echo phys_mem_pages/D|adb -k /stand/vmunix /dev/kmem   <-- Lists amount of  4K Memory pages in HPUX 11.x
echo "memory_installed_in_machine/D" | adb -k /stand/vmunix /dev/mem |tail -1 | awk '$2 > 0 { print $2 / 256 }'  <--  Lists memory in MB.
echo "physmem/D" | adb /stand/vmunix /dev/kmem  <-- Lists amount of 4K Memory pages in HPUX 10.x

model   <-- information about the model of the workstation/server

sam --> Performance Monitors --> System Properties  --> Memory Tab

CPU Information

ioscan -fnC processor   <-- shows information about each processor found

echo "itick_per_usec/D" | adb -k /stand/vmunix /dev/mem | tail -1  <-- Shows CPU Speed in MHZ

sam --> Performance Monitors --> System Properties  -->Processor Tab

echo itick_per_tick/D | adb /stand/vmunix /dev/kmem - gives processor speed

grep model /usr/lib/sched.models - gives type of processor for 10.X systems

grep model /opt/langtools/lib/sched.models - gives processor type for 11.X systems



Changing the Server Name and the IP Address
  • Using set_parms  --> may not work correctly for multiple nics
    • set_parms hostname  ( a reboot is required for the change to take effect)
      • It will prompt you for the new hostname
      • It will prompt you to reboot (answer no if you are also changing the ip address)
    • set_parms ip_address   ( a reboot is required for the change to take effect)
      • It will prompt you for the new ip address
      • It will prompt you to reboot
  • Manually makiing the change:
    • vi /etc/hosts
    • vi /etc/rc.config.d/netconf   <-- ** Make sure that no extra files are in the /etc/rc.config.d directory - it gets sourced on bootup
    • reboot
  • Other files that may need to checked/changed
    • /etc/resolv.conf
    • /etc/nsswitch.conf

System Tuning

Extract Current System File
  • cd /stand/build
  • /usr/lbin/sysadm/system_prep -s /stand/build/system
    • file is called system
    • section called "Tunable Parameters"

kmtune - displays the tunable parameters
kmtune -l  <-- This displays a detailed report of the parameters (current, planned, default, minimum, etc)
sam allows you to tune the kernel
Manual Kernel Build (not using sam)  -->  /usr/sbin/mk_kernel -s /stand /build/system

STM

diaglogd

/var/opt/resmon/log

Procedure to use STM to determine memory configuration
  • Type stm at the command line
  • Type o to select ok
  • Press the down arrow in the displayed map and select memory by hitting the space bar
  • Press tab to go to menus and arrow over to Tools and hit enter
  • Select Information -> and hit enter
  • Select Information Log and hit enter
  • Information Tool Log for Memory will be displayed
  • To print either select Print or SaveAs (to save the log to file for later printing)

Command Script to print useful information to a file called info
echo "sel path system; info; wait; infolog
>view
>done
>"lcstm>info
#cat info

print_manifest  (located in /var/opt/ignite/local/manifest/manifestinfo ??)

Command Script to print useful information
cstm
cstm>Map
cstm>SelAll
cstm>Information
cstm>Infolog
cstm>exit

Command Script to print useful information  (not sure this is complete/correct)
cstm
cstm>SelClass type "Disk" qualifier "All"
cstm>info;wait
cstm>il
cstm>create /tmp/disk.stm
cstm>done
cstm>quit
cstm>ok

cstm -f /tmp/disk.stm

Terminal Environment

TERM - environmental variable indicating type of terminal
stty
termio

/usr/share/lib/terminfo

setup string for xterm:  /usr/bin/X11 -ls -d @D

$DISPLAY=192.168.70.80:0.0

$TERM = xterm

stty
stty -all

Running Exceed  --> xstart
  • <ctrl> Rightl Click  --> Huge
Starting an X-Window application from telnet

start an X-Window server on the PC, such as exceed
export DISPLAY=W.X.Y.Z:0.0     <---W.X.Y.Z is the IP Address of the PC
/opt/ignite/bin/ignite                          <---Now just run the program


Configuring an HP 700/96 Terminal for a server connection:
  • Terminal Ports
    • Port 1
      • Datacommunications
      • 25 Pin - use this to connect to the N class server with a 25 pin to 9 pin cable
    • Port 2 - used to connect to an external peripheral
      • Parallel
      • 25 Pin
    • Port 3
      • Datacommunications
      • 9 Pin - use this port to connect to the A class server with a 9 pin to 25 pin cable
  • Terminal Configuration Settings
    • Press User/System function key
      • modes
        • Remote Mode must have an asterisk in it's box (indicating it is selected)
      • config keys
        • datacomm config
          • baud rate 9600
          • parity:  none/8
          • xon/xoff
        • terminal config
          • serial (2)/parallel(1) - 25 pin console port
          • serial (1)/parallel(1) - 9 pin console port
          • Term ID - vt100
          • Term Mode - em100
        • ansi config
          • em100
          • backspace/del

Users Administration

Creating Users
  • sam --> user and group accounts
  • useradd -g users -d <homedirectory> Username
Creating Groups
sam --> user and group accounts
groupadd Groupname

Useful Commands

Command
Description
<esc><esc> or <esc>\
autocompletion
file * Show file types, such as "ascii".
find <path> -name <name> -print
Finds a file in the OS at the starting path on down
grep

groups <username>
Shows groups for a user
kmtune
Displays kernel tunable parameters
listusers -g <group>
Lists the users in a group
ln -s <file or directory> <symbolic link>
Creates a symbolic link to a file or a directory
pr -o10 -l64 -F -h <HEADER> <file> | lp
prints using margins of 10, page length of 64, header on each page
rcp <source> remote_machine:<path>
remote copy
remsh <host>
opens a remote command shell on the host machine
rlogin <host>
remote login to host machine
sar

set_parms
Change host name (/etc/set_parms)
tail -f <file>
Looks at end of file and keeps it open to watch changes
top
realtime display of processes
uname -a
information about the system
print $(uname -i)16op|dc
prints hex system id
who -u, who -Rm
who is using the system

Process to recover from a lost/forgotten root password

  1. Power off the server
  2. Power on the server
  3. Interupt the boot process during the 10 second interval (display will indicate this on the screen)
  4. bo pri
  5. Answer yes to interact with the ipl
  6. At the prompt "hpux -is" for single user mode
  7. cd /sbin
  8. passwd root  and  follow prompts to put in new password
  9. shutdown -r 0  to reboot to multiuser mode

No comments:

Post a Comment