Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 58

SLES SMT servers

Peplis00115 – Old pepsico repos


PEPLIS00309
PEPLGP00002
PEPLIS00433
Windows share FDC--\\pepwap08158.cww.pep.pvt\LinuxISO

SLES 12 boot image


http://prdlinux.pbsg.pvt/csm/boot3.iso

Unregister from SMT


pbrun -u root -h peplis00115 /usr/sbin/smt-list-registrations | grep servername
pbrun -u root -h peplis00115 /usr/sbin/smt-delete-registration -g registeration#

Get HBA WWNA info:


# for port in /sys/class/fc_host/host[0-9]/port_name; { echo -n "$port : "; cat $port; }

or
# cd /sys/class/scsi_host; for i in [0-9]; do cat host$i/device/fc_host/host$i/port_name; done
You can also find out he following in by changing the “port_name”
port_id
port_state
port_type
speed
or
systool -c fc_host –vv

grep -v "zZzZ" -H /sys/class/fc_host/host*/*_name


Import export vg
Present a Lun to the Server
Create a PV using the Lun ID
Create Vg
Create LV
Mount LV on a directory
Get data on the LV

Unmount Fs on source
Deactivate VG ---vgchange –an vgname
Export vg to the other server – vgexport vgname

Now ask the LUN to be presented to the Target server

Pvscan

Vgimport vgname
Activate Vg ----Vgchange –ay vgname

#mkdir –p mountpoint

Mount lv mountpoint

1016 umount /copy1


1017 df -h
1018 vgs
1019 vgchange -an vg_data_backup1
1020 lvs
1021 vgexport vg_data_backup1

************************************************************************************

Set Time, Date Timezone in Linux from Command Line Use ntp

To have the correct time and date in Linux is very important, a lot of things depends on it. It does
not matter if you are using Linux to power your personal computer or you have a Linux server.
The server and system clock needs to be on time.

Set date from the command line

date +%Y%m%d -s "20120418"


Set time from the command line

date +%T -s "11:14:00"

Set time and date from the command line

date -s "19 APR 2012 11:14:00"

Linux check date from command line

date

Will show you something like this:

Thu Apr 19 15:17:34 BOT 2012

Set hardware clock

The hardware clock is the clock that runs in you PC hardware even if you disconnect it from the
main power supply. This is because it has a lithium battery in the modern computers and another
type of battery in the old ones.

We'll see differences between hardware clock and system clock

hwclock --show

Will output something like this:

Thu 19 Apr 2012 03:23:05 PM BOT -0.785086 seconds

Now check the system clock

date

Will output something like this:

Thu Apr 19 15:26:41 BOT 2012

Let's set the hardware clock to local time:


hwclock --set --date="2012-04-19 16:45:05" --localtime

If you want to set it to UTC time use:

hwclock --set --date="2011-04-19 20:45:05" --utc

Set the timezone

To set the timezone of your system clock do the following:

cp /usr/share/zoneinfo/America/La_Paz /etc/localtime

Choose the right timezone for you.

Automatically adjust your computer clock

To have your system to automatically adjust time we need to install ntp . Get it from your
repository. Once installed you can configure it this way:

Edit the file /etc/ntpd.conf . It will look like this:

# With the default settings below, ntpd will only synchronize your clock.
#
# For details, see:
# - the ntp.conf man page
# - http://support.ntp.org/bin/view/Support/GettingStarted
# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon

# Associate to public NTP pool servers; see http://www.pool.ntp.org/


server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org

# Only allow read-only access from localhost


restrict default noquery nopeer
restrict 127.0.0.1
restrict ::1

# Location of drift and log files


driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp.log

# NOTE: If you run dhcpcd and have lines like 'restrict' and 'fudge' appearing
# here, be sure to add '-Y -N' to the dhcpcd_ethX variables in /etc/conf.d/net

Be sure to start the daemon, and to make it start automatically when the system boots.

On Arch Linux is: /etc/rc.d/ntpd start on Debian and derivatives /etc/init.d/ntpd start

Update from the command line against a time server

You can update the clock manually, without the need of the daemon with ntpdate

ntpdate 129.6.15.28

You will get something like this:

19 Apr 15:45:23 ntpdate[10948]: step time server 129.6.15.28 offset -45.697084 s

Resetting the clock manaualy 1 sec back


date $(date +%m%d%H%M%Y.%S -d '1 sec ago')
Resetting the clock manaualy forward
date $(date +%m%d%H%M%Y.%S -d '+1 hour')

******************************************************************
RSYNC
rsync -av -e ssh root@pephap00020:/gis/shared/ /gis/shared/
(Keep the trailing / from the source file to avoid making a secondary directory)

To Tricke it slowly use –bw flag with slowes in bps (bits per second) –normally 1024 bps (about
160KBps) would be a good start.

Default behavoir
The following command will recursively copy all files from the local filesystem from /var/www
to the remote system at 10.1.1.1. Note the following:

1. Any files that do not exist on the remote system are copied over
2. Any that have been updated will be copied over, although note that rsync is extremely
efficient in that only the changed parts of files are copied and if the file is exactly the
same if it is not copied over at all
3. Any that have been deleted on the local system are deleted on the remote

rsync -raz --progress /var/www 10.1.1.1:/var

Ignore existing files


Use the --ignore-existing flag to prevent files from being copied over that already exist on the
remote server. By adding this, we eliminate behaviors 2 and 3 in the list above and all that is
done is this:

1. Any files that do not exist on the remote system are copied over

rsync --ignore-existing -raz --progress /var/www 10.1.1.1:/var

Update the remote only if a newer version is on the local filesystem


In the case I was talking about, we didn't want to overwrite any files at the other end. However
you may want to copy files over the have been updated more recently on the local filesystem
which is done with the --update flag. The behavior is now like this:

1. Any files that do not exist on the remote system are copied over
2. Any files that exist on both local and remote that have a newer timestamp on the local
server are copied over. (Conversely, any files that have an older timestamp are not copied
over).

rsync --update -raz --progress /var/www 10.1.1.1:/var

Use --dry-run to see what will be copied


It can be a good idea to test what will be transferred before actually doing it to make sure you
aren't going to copy files that you don't want to. The --dry-run flag helps you do this:

rsync --dry-run --update -raz --progress /var/www 10.1.1.1:/var

Combined with the --progress flag I have included in all the examples, --dry-run will output all
the directories it looks at and then all the files that would be copied
***********************************************************************

To rescan a brand new disk:


echo "- - -" > /sys/class/scsi_host/host0/scan
ls /sys/class/scsi_host/ | while read host ; do echo "- - -" > /sys/class/scsi_host/$host/scan ; done

fdisk –l to verify
Then add:
Use fdisk to create a single partition on the new device, make it type 8e (LVM).
Initialize the new partition as a physical volume:
# pvcreate /dev/sdX1
Extend your volume group with the new PV:
# vgextend yourvolumegroup /dev/sdX1
Extend your logical volume with the free space of the VG:
# lvextend -l +100%FREE /dev/yourvolumegroup/yourlogicalvolume
Resize the filesystem online (only ext3 and ext4!):
# resize2fs /dev/mapper/yourvolumegroup-yourlogicalvolume
Verify your new partitions free space with 'df -h'.
**%FREE or whatever amount needed to attach.
Inserting a word at the beginig of each line in VI

:%s/^/foo: /

Inserting a word at the end of each line in VI

:%s/$/\*/g
Or
:%norm A*

rescan-scsi-bus.sh
lsscsi
pvs
multipath –l (multipathd –k gives a interactive console)

fdisk -l /dev/sda
fdisk -l /dev/sdg
fdisk -l /dev/sdi
fdisk -l /dev/sde
pvcreate multi-SYMM_7571_2554
fdisk -l | less
pvcreate /dev/mapper/multi-SYMM_7571_2554
partprobe
pvs
vgs
vgextend vgsw01 /dev/mapper/multi-SYMM_0B10_2554
vgextend vgsw01 /dev/mapper/multi-SYMM_7571_2554
vgs
df -h
lvextend -L +34G /dev/vgsw01/lvbea
resize2fs /dev/vgsw01/lvbea
df -h
df -h /bea

LVCreate

1. lvcreate -L 6G -n /dev/vgname/lvname
2. check filesystem type: df –T
3. mkfs -t ext3 /dev/vgname/lvname
4. mkdir –p directoryname
5. mount /dev/vgname/lvname /path/to/file
6. vi /etc/fstab

LV Reduce

1. su
2. umount filesystem (ex: /dev/mapper/vg01-smartstor2)
3. If device is busy,
 fuser –m /dev/mapper/vg01-smartstor2
 ps aux | grep (process #)
 kill -9 process #
4. e2fsck –f /dev/mapper/vg01-smartstor2
5. resize2fs –p /dev/mapper/vg01-smartstor2 48G
6. lvreduce –L 48G /dev/mapper/vg01-smartstor2
7. e2fsck –f /dev/mapper/vg01-smartstor2
8. resize2fs /dev/mapper/vg01-smartstor2
9. mount /dev/mapper/vg01-smartstor2 (or give direct path name to the filesystem, look up
in /etc/fstab)

LV Extend

lvextend –L+4G /dev/mapper/vg01-lvol1


resize2fs /dev/mapper/vg01-lvol1

or
ext2online /dev/mapper/vg01-lvol1

Or use whatever free space left in VG:


lvextend -l +100%FREE /dev/vg01/lvol1 (whatever percent you want to use that’s available)

Find what dm(#) is set up to what lv.


lvdisplay | awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print
d,n;}'

lvdisplay|awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'


or

lvs -o +devices

Find files and delete them

Find files in 30 days, not opened, and remove them:


 find . -mtime +30 | xapply -f 'lsof "%1" || rm "%1"' –

finding a string in a directory:

find . -type f -exec grep -l 'string to find' {} \;

Search for a word in a file


#grep word filename

Search for multiple words in a file

#grep ‘word1|word2|word3’ filename

Find files within a time period

find . -type f -newermt 2018-04-04 ! -newermt 2018-04-09 -print0 | xargs -0 ls -l | awk '{print
$9}' | sort >>tmp/files

Sudo Commands
To check if a file is open you can run:
 sudo lsof /path/to/file

To remove a file (assuming it is not open) you can run:


 sudo -u myapp rm /path/to/file

To truncate an open file you can run:


 sudo -u myapp tee /path/to/file </dev/null

Remove user from having duplicate access:

grep -l UID * | grep -v XXX.users | xapply -f '[ -w %1 ] || co -l %1; sed -i "/UDI:/d" %1' -

grep –l ‘^@include bst’ *lp.{users,groups} | xapply –f ‘co –l %1; sed –i “/^@include bst/d” %1’

To get the Class name from a large list of hosts:

cat /path/to/filename |xapply -f "host %1 |grep 'has address' | cut -d '.' -f1 |Cluster -c -f -" - |cut -d
'-' -f1 |sort |uniq

Add user(s) to multiple include files access:

xapply -f 'ls -l %1-class.users || echo "No cookie: %1"' - < /path/to/filename


This looks for the file and checks if the files have any –class.users extension

xapply -f 'co -l %1-class.users || exit ; grep -q ms947915 %1-class.users || echo "ms947915:" >>
%1-class.users' - < /path/to/filename
 Arguments are separated by ";"
 The first argument co and locks a file, if the file is already locked then it does not proceed
further. It exits.
 If the user is already in the file; it exits quietly. If the user is not in the file, it proceeds
with echo the username in the file (amends a line at the end of the file).

Grep for something and co a file but exit if the file is co by someone else:
grep -l '^@include wily' *.users | xapply -f 'co -l %1 || exit ; sed -i "$ a\appd:" %1' -
or to save a process:
grep -l '^@include wily' *.users | xapply -f 'co -l %1 || exit ; echo appd: >> %1'

VMWare Tools:

install vmware-tools from the vSphere client:


right-click on the vm go to Guest -> Install/Upgrade VMware Tools
(make sure to select interactive if prompted)
login to the console as root
run mount /dev/cdrom /mnt
cd /var/tmp ; tar zxvf /mnt/VM*.tgz
cd /var/tmp/vmware-tools-distrib (that dir might be wrong so ls to
make sure)
run the installer (this will start the vmware-tools service

SCP:
scp user@xxxx.fedex.com:/directory/file /intended file

AWK:
 Sorting and printing the first letter of files while grepping for something:
o grep generic * | awk -F: '{print $1}' |sort -n |cut -d- -f1 |uniq

Sendmail:
service sendmail stop
service sendmail start
mail emailaddress “test mail”

Find example in VI:


Find and replace
:%s/findword/replacewith/g

Find } and enter a new line after it


:%s/}/\0\r/g
Replace } with any pattern you’re looking for

Partition Identifier
mount -v | grep "^/" | awk '{print "\nPartition identifier: " $1 "\n Mountpoint: " $3}'

Find unallocated space on Hard disk:

To see in TB:
# parted /dev/sda unit TB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
To see in GB:
# parted /dev/sda unit GB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
To see in MB:
# parted /dev/sda unit MB print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
To see in bytes:
# parted /dev/sda unit B print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
To see in %:
# parted /dev/sda unit '%' print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
To see in sectors:
# parted /dev/sda unit s print free | grep 'Free Space' | tail -n1 | awk '{print $3}'
Change /dev/sda to whatever device you are trying to find the information about. If you are using
the result in any calculations, make sure to trim the trailing characters.

NTP Service Setup:


sntp -P no -r <timeserver>
service ntp start

Locate a file:

ls -l $(locate libjli.so)

TOP processes:
TOP 10 CPU utilization processes:
echo " %CPU PID RUSER COMMAND" ;UNIX95= ps -ef -o 'pcpu pid ruser args'|sort -nr|head
-10

TOP 10 memory utilization processes:


echo " SZ PID RUSER COMMAND";UNIX95= ps -ef -o 'sz pid ruser args' |sort -nr|head -10

How to Clear Cache in Linux?


Every Linux System has three options to clear cache without interrupting any
processes or services.

1. Clear PageCache only.

# sync; echo 1 > /proc/sys/vm/drop_caches

2. Clear dentries and inodes.

# sync; echo 2 > /proc/sys/vm/drop_caches

3. Clear PageCache, dentries and inodes.

# sync; echo 3 > /proc/sys/vm/drop_caches


System files:
var/log/messages : General message and system related stuff
/var/log/auth.log : Authenication logs
/var/log/kern.log : Kernel logs
/var/log/cron.log : Crond logs (cron job)
/var/log/maillog : Mail server logs
/var/log/qmail/ : Qmail log directory (more files inside this directory)
/var/log/httpd/ : Apache access and error logs directory
/var/log/lighttpd/ : Lighttpd access and error logs directory
/var/log/boot.log : System boot log
/var/log/mysqld.log : MySQL database server log file
/var/log/secure or /var/log/auth.log : Authentication log
/var/log/utmp or /var/log/wtmp : Login records file
/var/log/yum.log : Yum command log file.

/opt/syseng – powerbroker path

set -o

RDX /nas/dbnfs
### Rebuild New RDX Cartridge ####
/opt/syseng/admin/bin/disk_cart_recreate.ksh
/opt/syseng/admin/bin/system_backup_FUR_R7.ksh 0 (System level backup)(6hrs- start with
at)
/opt/syseng/admin/bin/make_system_recovery.ksh (BMR)

AT job:
at now <enter> and paste that cmd <enter> <cntl>d

FSCK:
fsck -t ext3 –y flesystemname

Get DRAC info:


_dns hostname or _dns ipaddress

peplis00060:~> _dns peplap002 | grep peplap00206


peplap00206.corp.pep.pvt. 157.146.64.53
peplap00206-rac.corp.pep.pvt. 5.0.201.205
peplap00206-rac.corp.pep.pvt. "31717b6e989f15f8811a29c6c05abb62ed"

Check Zypper Needed Packages:


zypper pchk
Create Zypper repo

wget http://peplis00115.corp.pep.pvt/repo/tools/pepSMTsetup.sh
chmod +x pepSMTsetup.sh
sh pepSMTsetup.sh --host peplis00115.corp.pep.pvt
# zypper up --download-only
Files get in /var/cache/zypp/packages/

Rebuild rpm db

files to see

/var/adm/backup/rpmdb/ packages.---gz
/var/lib/rpm/packages.

Take a packages.gz and move it to /var/lib/rpm/packages


Then rebuild
Rpm –rebuiddb
Rpm –initdb

Now try to check zypper

RACADM:

Get RAC NIC info:


racadm getniccfg

GetHba:
mount prdlinux:/usr/mow /mnt
cp /mnt/scripts/linux/* /usr/bin/
umount /mnt/
HP hardware info:
hpacucli ctrl all show config detail
hpacucli ctrl all show config
hpacucli utility:
 # hpacucli
 # hpacucli help
NOTE: User can use the hpacucli command in a script after installing hpacucli
package (can be download separately as rpm / it also comes in PSP in Linux).
 Controller commands:
hpacucli> ctrl all show config ## Display detail of Controller

hpacucli> ctrl all show config detail


hpacucli> ctrl all show status ## Display status of Controller

hpacucli> ctrl slot=0 modify dwc=disable ## Enable or Disable


the cache

hpacucli> ctrl slot=0 modify dwc=enable

hpacucli> rescan ## Detects newly added devices since the last


rescan

 Physical drive commands:


hpacucli> ctrl slot=0 pd all show ## Display detail information
of PhysicalDrive hpacucli> ctrl slot=0 pd 2:3 show detail

hpacucli> ctrl slot=0 pd all show status ## Display Status of


physicalDrive hpacucli> ctrl slot=0 pd 2:3 show status

hpacucli> ctrl slot=0 pd 2:3 modify erase ## To Erase the


physicalDrive

hpacucli> ctrl slot=0 pd 2:3 modify led=on ## To enable or


Disable the LED hpacucli> ctrl slot=0 pd 2:3 modify led=off
 Logical drive commands:
hpacucli> ctrl slot=0 ld all show ## Display detail information
of LogicalDrive hpacucli> ctrl slot=0 ld 4 show

hpacucli> ctrl slot=0 ld all show status ## Display Status of


LogicalDrive hpacucli> ctrl slot=0 ld 4 show status

hpacucli> ctrl slot=0 ld 4 modify reenable forced ## To re-


enabling failed drive

Configuring RAID level:


 Create LogicalDrive with RAID 0 using one drive:
hpacucli> ctrl slot=0 create type=ld drives=1:12 raid=0

 Create LogicalDrive with RAID 1 using two drives:


hpacucli> ctrl slot=0 create type=ld drives=1:13,1:14 size=300
raid=1

 Create LogicalDrive with RAID 5 using five drives:


hpacucli> ctrl slot=0 create type=ld
drives=1:13,1:14,1:15,1:16,1:17 raid=5

 Expand, Extend, add spare and deleting Logical drives in existing RAID:
hpacucli> ctrl slot=0 ld 4 delete
## To Delete LogicalDrives

hpacucli> ctrl slot=0 ld 4 add drives=2:3


## Expanding ld by adding one more drive

hpacucli> ctrl slot=0 ld 4 modify size=500 forced


## Extending the LogicalDrives

hpacucli> ctrl slot=0 array all add spares=1:5,1:7


## Add two Spare disks

HPONFCFG

Get ILO info


#hponcfg –w >tmp/ilo.xml
#Resetting of password can be done using hopncfg.
#write a file to ilo with credentials
#hponcfg-f /tmp/new.ilo.xml

GetHba
WWPN:
cd /sys/class/fc_host
for i in 0 1 2 3 4 5; do cat host$i/port_name; done

Timezone:
zdump -v /etc/localtime
zdump -v /etc/localtime | grep 2015
cat /etc/sysconfig/clock
zdump -v US/Eastern
zdump -v US/Eastern | grep 2015
ll /usr/share/zoneinfo/
ll /usr/share/zoneinfo/US/
zdump -v /usr/share/zoneinfo/US/Arizona
TCPDUMP:
Start tcpdump with
tcpdump –s 0 w /path/filename.pcap
End it with ctrl c

To read tcpdump
tcpdump -ttttnnr /path/filename.pcap | tail -50 or more (the file gets huge quickly)
tcpdump for a specific ip address and port number, here is how to do it.

tcpdump -i eth0 host 192.168.1.3 and port 5060 -n -s 0 -vvv -w path/dump.pcap

Tar:

tar –cvf file /absolutepath/*

To unlock the user account

To check the faillog attempts

root@testsrv:~ # faillog -u user1


Username Failures Maximum Latest
user1 15

To reset the counter

root@testsrv:~ # /usr/bin/faillog -r user1


Username Failures Maximum Latest
user1 0 0

If you’re root but is not managing to become a user with su, you also need to reset the login

/sbin/pam_tally --user USERNAME --reset

Onboarding a server

check_onboard -s hostname -int (dom)

To go into Single user mode

Splash screen (edit)


Init=/bin/sh

mount –o remount /

1- Reboot the server in single user mode


2- Once we get to command promt--
3- # mount –o remount, rw /
4- # mount –o remount, rw /var or mount /var
5- # mount –o remount, rw /usr or mount /usr
6- # passwd ---------------Now insert the new password
7- # reboot

To install VMtools

install_vmtools --s servername --dom OR --int

--dom = domestic server

--int = international server

To Release IP

Dhcpcd –k eth0 (or the right interface name)

To send a package to DMZ host

peplis00081:~> cat NIMSOFT.tar | pbrun -p -h peplap01761.lar.pi.pvt -u root tee


/tmp/NIMSOFT.tar >/dev/null (you can also use 2 >&1

Find files and execution

groupmod --gid 268 oinstall

groupmod --gid 250 dba

/usr/sbin/usermod -u "305" -s "/usr/bin/ksh" -g "dba" -d "/home/oracle" -m oracle

/usr/sbin/usermod -p kVq/w6VBz9NLg oracle

find . -type f -user 50003 -group 50005 -exec ls -la {} \;


find . -type f -user 50003 -group 50006 -exec ls -la {} \;

find . -type f -user 50003 -group 50005 -exec chown oracle:dba {} \;

find . -type f -user 50003 -group 50006 -exec chown oracle:oinstall {} \;

To change ownership of files to the new id

find / -user 368 -exec chown -h 35381 {} \;

SUBSTITUTE TEXT from Command line

perl -p -i -e 's/max_log_file_action =.*/max_log_file_action = keep_logs/' /etc/audit/auditd.conf

ulimit

vi /etc/security/limits.conf
gidm soft nproc 8192
gidm soft nproc 8192

gidm soft nofile 8192


gidm hard nofile 8192

Core Dump

Enable core dump globally in /etc/profile by changing lines in the file

From
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
to
ulimit -c unlimited >/dev/null 2>&1

Set Core limit to unlimited in /etc/security/limits.conf

* soft core unlimited


* hard core unlimited

Add the below line in /etc/sysctl.conf

# The following line is added to send the contents of core dump to /tmp/core
kernel.core_pattern = /tmp/core-%p
For the programs started by a daemon or service, add the following line into /etc/sysconfig/init

DAEMON_COREFILE_LIMIT='unlimited'

Once done
#ulimit –c unlimited
And set it up
#sysctl –p

To stop core dumps

Set Core limit to 0 in /etc/security/limits.conf

* soft core 0
* hard core 0

Disable core dump globally in /etc/profile by changing lines in the file


From
ulimit -c unlimited >/dev/null 2>&1
To
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

And run the following command on the prompt


#ulimit –c 0

To get a dump of a running PID


#gdp --pid=PID#
gcore
created a core.pid file
detach
quit

Restoring From NFS share.

Storage team keeps a snapshot of NFS share daily for 6 days. We can restore stuff from .ckpt
directory. It will not show up in ls –la.

Mail

/var/log/mail

Locate main.cf
Fix the issues
Postfix reload or service postfix restart (if it doesn’t work)
/var/spool/postfix (should be owned by postfix)

Adding SWAP

Create a section in hard drive as Linux Swap (e.g /dev/sda3)

# Swapoff -a
# mkswap /dev/sda3
# swapon –a
# swapon /dev/sda3
# create /etc/fstab entry for the newly created swap as well.

To Find Out Serverbuilt Information through Command line

cmd prdlinux grep comment /usr/ksfiles/servername/settings.pl

PACKET LOSS

Packet loss should be looked at the VM side first. If nothing works and there is some good memory on a
host, try increasing buffer size

To check buffer size

#ethtool –g eth0

Results are like this


Ring parameters for eth0:

Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 256
RX Mini: 0
RX Jumbo: 0
TX: 512
To resize buffer to a value
#ethtool –G eth0 rx 4096 tx 4096 (its set to max value)

Process related stuff

Ps -eLf
ps -eLf | awk '{ print $12 }' | sort | uniq -c | sort -nr | head -10

pmap -x PID ( to get process memory related)

cat /proc/sys/Kernerl/pid_max

CPU and memory monitoring

watch "ps aux | sort -rk 3,3 | head -n 6"

ps -eo pcpu,pid,user,args | sort -k1 -r | head -10

ps -eLf | grep oraracp1 | wc –l

Oracle ASM monitoring logs


/oracle/osw/archive/oswdbcpu#

CRONTAB
Crontab –l ( lists cron jobs)
Crontab –e ( ecit cron jobs)

If crontab is not working for a user, check cron.allow and cron.deny. Also check and see the password
expiry of the user

Memory:

cat /proc/buddyinfo
echo m > /proc/sysrq-trigger
grep Normal /var/log/messages | tail –l
ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5
systool -c fc_host -v | egrep "port_name|port_state"

AWK (example)
1014 uname -a | awk '{print $3}'
1015 echo ' a b c '|awk '{print $3}'
1016 uname -a | awk '{print $1,$2,$3}'
1017 uname -a | awk '{print $1 $2 $3}'
1018 uname -a | awk '{print $1-$3}'
1019 uname -a | awk '{print $1 - $3}'

for i in `cat xbc`; do printf "`echo $i` `cmd $i /usr/sbin/dmidecode -s system-product-name` `cmd $i
cat /etc/*release | grep -i version | grep -v LSB |awk '{print $3}'` `cmd $i cat /etc/*release | grep -i
PATCHLEVE | awk '{print $3}'` `cmd $i uname -a | awk '{print $3}'` `cmd $i uptime | awk '{print $3}'`
\n" >>list2; done

[5/2/2018 2:25 PM] WOFFORD, MICHAEL - Contractor {BIS}:


cat ${basedir}/pblicense.unknown.fping.alive.${dc} | cut -d " " -f1 | pbrun -p -u root -h peplis00112
/opt/syseng/loca
l/bin/dsh.ksh uname -a >/dev/null 2>${basedir}/pblicense.unknown.fping.alive.sdsh.fail.${dc}

root@peplxw00034:/etc/sysconfig/network# wicked arp --verify 2 eth1 30.185.138.167


eth1: IP address 30.185.138.167 is in use by 00:50:56:aa:13:5a
root@peplxw00034:/etc/sysconfig/network# ar
ar arch arecord arecordmidi arp arpaname arpd arping
root@peplxw00034:/etc/sysconfig/network# ar
ar arch arecord arecordmidi arp arpaname arpd arping
root@peplxw00034:/etc/sysconfig/network# arp
Address HWtype HWaddress Flags Mask Iface
30.185.144.3 ether e4:c7:22:18:9c:42 C eth0
30.185.144.2 ether e4:c7:22:67:6d:42 C eth0
30.185.144.1 ether 00:00:0c:9f:f1:44 C eth0
root@peplxw00034:/etc/sysconfig/network# man ar^C
root@peplxw00034:/etc/sysconfig/network# arping
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
-f : quit on first reply
-q : be quiet
-b : keep broadcasting, don't go unicast
-D : duplicate address detection mode
-U : Unsolicited ARP mode, update your neighbours
-A : ARP answer mode, update your neighbours
-V : print version and exit
-c count : how many packets to send
-w timeout : how long to wait for a reply
-I device : which ethernet device to use
-s source : source ip address
destination : ask for what ip address
root@peplxw00034:/etc/sysconfig/network# arping -c 2 -w 3 -D -I eth1
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
-f : quit on first reply
-q : be quiet
-b : keep broadcasting, don't go unicast
-D : duplicate address detection mode
-U : Unsolicited ARP mode, update your neighbours
-A : ARP answer mode, update your neighbours
-V : print version and exit
-c count : how many packets to send
-w timeout : how long to wait for a reply
-I device : which ethernet device to use
-s source : source ip address
destination : ask for what ip address
root@peplxw00034:/etc/sysconfig/network# arping -c 2 -w 3 -D -I eth1 30.185.138.167
ARPING 30.185.138.167 from 0.0.0.0 eth1
Unicast reply from 30.185.138.167 [00:50:56:AA:13:5A] 0.858ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
root@peplxw00034:/etc/sysconfig/network#

CMS Patch window URL

https://mycollab.mypepsico.com/communities/service/html/communitystart?communityUuid=6112e00
a-15eb-4afd-b38e-
3ea91cd281bb#fullpageWidgetId=W95ccc4d31c3c_4beb_8a74_ebdcab16754d&folder=%257BA0E8345
4-0000-CD18-BEE5-4901A1E25399%257D

As SQL DBA

/home/oraracp1 PBN1OMSP]>sqlplus / as sysdba

Identifying IO error disks

root@pbgldr00015:~# dmesg | grep end_request|awk '{print $7}'| sort|


uniq

sdbq,

sdgr,
Identifying the disks are connected over FC

root@pbgldr00015:~# lsscsi -t --list |egrep 'sdbq|sdgr'

[0:0:3:0] disk fc:0x5000097208169199,0x01fb40 /dev/sdbq

[3:0:3:0] disk fc:0x50000972081691a5,0x01fb40 /dev/sdgr

Identifying the HBA and FC port details

root@pbgldr00015:~# lsscsi -H -t --list [0:0:3:0]

[0] lpfc fc:0x10000000c9a19efe,0x017a40

transport=fc

node_name=0x20000000c9a19efe

port_name=0x10000000c9a19efe

port_id=0x017a40

port_type=NPort (fabric via point-to-point)

speed=8 Gbit

supported_classes=Class 3

tgtid_bind_type=wwpn (World Wide Port Name)

root@pbgldr00015:~# lsscsi -H -t --list [3:0:3:0]

[3] lpfc fc:0x10000000c9f241df,0x017a40

transport=fc

node_name=0x20000000c9f241df

port_name=0x10000000c9f241df

port_id=0x017a40

port_type=NPort (fabric via point-to-point)


speed=8 Gbit

supported_classes=Class 3

tgtid_bind_type=wwpn (World Wide Port Name)

Verifying the identified HBA port availability and state

root@pbgldr00015:~# cat /sys/class/fc_host/host*/port_name| egrep


'10000000c9a19efe|10000000c9f241df'

0x10000000c9a19efe

0x10000000c9f241df

root@pbgldr00015:~# systool -c fc_host -v | egrep -A 2


'10000000c9a19efe|10000000c9f241df'

port_name = "0x10000000c9a19efe"

port_state = "Online"

port_type = "NPort (fabric via point-to-point)"

--

port_name = "0x10000000c9f241df"

port_state = "Online"

port_type = "NPort (fabric via point-to-point)"

Verified the identified disks are not being used in LVM and multipath

root@pbgldr00015:~# pvs

PV VG Fmt Attr PSize PFree

/dev/cciss/c0d0p5 vg00 lvm2 a- 110.00G 1.05G

/dev/cciss/c0d0p6 vgsw01 lvm2 a- 105.00G 5.00G

/dev/dm-18 ProdVG1 lvm2 a- 2.25T 0

/dev/dm-19 vgsw02 lvm2 a- 2.25T 0


root@pbgldr00015:~# multipath -ll | egrep 'sdbq|sdgr'

RACADM
ll Dell DRACs come with a default account set up as root / calvin which is a huge security risk if left!
The web interface doesn’t let you change the password but the firmware does when you boot the server.

A second way to change the password is with the racadm tool, if installed, at the command line! This
means you don’t have to reboot that precious production server!

In DRAC 4, the first index slot is root by default. In DRAC 5 and 6, index 1 is Administrator, index 2 isroot.
We can display the ID info using racadm command:

DRAC 4:

racadm getconfig -g cfgUserAdmin -i 1


DRAC 5 and 6:

racadm getconfig -g cfgUserAdmin -i 2


# cfgUserAdminIndex=2
cfgUserAdminUserName=root
# cfgUserAdminPassword=******** (Write-Only)
cfgUserAdminEnable=1
cfgUserAdminPrivilege=0x000001ff
cfgUserAdminIpmiLanPrivilege=4
cfgUserAdminIpmiSerialPrivilege=4
cfgUserAdminSolEnable=1
When we’re sure we have the correct ID, we can easily change the password with the racadm command
too

DRAC 4:

racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 1 newpassword


DRAC 5 and 6:

racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 2 newpassword


Object value modified successfully
SAR

If sysstat is not installed , it will not work.


Enable sar by /etc/init.d/boot.sysstat start

#:sar -d
#:sar -dp
#:sar -q
#:sar -b
#:sar -dp
#:sar -b
#:sar -p
#:sar –q
#:sar -d -f /var/log/sa/201607/sa05
#:sar -dp -f /var/log/sa/201607/sa16

5. Removing a Storage Device


Before removing access to the storage device itself, it is advisable to back up data from the
device first. Afterwards, flush I/O and remove all operating system references to the device
(as described below). If the device uses multipathing, then do this for the multipath "pseudo
device" (Section 4.1, “WWID”) and each of the identifiers that represent a path to the
device. If you are only removing a path to a multipath device, and other paths will remain,
then the procedure is simpler, as described in Section 7, “Adding a Storage Device or Path”.

Removal of a storage device is not recommended when the system is under memory
pressure, since the I/O flush will add to the load. To determine the level of memory
pressure, run the command vmstat 1 100; device removal is not recommended if:

o Free memory is less than 5% of the total memory in more than 10 samples per 100
(the command free can also be used to display the total memory).
o Swapping is active (non-zero si and so columns in the vmstat output).

The general procedure for removing all access to a device is as follows:

Procedure 1. Ensuring a Clean Device Removal

1. Close all users of the device and backup device data as needed.
2. Use umount to unmount any file systems that mounted the device.
3. Remove the device from any md and LVM volume using it. If the device is a member of an
LVM Volume group, then it may be necessary to move data off the device using
the pvmove command, then use the vgreduce command to remove the physical volume,
and (optionally) pvremove to remove the LVM metadata from the disk.
4. If the device uses multipathing, run multipath -l and note all the paths to the device.
Afterwards, remove the multipathed device using multipath -f device.
5. Run blockdev –flushbufs device to flush any outstanding I/O to all paths to the device.
This is particularly important for raw devices, where there is
no umount or vgreduce operation to cause an I/O flush.
6. Remove any reference to the device's path-based name, like /dev/sd, /dev/disk/by-
path or the major:minor number, in applications, scripts, or utilities on the system. This is
important in ensuring that different devices added in the future will not be mistaken for the
current device.
7. Finally, remove each path to the device from the SCSI subsystem. To do so, use the
command echo 1 > /sys/block/device-name/device/delete where device-name may
be sde, for example.

Another variation of this operation is echo 1 >


/sys/class/scsi_device/h:c:t:l/device/delete, where h is the HBA number, c is the
channel on the HBA, t is the SCSI target ID, and l is the LUN.

Note
The older form of these commands, echo "scsi remove-single-device 0 0 0 0" >
/proc/scsi/scsi, is deprecated.

632 Sep/20 - 14:39:12 multipath -ll


633 Sep/20 - 14:39:36 multipath -f dm-87
634 Sep/20 - 14:39:51 pvs
635 Sep/20 - 14:40:23 echo 1 > /sys/block/sdfb/device/delete

REMOVING A VM DISK
First ensure the disk is nto part of any VG or even used in ASM
# Lsscsi -----------to find out the disk
#ll /sys/bus/scsi/drivers/sd/ (disk major:minor)/block/----confirms the disk is there
#cat /proc/scsi/scsi

To remove

#echo 1 >/sys/bus/scsi/drivers/sd/ (disk major:minor)/delete

Parted
Show disk partition info
parted -s /dev/sdae print
Removing the first partition
parted -s /dev/sdae rm 1 ( this could be used for any given partition)

*********************************************************
Using dd to wipe clean a disk
To wipe only the partition table, leaving the boot code intact:

Code:

#dd bs =1 seek=446 count=64 if= /dev/zero of=/dev/sdae

To wipe the entire MBR (which is probably what you really want to do):

Code:

#dd bs =512 count=1 if =/dev/zero of=/dev/sdae

To wipe all of Track Zero (which contains the MBR and possibly a boot loader):

Code:

#dd bs =512 count=63 if =/dev/zero of=/dev/sdae

By wiping all of Track Zero, you wind up with a "blank" disk, unpartitioned, with no sneaky
boot sector viruses. The disk behaves like it did when it came from the factory (assuming it
didn't come from the factory already partitioned and formatted - some external disks come
this way).

=====

Background:

A sector is 512 bytes long. The first sector of a disk is the MBR (Master Boot Record). The
MBR contains 446 bytes of "boot code", followed by 64 bytes of "partition table", followed
by two bytes of who-konws-what (not used by Linux). The "partition table" contains four
"partition records", each being 16 bytes in length. Track Zero is the first 63 sectors of a disk
(and therefore contains the MBR plus 62 additional sectors). These 62 additional sectors are
sometimes used to hold a "boot loader", or part thereof. Ill-advised copy protection
schemes sometimes use these 62 sectors, often times with disastrous results for the user.
Actual "normal" data storage begins on Track One, which immediately follows Track Zero.

*********************************************************
UPGGRADING ILO from CLI
#ssh to ilo interface
</>hpiLO-> cd map1/firmware1
</map1/firmware1>hpiLO-> show ( you will see the firmware version for ILO here)
</map1/firmware1>hpiLO-> load –source (location) the ilo file sould end with .bin
You will see output as show below. You may have to wait several minutes for the update to
complete. You can run a ping –t against the ILO IP address and you will see it time out for a few
pings and come back. You will also be disconnected from your Putty session. These are good
indicators that the upgrade is complete.
Now you will have to sign back into ILO again using putty as you will have lost your connection
during the upgrade. When you log back, you will the version number is updated as shown below.

ILO location

root@peplgp00001:/Blade_FW/Blade/ilo-1.55# ll
total 8860
drwxr-xr-x 2 root root 4096 Nov 24 2015 ./
drwxr-xr-x 5 root root 4096 May 10 08:26 ../
-rw-rw-rw- 1 root root 162985 Jan 24 2013 CP018561.xml
-rw-r-xr-x 1 root root 5182 Jan 24 2013 README.TXT*
-rwxr-xr-x 1 root root 472396 Jan 23 2013 flash_ilo3*
-rw-r-xr-x 1 root root 8394340 Jan 24 2013 ilo3_155.bin*
root@peplgp00001:/Blade_FW/Blade/ilo-1.55#

Scritps in HPUX to get File System Info ( df –h)

df -Pk | awk '


BEGIN {print "Filesystem Mount Point Total GB Avail GB Used GB Used"
print "----------------------------------- ------------------------- ---------- ---------- ---------- -----"}
END {print ""}
/dev/ || /^[0-9a-zA-Z.]*:\// {
printf ("%-35.35s %-25s %10.2f %10.2f %10.2f
%4.0f%\n",$1,$6,$2/1024/1024,$4/1024/1024,$3/1024/1024,$5)
}'

Configure kernel core dump capture


This document (3374462) is provided subject to the disclaimer at the end of this
document.

Environment
SUSE Linux Enterprise Server 10
SUSE Linux Enterprise Server 11
SUSE Linux Enterprise Desktop 10
SUSE Linux Enterprise Desktop 11

Situation
The kernel is crashing or otherwise misbehaving and a kernel core dump needs to be
captured for analysis.

Resolution
Prerequisites

Kdump stores kernel core dumps under /var. The partition that /var is on must have
enough available disk space for the vmcore file, which will be approximately the size of
the system's physical memory. By default, the system will attempt to keep 5 vmcore
files. The Kdump facility is available for SLES10 and SLES11 on x86, x86-64, ppc64
and ia64 architectures, and starting with SLES11 SP3, for IBM System z. See
Limitations under Additional Information below for more information.

Check the taint status of the kernel (recommended)

Whenever possible, kernel crashes should be reproduced using untainted kernels.


Refer to TID 3582750, Tainted Kernel, for details on kernel tainting, the impact of
tainting on supportability and for recommendations on how to avoid tainting the kernel.

Set up magic SysRq (recommended)

For kernel problems other than a kernel oops or panic, a kernel core dump is not
triggered automatically. If the system still responds to keyboard input to some degree, a
kernel core dump can be triggered manually through a "magic SysRq" keyboard
combination (typically: hold down three keys simultaneously: the left Alt key, the Print
Screen / SysRq key and a letter key indicating the command - ' s' for sync, ' c' for core
dump) or a SYSTEM/PSW RESTART on System z, if this feature has been enabled.
For general documentation of the "magic SysRq" feature, please refer to the
Documentation/sysrq.txt file in the Linux kernel source.

To enable the magic SysRq feature permanently, edit /etc/sysconfig/sysctl,


change the ENABLE_SYSRQ line to ENABLE_SYSRQ="1". This change becomes active
after a reboot. To enable the feature for the running kernel, run
echo 1>/proc/sys/kernel/sysrq

Set up serial console (recommended)

For some kernel problems, a kernel core dump is not triggered and the system does not
respond to the keyboard anymore. For those situations, it may still be possible to trigger
a kernel core dump through magic SysRq sequences from a serial console.

Please refer to TID 3456486, Configuring a Remote Serial Console for SLES, for the
procedure.

Configure the system for capturing kernel core dumps (SLES 10)
1. Install the packages kernel-kdump, kdump, and kexec-tools.

The kernel-kdump package contains a "crash" or "capture" kernel that is started


when the primary kernel has crashed and which provides an environment in which
the primary kernel's state can be captured. The version of the kernel-dump
package needs to be identical to that of the kernel whose state needs to be
captured.

The kexec-tools package contains the tools that make it possible to start the
capture kernel from the primary kernel.
2. Reserve memory for the capture kernel by passing appropriate parameters to the
primary kernel.
For the x86 and x86_64 architecture use the table below based upon how much
memory you have.

Memory crashkernel= 3.

0 - 12 GB 64M@16M

13 - 48 GB 128M@16M

49 - 128 GB 256M@16M

129 - 256 GB 512M@16M

For the PPC64 architecture: crashkernel=128M@32M


Note: for Xen installations, this parameter needs to be passed to the GRUB line for
the Xen hypervisor, not the module line for the Dom0 kernel.

This can be done as follows: Start YaST, under System, select Boot Loader. On
the tab Section Management, select the default section and select Edit. Add
the settings to the field labeled Optional Kernel Command Line Parameter
, then select Ok and Finish to save the settings.
4. Activate the kdump system service.

Run
chkconfig kdump on

or in YaST: under System, select System Services (Runlevel), select


kdump , then select Enable and Finish.
5. Reboot the system for the settings to take effect
Configure the system for capturing kernel core dumps (SLES 11)
1. Install the packages kdump, kexec-tools, and makedumpfile.

SLES 11 does not require the kernel-kdump package like in earlier versions of
SUSE LINUX Enterprise. The technical reason is that the normal kernel is
relocatable now and can be used as kdump kernel, i.e. it's possible to load and
execute the normal kernel at any address, not only the compiled-in address as
before.

The kexec-tools package contains the tools that make it possible to start the
capture kernel from the primary kernel.
2. Reserve memory for the capture kernel by passing appropriate parameters to the
primary kernel.
For the x86 and x86_64 architecture use the table below based upon how much
memory you have.

Memory crashkernel= 3.

0 - 12 GB 128M

13 - 48 GB 256M

49 - 128 GB 512M

129 - 256 GB 1G *(896M, 768M or


512M)
4.

5.

6. For the IBM PPC64 architecture use the table below based upon how much
memory you have.
Memory crashkernel=

2 - 4 GB 320M

5 - 32 GB 512M

33 - 64 GB 1024M

65 - 128 GB 2048M
129 GB & above 4096M

7.
o Note: the crashkernel no longer needs the offset of 16M on SLES 11 for x86 and
x86_64 architecture.
o Note: For SLES11 SP2 please double the values for needed memory. The
minimum need is 256M.
o Note: More memory needs to be reserved if the btrfs filesystem is used for root
rather than the ext3 filesystem.
o Note: For Xen installations, this parameter needs to be passed to the GRUB line for
the Xen hypervisor, not the module line for the Dom0 kernel.
o Note (*): There are hard-coded limits (kernel/kexec-tools) not allowing to allocate
1GB. If loading kdump with crashkernel=1G fails, please change the crashkernel
size to something smaller: 896M, 768M or 512M.
o Note: The minimum size of the crashkernel can vary (hardware/machine specific)
so it's best to test the size that will allow to load kdump.

Reserving memory can be done as follows: Start YaST, under System, select
Boot Loader. On the tab Section Management, select the default section and
select Edit. Add the settings to the field labeled Optional Kernel Command
Line Parameter , then select Ok and Finish to save the settings.
1. Activate the kdump system service.

Run
chkconfig boot.kdump on

or in YaST: under System, select System Services (Runlevel), select


boot.kdump , then select Enable and Finish.
2. Reboot the system for the settings to take effect

Capturing kdump on a target using devicemapper (lvm or multipath) devices

If the root device is not using devicemapper devices, but the dump is to be captured
on a devicemapper device, you need to set:

KDUMP_COMMANDLINE_APPEND="root_no_dm=1 root_no_mpath=1"

in /etc/sysconfig/kdump.
If you use devicemapper devices for both, root and kdump, these options must not be
added.

Test local kernel core dump capture

To test the local kernel core dump capture, follow these steps.
If magic SysRq has been configured:
1. Magic-SysRq-S to sync (flush out pending writes)
2. Magic-SysRq-C to trigger the kernel core dump
On IBM System z, a kernel core dump can be manually triggered:
 For SLES in an LPAR by executing the PSW RESTART task on the HMC
 For SLES in z/VM by issuing #CP SYSTEM RESTART from the 3270 terminal
Please note that the RESTART mechanism does not provide a way to flush write
buffers and bears the risk of data loss. It should be used only if the SLES system is
completely unresponsive and can't be shut down properly.

Alternatively, without magic SysRq:


1. Open a shell or terminal
2. Run sync
3. Run echo c >/proc/sysrq-trigger
Please note that the 'c' must be lower case! Also, the system will not be responsive
while the capture is being prepared and made as the capture kernel environment is a
limited, non-interactive environment.

Once the system becomes responsive again, verify that a capture file was created as
/var/log/dump/ date-time/vmcore. On SLES 11 look in
/var/crash/date.

Setup for network dump captures - prepare for non-interactive data transfers

1. for SLES10

The scp command (part of OpenSSH) will be used to transfer the dump over the
network.

As the capture environment on the dumping system is completely non-interactive, all


authorization for the data transfer needs to be set up in advance, sothe system that is to
receive the dump needs to accept SSH connections from the dumping server without
requiring passwords. This can be done as follows:
 on the sending system, as the rootuser, generate a keypair for SSH, unprotected by a
passphrase:
ssh-keygen -N '' -C 'passthrough key' -t dsa2
 From the sending system, add the public key from this keypair to the list of authorized
keys for the rootuser on the receiving system:
ssh root@ receiving.system' cat >>/root/.ssh/authorized_keys' <
/root/.ssh/id_dsa.pub
On the receiving system, as the root user, create a directory in which to receive the
dump, say /dump :
install -m 700 -u root -g root -d /dump
Make sure this directory resides on a filesystem with sufficient free space.

On the dumping machine, the following settings need to be configured in


/etc/sysconfig/kdumpon the dumping system:
KDUMP_RUNLEVEL=3
KDUMP_TRANSFER="scp /proc/vmcore ReceivingSystemNameOrIP:/dump/"

This will make kdump act in a manner similar to the older netdump mechanism: the
capture environment will go up to runlevel 3 (where network connectivity is enabled)
and will use the secure copy command scp to transfer the kernel core dump to a
separate system.

2. for SLES11

add the network device to be used to the variable: KDUMP_NETCONFIG in


/etc/sysconfig/kdump.

In order to automatically set up a network device, pass the option "auto". This is
also the default.
For a custom setup, pass a string that contains the network device and the mode
(dhcp,static), separated by
a colon, for example: "eth0:static" or "eth1:dhcp".
If you use "static", you have to set the IP address with ip=ipspec. ipspec is
<client>:<server>:<gateway>:<netmask>:<hostname>:<device>:<proto>
as boot parameter. See mkinitrd(8) for details.

Pass the dumping method and the destination directory to the parameter:
KDUMP_SAVEDIR in /etc/sysconfig/kdump
Supported methods are:

FTP, for example "ftp://user:password@host/var/log/dump"


SSH, for example "ssh://user:password@host/var/log/dump"
NFS, for example "nfs://server/export/var/log/dump"
CIFS (SMB) , for example "cifs://user:password@host/share/var/log/dump"

See also: kdump(5) which contains an exact specification for the URL format.

NOTE:
 When calculating the needed value for crashkernel, the number of dm-devices is
important. For each dm-device attached to the server an extra 4 MB is needed.
 A too low configured value will cause the server to hang when booting in the crashkernel.
See also tid 7010542

Additional Information
Limitations

Kdump is not supported for Xen kernels prior to SLES 11 Service Pack 2.
On IBM System z, kdump is not supported prior to SLES11 Service Pack 3.
On the IA-64 architecture, kdump is only supported as of SLES 10 Service Pack 1.

IO Scheduler.

Ideally, there would be a single scheduler to satisfy all needs. It doesn't seem to exist yet.
The kernel often doesn't have enough knowledge to choose the best scheduler for your
workload:

 noop is often the best choice for memory-backed block devices (e.g. ramdisks) and
other non-rotational media (flash) where trying to reschedule I/O is a waste of
resources
 deadline is a lightweight scheduler which tries to put a hard limit on latency
 cfq tries to maintain system-wide fairness of I/O bandwidth

To check I/O Scheduler

cat /sys/block/sd*/queue/scheduler

Change IO Scheduler

echo {SCHEDULER-NAME} > /sys/block/{DEVICE-NAME}/queue/scheduler


echo deadline >/sys/block/sd*/queue/scheduler (for all, if you need just one disk,
specify it)

To make the change permanent add elevator= {Scheduler-name} in Kernel


parameters in grub.

up Emptying the buffers cache


vote303down
vote acc epted If you ever want to empty it you can use this chain of commands.

# free && sync && echo 3 > /proc/sys/vm/drop_caches && free

total used free shared buffers


cached
Mem: 1018916 980832 38084 0 46924
355764
-/+ buffers/cache: 578144 440772
Swap: 2064376 128 2064248
total used free shared buffers
cached
Mem: 1018916 685008 333908 0 224
108252
-/+ buffers/cache: 576532 442384
Swap: 2064376 128 2064248
You can signal the Linux Kernel to drop various aspects of cached items
by changing the numeric argument to the above command.

 To free pagecache:
 # echo 1 > /proc/sys/vm/drop_caches
 To free dentries and inodes:
 # echo 2 > /proc/sys/vm/drop_caches
 To free pagecache, dentries and inodes:
 # echo 3 > /proc/sys/vm/drop_caches
The above are meant to be run as root. If you're trying to do them
using sudo then you'll need to change the syntax slightly to something like
these:
$ sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'
$ sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
$ sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
NOTE: There's a more esoteric version of the above command if you're
into that:
$ echo "echo 1 > /proc/sys/vm/drop_caches" | sudo sh
Why the change in syntax? The /bin/echo program is running as root,
because of sudo, but the shell that's redirecting echo's output to the root-
only file is still running as you. Your current shell does the
redirection before sudo starts.
Seeing what's in the buffers and cache
Take a look at linux-ftools if you'd like to analyze the contents of the
buffers & cache. Specifically if you'd like to see what files are currently
being cached.
fincore
With this tool you can see what files are being cached within a give
directory.

fincore [options] files...

--pages=false Do not print pages


--summarize When comparing multiple files, print a summary
report
--only-cached Only print stats for files that are actually in
cache.
For example, /var/lib/mysql/blogindex:
root@xxxxxx:/var/lib/mysql/blogindex# fincore --pages=false --
summarize --only-cached *
stats for CLUSTER_LOG_2010_05_21.MYI: file size=93840384 , total
pages=22910 , cached pages=1 , cached size=4096, cached perc=0.004365
stats for CLUSTER_LOG_2010_05_22.MYI: file size=417792 , total
pages=102 , cached pages=1 , cached size=4096, cached perc=0.980392
stats for CLUSTER_LOG_2010_05_23.MYI: file size=826368 , total
pages=201 , cached pages=1 , cached size=4096, cached perc=0.497512
stats for CLUSTER_LOG_2010_05_24.MYI: file size=192512 , total
pages=47 , cached pages=1 , cached size=4096, cached perc=2.127660
stats for CLUSTER_LOG_2010_06_03.MYI: file size=345088 , total
pages=84 , cached pages=43 , cached size=176128, cached
perc=51.190476
stats for CLUSTER_LOG_2010_06_04.MYD: file size=1478552 , total
pages=360 , cached pages=97 , cached size=397312, cached
perc=26.944444
stats for CLUSTER_LOG_2010_06_04.MYI: file size=205824 , total
pages=50 , cached pages=29 , cached size=118784, cached
perc=58.000000
stats for COMMENT_CONTENT_2010_06_03.MYI: file size=100051968 , total
pages=24426 , cached pages=10253 , cached size=41996288, cached
perc=41.975764
stats for COMMENT_CONTENT_2010_06_04.MYD: file size=716369644 , total
pages=174894 , cached pages=79821 , cached size=326946816, cached
perc=45.639645
stats for COMMENT_CONTENT_2010_06_04.MYI: file size=56832000 , total
pages=13875 , cached pages=5365 , cached size=21975040, cached
perc=38.666667
stats for FEED_CONTENT_2010_06_03.MYI: file size=1001518080 , total
pages=244511 , cached pages=98975 , cached size=405401600, cached
perc=40.478751
stats for FEED_CONTENT_2010_06_04.MYD: file size=9206385684 , total
pages=2247652 , cached pages=1018661 , cached size=4172435456, cached
perc=45.321117
stats for FEED_CONTENT_2010_06_04.MYI: file size=638005248 , total
pages=155763 , cached pages=52912 , cached size=216727552, cached
perc=33.969556
stats for FEED_CONTENT_2010_06_04.frm: file size=9840 , total pages=2
, cached pages=3 , cached size=12288, cached perc=150.000000
stats for PERMALINK_CONTENT_2010_06_03.MYI: file size=1035290624 ,
total pages=252756 , cached pages=108563 , cached size=444674048,
cached perc=42.951700
stats for PERMALINK_CONTENT_2010_06_04.MYD: file size=55619712720 ,
total pages=13579031 , cached pages=6590322 , cached
size=26993958912, cached perc=48.533080
stats for PERMALINK_CONTENT_2010_06_04.MYI: file size=659397632 ,
total pages=160985 , cached pages=54304 , cached size=222429184,
cached perc=33.732335
stats for PERMALINK_CONTENT_2010_06_04.frm: file size=10156 , total
pages=2 , cached pages=3 , cached size=12288, cached perc=150.000000
---
total cached size: 32847278080
With the above output you can see that there are several *.MYD, *.MYI,
and *.frm files that are currently being cached.

Swap
If you want to clear out your swap you can use the following commands.

$ free
total used free shared buffers
cached
Mem: 7987492 7298164 689328 0 30416
457936
-/+ buffers/cache: 6809812 1177680
Swap: 5963772 609452 5354320
Then use this command to disable swap:

$ swapoff -a
You can confirm that it's now empty:

$ free
total used free shared buffers
cached
Mem: 7987492 7777912 209580 0 39332
489864
-/+ buffers/cache: 7248716 738776
Swap: 0 0 0
And to re-enable it:

$ swapon -a
And now reconfirm with free:
$ free
total used free shared buffers
cached
Mem: 7987492 7785572 201920 0 41556
491508
-/+ buffers/cache: 7252508 734984
Swap: 5963772 0 5963772

Putting Current Job in background with Nohup

Using the Job Control of bash to send the process into the background:

0. Run some SOMECOMMAND


1. ctrl+z to stop (pause) the program and get back to the shell
2. bg to run it in the background
3. disown -h so that the process isn't killed when the terminal closes
4. Type exit to get out of the shell because now your good to go as the
operation will run in the background in it own process so its not tied to a
shell
If Ctrl-Z is not working

Open another shell and:

ps -aux
(or)
ps aux

Then identify the PID of the process for example. And put that number in the
PID field below.

kill -20 PID


kill -18 PID

kill -20 will suspend the process


kill -18 will resume the process, in background. So now, closing both your
terminals won't stop your process.

Process consuming most CPU

ps aux | sort -rk 3,3 | head -n 5

Process running for the longest time

top -b -n1 -c | awk '/PID *USER/{print;getline;print}'


Soo... you lost your ILO credentials...
posted Jul 2, 2011, 8:54 PM by Jayme Snyder

Ever had a couple servers that although ILO was configured, the person who set it up had left and documented
have access to?
Fear not, at least if you can boot the box into some form of linux. It is trivial to reset the ILO credentials from L
running on an DL380 G6.

First, go to www.hp.com and download the Proliant Support Pack for your version of Linux and HP server.
It comes in a tar archive, extract it into a directory.
Make sure you have net-snmp installed on your server, if you don't, install it with `yum install net-snmp` or how

Install the hp-health, hp-snmp-agents and hponcfg packages. I did:


rpm -i hp-snmp-agents-8.7.0.23-16.rhel6.i386.rpm hp-health-8.7.0.22-16.rhe
0.noarch.rpm

If you don't know for sure the user name, use hponcfg to retrieve your current ILO configuration (does not inclu
hponcfg -w currentcfg
In the xml file currentcfg, you will see a section that looks like:
<USER_INFO MODE="write">
<ADD_USER
USER_NAME = "Admin User"
USER_LOGIN = "AdminUser"
PASSWORD = "%user_password%">
<ADMIN_PRIV value = "Y"/>
<REMOTE_CONS_PRIV value = "Y"/>
<RESET_SERVER_PRIV value = "Y"/>
<VIRTUAL_MEDIA_PRIV value = "Y"/>
<CONFIG_ILO_PRIV value = "Y"/>
</ADD_USER>
</USER_INFO>
Note a user which has ADMIN_PRIV value of Y that you wish to reset.

Create some new XML like this:


<RIBCL VERSION="2.0">
<LOGIN USER_LOGIN="Administrator" PASSWORD="thispasswordisnotchecked">
<USER_INFO MODE="write">
<MOD_USER USER_LOGIN="AdminUser">
<PASSWORD value="NewPassword"/>
</MOD_USER>
</USER_INFO>
</LOGIN>
</RIBCL>
Note the values you change are in MOD_USER. In this example, we would change AdminUser's password to N

Run hponcfg with the -f option specifying your xml. It will run and your ILO password should be reset.
hponcfg -f resetpw.xml
Redhat updated while registering the server

172.18.179.12:8081 (PDC/RDC)

30.207.31.50 :8081 (LDC)

LDC: 30.191.31.50:8080

FDC: 30.207.31.50:8080

SDC: 30.159.31.50:8080

cd /etc/yum.repos.d/
ll
vi RES6.repo
yum clean all
subscription-manager register
subscription-manager subscribe --auto
yum repolist
yum update --releasever=6.8

To download a pakage only


yum update --downloadonly --releasever=7.3 --downloaddir=/tmp/newrepo

To install a package with Duplicate Compatibility issues

yum search libXtxt --showduplicates | grep -v x86_64


rpm –q libXtxt

above will show the pakage needs to be installed

yum install libXtst-1.2.2-2.1.el7.i686

*****************************************************************

SLES patching on delay


( to download patches in advance)
zypper --non-interactive update --download-only

zypper --non-interactive update (to install)

Core dump

https://www.suse.com/documentation/sles11/book_sle_tuning/data/cha_tuning
_kdump_basic.html

(11:58:10) Jackie Lam said to you:


cat /mnt/boot/grub/menu.lst

(12:01:05) Jackie Lam said to you:


mount /dev/mapper/vg00-lvopt /mnt/opt
mount /dev/mapper/vg00-lvtemp /mnt/tmp
mount /dev/mapper/vg00-lvusr /mnt/usr
mount /dev/mapper/vg00-lvvar /mnt/var
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
chroot /mnt
mount /dev/sda1 /boot

(11:21:53) Jackie Lam can now have full access to customer's computer.

(11:22:52) Jackie Lam said to you:


fdisk /dev/sda

(11:24:01) Jackie Lam said to you:


vgs

(11:24:48) Jackie Lam said to you:


lvs

(11:43:34) Jackie Lam said to you:


https://www.suse.com/documentation/sles11/book_sle_tuning/data/cha_tuning
_kdump_basic.html

(11:54:57) Jackie Lam said to you:


mount /dev/vg00/lvroot /mnt

(11:56:15) Jackie Lam said to you:


mount /dev/mapper/vg00-lvroot /mnt

(11:57:05) Jackie Lam said to you:


cat /mnt/etc/fstab

(11:58:10) Jackie Lam said to you:


cat /mnt/boot/grub/menu.lst

(12:01:05) Jackie Lam said to you:


mount /dev/mapper/vg00-lvopt /mnt/opt
mount /dev/mapper/vg00-lvtemp /mnt/tmp
mount /dev/mapper/vg00-lvusr /mnt/usr
mount /dev/mapper/vg00-lvvar /mnt/var
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /dev /mnt/dev
chroot /mnt
mount /dev/sda1 /boot

(12:13:01) Jackie Lam said to you:


mkinitrd -f lvm2

(12:30:17) Jackie Lam said to you:


mount /dev/mapper/vg00-lvopt /opt

To find out what route is being taken by a interface


#iprouteget eth#
Disk related info in a Linux box

To check for all disks


#lsscsi –s
To check for disk in OS
# pvs (this will tell you what disks are in use in LVM)
TO check the disks in use by ASM
#blkid | grep -i asm | cut -d "1" -f1 >LUNS; for i in `cat LUNS`; do lsscsi -s | grep $i;
done
To see the non-ASM disks.
Crraete the below script after running the command above and execute

#!/bin/sh

lsscsi -s | while read l;


do
set $l
if grep -q $7 LUNS;
then :
else echo $l
fi
done

Reinstalling GRUB from the Rescue


System.

This document (7008279) is provided subject to the disclaimer at the end of this
document.
Environment
SUSE Linux Enterprise Server 11 (sles11)
SUSE Linux Enterprise Desktop 11 (sled11)
Support Pack 1 (sp1) may be installed.
Situation
GRUB boot loader is damaged for some reason and needs to be reinstalled.

Resolution
Boot to the SLED or SLES 11 DVD (the SP1 DVD is also fine), select "Rescue System" and
login as root. At the command line enter "grub" and follow this example:

******************
linux:~ # grub

GNU GRUB version 0.97 (640K lower / 3072K upper memory)


[ Minimal BASH-like line editing is supported. For the first word,
TAB
lists possible command completions. Anywhere else TAB lists the
possible
completions of a device/filename. ]

grub> find /boot/grub/stage1


(hd0,0)

grub> root (hd0,0)


Filesystem type is reiserfs, partition type 0xfd

grub> setup (hd0)


Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/reiserfs_stage1_5" exists... yes
Running "embed /boot/grub/reiserfs_stage1_5 (hd0)"... 18 sectors are
embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+18 p
(hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.

grub> quit
******************

In this example the root partition is (hd0,0) as returned by the "find /boot/grub/stage1"
command. Use the correct root partition for your system as indicated by this command for the
two commands that follow the first one.
Reboot the system and GRUB should come up appropriately.

***************************************************************

Storage (NFS) back up snapshot location for restore

.ckpt for VMx


.snapshot for isilon

Apache changes needed to make it work


chown -R apache:apache /etc/apache2 /etc/logrotate.d/apache2 /etc/sysconfig/apache2 /var/webapps
/var/weblogs /etc/mime.types /usr/lib64/apache2 /usr/lib64/apache2-prefork /usr/lib64/apache2-worker
/usr/sbin/apache2ctl /usr/sbin/rcapache2 /usr/share/apache2 /usr/share/apache2/script-helpers

for i in `cat servers`; do cmd $i df -Ph >>$i; echo $i >>Auto.master; cmd $i cat
/etc/auto.master | grep -v ^# >>Auto.master; echo " " >>Auto.master; echo
"****************************************" >>Auto.master; done

To convert all text to lowercase in vim do

ggVGu
or uppercase

ggVGU
look at the command ggVG is used to select all the text if you want you can select the text
and use U or u to convert what was selected to uppercase or lowercase.

If you want use this function in search/replace, do this to lowercase (example)

:%s/[A-Z]/\L&/g
or to uppercase (example)

:%s/[A-Z]/\U&/g

HP Smart array CLI commands


Posted on January 21, 2016July 11, 2017
HP Smart array CLI commands (these should apply to any system with the CLI installed)
Show configuration

/opt/hp/hpssacli/bin/hpssacli ctrl all show config

Controller status

/opt/hp/hpssacli/bin/hpssacli ctrl all show status

Show detailed controller information for all controllers

/opt/hp/hpssacli/bin/hpssacli ctrl all show detail

Show detailed controller information for controller in slot 0

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 show detail

Rescan for New Devices

/opt/hp/hpssacli/bin/hpssacli rescan

Physical disk status

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 pd all show status

Show detailed physical disk information

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 pd all show detail

Logical disk status

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld all show status

View Detailed Logical Drive Status


/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 2 show

Create New RAID 0 Logical Drive

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 create type=ld drives=1I:1:2 raid=0

Create New RAID 1 Logical Drive

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 create type=ld drives=1I:1:1,1I:1:2 raid=1

Create New RAID 5 Logical Drive

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 create type=ld drives=1I:1:1,1I:1:2,2I:1:6,


2I:1:7,2I:1:8 raid=5

Delete Logical Drive

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 2 delete

Add New Physical Drive to Logical Volume

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 2 add drives=2I:1:6,2I:1:7

Add Spare Disks

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 array all add spares=2I:1:6,2I:1:7

Enable Drive Write Cache

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 modify dwc=enable

Disable Drive Write Cache

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 modify dwc=disable

Erase Physical Drive

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 pd 2I:1:6 modify erase

Turn on Blink Physical Disk LED

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 2 modify led=on

Turn off Blink Physical Disk LED

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 2 modify led=off


Modify smart array cache read and write ratio (cacheratio=readratio/writeratio)

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 modify cacheratio=100/0

Enable smart array write cache when no battery is present (No-Battery Write Cache option)

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 modify nbwc=enable

Disable smart array cache for certain Logical Volume

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 logicaldrive 1 modify arrayaccelerator=disa


ble

Enable smart array cache for certain Logical Volume

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 logicaldrive 1 modify arrayaccelerator=enab


le

Enable SSD Smart Path

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 array a modify ssdsmartpath=enable

Disable SSD Smart Path

/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 array a modify ssdsmartpath=disable

*******************************************************************
SFTP-Passthru.

TO download a file from a server on a jump host to your laptop

#sftp-passthru-config -u root -h servername


(this creates a link on the server as sftp as root)

Use sftp.exe on your laptop


Insert your credentials
Since sftp link is enabled it will connect to the server you named on jump host
Go to the directory you need to copy the file from
Use “get” to copy the file to your laptop

At the end of seesion, it wil show you the location where the file is copied.
Exit to kill sftp session
Run the following command on jump host to kill the sftp link

#/usr/local/bin/sftp-passthru-config –r

How to change accidently activated clustered


volume groups back into unclustered state

This document (7018716) is provided subject to the disclaimer at the end of this document.
Environment

SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)


SUSE Linux Enterprise Server 12
Situation

By accident, existing volumes groups on a non mirrored or clustered device have been changed from a local
managed into a clustered state as shown by vgs output:

sles12sp2lvm:/etc/lvm # vgs -a
Skipping clustered volume group vg2
Skipping clustered volume group vg1
VG #PV #LV #SN Attr VSize VFree
system 1 1 0 wz--n- 25.75g 10.75g

Now the change needs to be reverted.


Resolution

Please run the command

vgchange -cn <list_of_volume_groups> --config 'global { locking_type = 0}'

to disable the affected volume groups and change the locking_type to 0. Then execute

vgchange -ay

to activate those volume groups again.

PID max issue at GRUB while booting

Add the following kernel parameter


Delete the console=tty from kernel parameters.
Processor.max_cstate=1
Starting a Script from Jump host on multiple hosts that takes time

for i in `cat file`; do cmd $i /usr/bin/nohup sh /tmp/update.sh & disown; done

UnWrapping the lines using perl

cat details |perl -ne 'print unless (/^$/)'|perl -pe 's/^/ /'|perl -ne 'print unless
(/#####/)'|perl -pe 's/ \*\*\*/\*\*\*/'|perl -ne 'chomp;if (m/\*\*\*/) {print
"$_\n";} else { print " $_ "}'|curl -s -k --data-binary @-
'https://peplap02628.corp.pep.pvt/rest/utility/makecsv'

Inserting password from command line

echo -e "yourpassword\nyourpassword" | passwd user

example
echo -e "DRAug2018\nDRAug2018" | passwd root

Encrypt and Decrypt a file

you can use gpg or gpg2 to do the task


gpg2 -c file1 ( this will encrypt file1) -- requiring you to use a passphrase
it actually creates a file -- file1.gpg
following encryption, remove the original file
rm file1
when you want to decrypt it
gpg file1.gpg ( it will ask you for the passphrase you had)
once you enter correct passphrase, it will re create file1
in older Linux servers its gpg
the new ones may use gpg2

Excel Time and date to UTC formulas


=DATEVALUE(TEXT(F2,"MM/DD/YYYY"))+TIMEVALUE(TEXT(G2, "HH:MM:SS
AM/PM"))+TIMEVALUE("6:00")

Then UST to IST

=I2+TIME(4,30,0)

Then UTC to CST


=I2 -TIME(6,0,0)

To make FTP work in SLES 12

zypper in lftp
cd /etc/alternatives/
rm ftp
ln -s /usr/bin/lftp ftp
sed -i 's/write_enable=NO/write_enable=YES/g' /etc/vsftpd.conf
systemctl restart vsftpd

Creating an ISO file

#mkisofs -o filename.iso /path/to/directory

Getting Power Broker logs

Source the following


peplis00034:~> . /home/unixeng/setenv.pbcmds
peplis00034:~>

peplis00034:~> pbadmincmd pblogsrv t01lap00291.pi.pvt 2019/08/26


2019/08/28 INC01271055 jamal.haider.contractor@pepsico.com
PB log report by server submitted in PDC (master).
PB log report by server submitted in PDC (log).
PB log report by server submitted in WDC (master).
PB log report by server submitted in WDC (log).
PB log report by server submitted in RDC (master).
PB log report by server submitted in RDC (log).
peplis00034:~>

*******************************************************************

You might also like