simple aix by amrik

83
Understanding IBM AIX O.S easily by ……… Amrik WARNING THIS DOCUMENT CONTAINS PRACTICAL COMMANDS, WHICH HELP TO ADMINSTER THE AIX IN A CONVIENENT WAY. BEFORE GOING THROUGH THIS DOCUMENT YOU SHOULD HAVE EXPERINCE OF ADMINSTERING ANY OTHER UNIX O.S. BECAUSE THIS DOCUMENT IS PICTURED MOSTLY ON COMMANDS AND ADMINSTRATION ONLY. NO BASIC IDEA OF AIX IS COVERD, INSTALLATION OF AIX O.S ON SERVER IS ALSO NOT CONSIDERD. THANKS & REGARDS AMRIK SINGH

Upload: deepak-ramdas

Post on 24-Oct-2014

152 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

WARNING

THIS DOCUMENT CONTAINS PRACTICAL COMMANDS, WHICH HELP TO ADMINSTER THE AIX IN A CONVIENENT WAY.

BEFORE GOING THROUGH THIS DOCUMENT YOU SHOULD HAVE EXPERINCE OF ADMINSTERING ANY OTHER UNIX O.S. BECAUSE THIS DOCUMENT IS PICTURED MOSTLY ON COMMANDS AND ADMINSTRATION ONLY. NO BASIC IDEA OF AIX IS COVERD, INSTALLATION OF AIX O.S ON SERVER IS ALSO NOT CONSIDERD.

THANKS & REGARDSAMRIK SINGH

Software update/install

Smit install :- To access software installation and maintenance

Smit install_update :- To access Install and Update software.

Page 2: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Smit update_all :- To access update installed software to latest level

Smit list_install :- To access list software installed and related information

smit maintain_software :- allow you to commit, reject, and remove software. This is the path where you can either commit the applied software and remove the older version or you can remove the newer version and use the previous version of fileset/software.

System Environment

smit system ;-- Stopping of system (shutdown), restarting system, change date/time, OS characteristics like max no. of user processes or so on, manage error logs, system dump logs

Smit mlang ;-- To change the users or any language environment

You can change language using command also :-

Chlang En_GBChlang en_GBChlang c

Where En_GB,en_GB,c are languages, you need to logout and login to take effectEx:-

Language code Language descriptionUTF-8 Arabic (Algeria) [AR_DZ] UTF-8 Arabic (Bahrain) [AR_BH]

Devices

Smit devicesSmit devices list devices list all supported devices

Smit ttySmit mktty ;-- Adding ASCII terminal

SOFTWARE UPDATES

Reports the latest installed maintenance level of the system

To determine the maintenance level of the system, type:# oslevel

Page 3: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

5.3.0.0Understanding levelsOslevel output is divided into 4 parts:-

Version . Release . Modification . fix5 . 3 . 0 . 0

Version and release updates need to be purchase while modification and fix are free.

Fixes are basically developed to resolve bugs for particular application or file set.Suppose if current version of catman command is 4.3.2.0, its giving problem that it doesn’t create database for whatis command, then we have to download a fix and applied it on system, after applying out version of catman command changes to 4.3.2.1

If all the fixes are applied to a system and if there is no more fixes are available for a system, then modification field changes.

For ex: Lets think IBM has only 255 fixes for catman command and also only 255 is supported for fix field, if all are applied then catman version will be 4.3.2.255, again if its giving any problem, then IBM will developed a new fix for catman bug, but the fix range is ended, in this situation our modification field changes i.e 4.3.3.255

Hope so you all understand this.

To determine the file sets that are below level 4.1.2.0, type:#oslevel -l 4.1.2.0

To determine the file sets at levels later than the current maintenance level, type: # oslevel -g | moreFileset Actual Level Maintenance Level-----------------------------------------------------------------------------bos.rte 5.3.0.10 5.3.0.0

To determine the highest recommended maintenance level reached for the current version of AIX on the system, type:# oslevel -r5300-02

To list all known recommended maintenance levels on the system, type:# oslevel -rq

Known Recommended Maintenance Levels------------------------------------5300-025300-015300-00

Command :-

When you are installing software for first time its installed in committed state.When you are installing a fix/modification then you have a choice to install a fix either in Applied state or committed state.

A

Page 4: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Displays the name, most recent level, state, and description of the specified fileset bos.rte.*# lslpp -l bos.rte.* | more Fileset Level State Description ----------------------------------------------------------------------------Path: /usr/lib/objrepos bos.rte.Dt 5.3.0.0 COMMITTED Desktop Integrator bos.rte.ILS 5.3.0.10 COMMITTED International Language Support bos.rte.SRC 5.3.0.20 COMMITTED System Resource Controller

List all installed software# lslpp -L bos.rte.*| more Fileset Level State Type Description (Uninstaller) ---------------------------------------------------------------------------- bos.rte.Dt 5.3.0.0 C F Desktop Integrator bos.rte.ILS 5.3.0.10 C F International Language Support bos.rte.SRC 5.3.0.20 C F System Resource Controller

F = FilesetC = Commited

There are following states of softwareAPPLIED: -We install a fixes in applied state, if we are not sure that weather this fixes will work or not, so that we can remove it easily if its giving any problem, we use applied state.

COMMIT STATE: -If we install a package in commit state, it means we are sure it will not give any problem, and fixes are applied permanently, to remove commit state, you have to uninstall package completely

BROKEN STATE: - The specified fileset or fileset update is broken and should be reinstalled before being used.

APPLYING, COMMITTING, REJECTING ALL THIS STATE means software installation did not complete successfully, and cleanup was not performed.

Show the history of software products# lslpp -h bos.rte.* | more Fileset Level Action Status Date Time ----------------------------------------------------------------------------Path: /usr/lib/objrepos bos.rte.Dt 5.3.0.0 COMMIT COMPLETE 08/02/05 08:19:51 bos.rte.ILS 5.3.0.10 COMMIT COMPLETE 08/02/05 08:19:51

List all dependent fileset related to particular package i.e below listed filesets are dependent on bos.rte.boot

# lslpp -d bos.rte.* | more Fileset Dependents ----------------------------------------------------------------------------

bos.rte.boot 5.3.0.10 bos.rte 5.3.0.10 devices.chrp.base.rte 5.3.0.21 bos.perf.tune 5.3.0.20

Display the name and location of files added to system during installation of fileset

# lslpp -f bos.rte.* | more Fileset File ----------------------------------------------------------------------------

Page 5: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Path: /usr/lib/objrepos bos.rte.Dt 5.3.0.0 /usr/sbin/dtappintegrate bos.rte.ILS 5.3.0.10 /usr/bin/chlang /usr/bin/dspcat /usr/bin/dspmsg /usr/bin/gencat /usr/bin/locale /usr/bin/locale64 /usr/lib/nls/lsmle

To display all files in the inventory database, type:# lslpp -w | more File Fileset Type ---------------------------------------------------------------------------- / bos.rte Directory /usr/aix bos.rte Directory /usr/lpp bos.rte Directory /usr/lpp/bos bos.rte Directory /usr/lpp/bos/inst_root bos.rte Directory

Searches a fix for below APAR number#instfix –ik IY38674

Install a fix from tape#instfix –k IX38674 –d /dev/rmt0.1

k – stand for fixd – stand for destinstioni – Inform wheather a fix is installed

BOOTLIST

Check boot priority

To list normal booting devices i.e in below output command has listed to 1 disk rootvg hdisk3 and similar mirrored copy hdisk0. Hdisk3 is first bootable device, then hdisk0…..and so on# bootlist -m normal -ohdisk3hdisk0

List if system is booted in maintenance or service mode which will be the first boot device. By default cd0 is first boot device in service mode because in case if system unable to boot from hdisk3 then u can boot then system from bootable exterbal devices like cd, tape and network# bootlist -m service -ocd0rmt0hdisk3ent0

To make a boot list for Normal mode with devices listed on the command line, enter:#bootlist -m normal hdisk0 hdisk1 rmt0 fd

To make a boot list for Normal mode with a device list from a file, enter:# bootlist -m normal -f /bootlist.devswhere bootlist.norm is a file containing device names to be placed in the boot list for Normal mode. The device names in the bootlist.devs file must comply with the described format.

To boot from a Token-Ring device in slot 2, enter:#bootlist -m normal tok0

Page 6: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

ALOG

Similar to dmesg command of sun which read the log file /var/adm/messages

Will list all the log files configured and Defined in system# alog -Lboot ------- All Booting related information, all devices configuration info. bosinst -------All information related to unattended installationnim ------- console ------- shows all error message displayed on consolecfg dumpsymp ---- When a system crash information is stored here

All Booting related information, all devices configuration info#alog -o -t bootThis command read /var/adm/ras/bootlog file, and put it on screen

All information related to unattended installation, BLV, FS, Paging space creation is logged# alog -o -t bosinstThis command read /var/adm/ras/bosint.data | more

Similarly “nim” gives u NIM ( Network install manager ) log information. i.e any copy of software is installed on several client at a same time from server is logged here.Command read a /var/adm/ras/nimlog as input

Console -----

Other log files in /var/adm/ras

#more /var/adm/ras/devinst.log All hardware devices and software, successful and unsuccessful installation information are loged here

#more /var/adm/ras/BosMenus.logAll bos installation information is logged here i.e if new insatllation of bos takes place what menu’s user have selected while installation is logged here

# more /var/adm/ras/image.dataWe can custimize this image.data file to create our own type and method of system image, this is refer by mksysb command

Please Take a backup of inittab file, I will concentrate on actions only

/etc/inittab

Identifier: runlevel: action: command Identifier: use the logical device name as identifier

Runlevel:- default is 2 , Aix runlevels are 0 to 9.

Action:

Respawn :- init will start the process again if it dies.Wait :- wait for other process to complete before starting this process or start the process wait for it to finish before reading second

Page 7: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

line.

Once :- start the process and don’t restart if it stopsSysinit :- command to run before accessing consoleOff :- do not run command

#telinit 2 -- Request init to put system in run level 2.#telinit q -- Request init to reread the /etc/inittab file

SRC (System Resource Controller)

SRC controls the subsystem i.e easy to administer the individual subsystem.A subsystem is a program designed to perform a function.Ex:- qdaemon, lpd this subsystem or sub process belongs to spooler subsystem group.ftp, telnet daemon belong to inetd subsystem where inetd belongs to tcpip subsystem group.

Will list all groups and subsytem# lssrc -a | moreOption –a - Lists the current status of all defined subsystem.

Status: - If active, means its working and enabled, if Inoperative means its there but not enabled or not active or not working, this are optionals subsystems.

Will list SRC status of specific group# lssrc -g spooler

IMPORTANT NOTE: - ALL THE PROCESS STARTED BY SRCMSTR i.e SRC MASTER CANNOT BE KILLED BY KILL COMMAND OR DON’T KILL IT FORCEFULLY, JUST STOP THAT PROCESS USING STOPSRC COMMAND ONLY……………………….. AMRIK

IF ANY GROUP IS SPECIFIED IN /ETC/INITTAB FILE WITH RESPAWN AS ACTION THEN THAT PROCESS CANNNOT BE KILLED OR STOPED

Will start the lpd daemon or subsystem# startsrc -s lpd0513-059 The lpd Subsystem has been started. Subsystem PID is 565328.Option –s - subsytem name

If lpd subsystem is started, but not working properly, you don’t need to kill just do orTo reread this configuration file related to lpd without stopping use this command: -# refresh -s lpd0513-095 The request for subsystem refresh was completed successfully.

Will stop the lpd daemon or subsystem# stopsrc -s lpd0513-044 The lpd Subsystem was requested to stop.

DEVICES

/dev :- contain all the logical devices that can be directly accessed by the user.

Page 8: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

# ls -l | grep ^b and ^c

List all block devices in /dev directory starting strictly with first character as “ b “ or “ c ”

Device Configuration Database

Predefined Configuration database Customized Configuration database

This database contains drivers for all This database contain data for all Devices for which the system is supported Currently installed and configured For ex: k/b adapters, Ethernet Adapters Devices or available devices.System will give driver support for thou-Shand of devices. This is default databaseFor all devices supported by O.S.

If any new device is installed and if cfgmgr command is executed, then cfgmgr first look for driver support in predefined database, if its there then the device get configured automatically, otherwise system ask u for drivers.

Cfgmgr command configures your devices automatically on system boot.

List all supported Devices

Predefined database related command

List all predefined devices with header or All devices support listing

# lsdev -PH | more

class type subclass description

PCM fcpother friend AIX SCSI/FCP Disk Path Control ModulePCM scsiscsd friend AIX SCSI/FCP Disk Path Control ModulePCM vscsi friend AIX SCSI/FCP Disk Path Control ModuleAdapter baud4232 isa_sio Ultimedia Integrated AudioAdapter chrp_ecp sa_sio CHRP IEEE1284 (ECP) Parallel Port Adap

Where P : - Pulls information from predefined database in ODMH : - Header i.e class, type, subclass, description.

Class means what device does or Name os the device i.e disk, tape, cdrom.., Type indicate what model is it or what is the capacity/rpm of devices and Subclass indicates how it can attached to system.

List all “Tape class” devices supported on system # lsdev -PHc tape ( or disk or adapter or cdrom )

class type subclass description

tape ost fcp Other FC SCSI Tape Drivetape scsd fcp FC SCSI Tape Drivetape ost iscsi Other iSCSI Tape Drive

Where c: - Specifies the class of devices

Page 9: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

List all Supported Type of devices, or capacity of device having 4mm2gb, Since 4mm2gb is Type that’s why mention “t” to extract Type information only

# lsdev -PHt 4mm2gbclass type subclass description

tape 4mm2gb scsi 2.0 GB 4mm Tape Drive

List all Supported scsi related devices on the system. Since scsi is subclass that’s why mention “s” to extract subclass information only# lsdev -PHs scsiclass type subclass description

array dac7135 scsi 7135 Disk Array Controllercdrom cdrom1 scsi CD-ROM Drivecdrom enhcdrom scsi Multimedia CD-ROM Drivecdrom enhcdrom2 scsi Multimedia CD-ROM Drive

Customised database related commands

This will list all devices installed on this system and configured or List all devices found on this system.# lsdev -CH | morename status location description

L2cache0 Available L2 Cacheaio0 Available Asynchronous I/O (Legacy)cd0 Available 04-08-00 IDE DVD-ROM Drivedac0 Defined 07-08-02 1722-600 (600) Disk Array Controllerdac1 Defined 07-08-02 1722-600 (600) Disk Array Controller

Status if Available, the device is ready and can be used, Status if defined, the device is unavailable, or not powered ON, devices is added in customized datbase, it has been allocated a logical device name, attributes are also assigned but its not powered ON.Status if Undefined, Device is supported by system but not configured. It does not reside in customized database.

Device with location code is physical devices and devices without location code is logical devices.

Extracting and list disk class information# lsdev -CHc diskname status l ocation descriptionhdisk0 Available 05-08-00-5,0 16 Bit LVD SCSI Disk Drivehdisk1 Available 05-08-00-8,0 16 Bit LVD SCSI Disk Drivehdisk2 Defined 08-08-02 1722-600 (600) Disk Array Device

Extract and List ide subclass information# lsdev -CHs idename status location descriptioncd0 Available 04-08-00 IDE DVD-ROM Drive

Bringing the a particular device say cd0 to unavailable state or defined statePlz don’t follow this step, below is the proper method of removing hardware

# rmdev -l cd0cd0 Defined

# lsdev -CHc cdrom

Page 10: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

name status location descriptioncd0 Defined 04-08-00 IDE DVD-ROM Drive

Where l: - Stands for logical devices name, since above logical name of CDROM is cd0 we are extracting information for particular logical device

Executing cfgmgr command to check for new devices configuration, it configure automatically, bring a device into available state from defined state.Since the driver for this devices is available in customized and predefined database, cfgmgr configure it automatically,

# cfgmgr

# lsdev -CHc cdromname status location descriptioncd0 Available 04-08-00 IDE DVD-ROM Drive

Know removing devices from customized database

First bring the device to defined state, this step is very much needed before removing any devices directly.

#rmdev –l cd0

Know delete the device# rmdev -l cd0 -dcd0 deleted

Where d: - Stands for delete mentioned device.

Check is it removed successfully# lsdev -CHc cdromNothing will appear, since that device is removed completely from database.

# cfgmgr

Even after removing, if cfgmgr command is executed, cfgmgr reconfigure that device again, since its supported device# lsdev -CHc cdromname status location descriptioncd0 Available 04-08-00 IDE DVD-ROM Drive

Bringing a Defined devices to Available state

Bring device to define state# rmdev -l cd0cd0 Defined

Check the state# lsdev -CHc cdromname status location descriptioncd0 Defined 04-08-00 IDE DVD-ROM Drive

Bring the define state of device to available state using # mkdev -l cd0cd0 Available

Page 11: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

# lsdev -CHc cdromname status location descriptioncd0 Available 04-08-00 IDE DVD-ROM Drive

If a devices is removed physically from system to some other area and it is no longer usable, even if that device is showing as defined state then you have to remove it from ODM database also use the following command to do so#rmdev –dl cd0

Listing System Attributes

List all attributes for devices in the system.# lsattr -EH -l sys0attribute value Description user_settable

maxpout 0 HIGH water mark for pending write I/Os per file Truemaxuproc 1024 Maximum number of PROCESSES allowed per user Truemin_capacity 1.00 Minimum potential processor capacity Falseminpout 0 LOW water mark for pending write I/Os per file Truemodelname IBM,9110-510 Machine name False

Where E: - stands for current values or attributes set i.e you can get changes made by a users over here.H: - Headerl: - Logical device name

If user settable is true means user or admin. Can change this value, if false admin. Cannot changes this value. Since its system related default value which is needed compulsorily to run system.

List system’s default value for each attributes# lsattr -DH -l sys0maxpout 0 HIGH water mark for pending write I/Os per file Truemaxuproc 128 Maximum number of PROCESSES allowed per user Truemin_capacity Minimum potential processor capacity Falseminpout 0 LOW water mark for pending write I/Os per file Truemodelname Machine name False

List current value of maxuproc attribute for the sys0# lsattr -EH -l sys0 -a maxuprocattribute value description user_settablemaxuproc 1024 Maximum number of PROCESSES allowed per user True

List current attribute of cd0 device# lsattr -EH -l cd0attribute value description user_settableaudio_supported yes Play AUDIO supported True

To list the current value of the data_verify attribute for the cd0, type the following:# lsattr -EH -l cd0 -a data_verifyattribute value description user_settabledata_verify enable Software Data Verification False

To list the possible values of prevent_eject attribute for cd0 devices# lsattr -EH -l cd0 -a prevent_eject -R no yes

Where R: - possible option or value that a user can set.If user settable is True, then user can change the attribute value to either yes or no, but no other value is taken as input inspite or “no and yes “. Whatever is listed with –R option, user can set that value only.

Page 12: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

=========================================================

Examples of How to change attributes

Suppose you want to change the attribute prevent_eject of cdrom, first check the all attributes# lsattr -EH -l cd0attribute value description user_settable

audio_supported yes Play AUDIO supported Truecdda_supported yes CD-DA supported Truedata_verify enable Software Data Verification Falseprevent_eject yes PREVENT ejection of media when open True

First check what options are there for prevent_eject attribute of cdrom, provided by system# lsattr -EH -l cd0 -a prevent_eject -Rnoyes

Change the device attribute using chdev to no# chdev -l cd0 -a prevent_eject=nocd0 changed

Check weather the effect has taken place or not# lsattr -EH -l cd0 -a prevent_ejectattribute value description user_settableprevent_eject no PREVENT ejection of media when open True

Suppose if you forget what is the default value given to this attribute, then use: -# lsattr -DH -l cd0 -a prevent_ejectattribute deflt description user_settableprevent_eject yes PREVENT ejection of media when open True

This “yes” indicate that system default value is yes, so that you can change it to default if giving any problem with the current settings.==============================================================

To list the possible values of the login attribute for the tty0 tty device, type the following: #lsattr -l tty0 -a login -R enable disable share delay

To list the default attribute values for an cdrom with 48x speed with subclass ide and type cdrom48, type the following:# lsattr -c cdrom -s ide -t cdrom48X -DHattribute deflt description user_settable

audio_supported yes Play AUDIO supported Truecdda_supported yes CD-DA supported Trueprevent_eject yes PREVENT ejection of media when open True

To list the current attribute values for an cdrom with 48x speed with subclass ide and type cdrom48, type the following:

# lsattr -c cdrom -s ide -t cdrom48X -EHattribute deflt description user_settable

audio_supported yes Play AUDIO supported Truecdda_supported yes CD-DA supported True

Page 13: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

prevent_eject yes PREVENT ejection of media when open True

To list the possible values of the prevent_eject attribute for an IDE CDROM, type the following:

# lsattr -c cdrom -s ide -t cdrom48X -DH -a prevent_eject -Rnoyes

#lsattr –l pty0 –E#lsattr –l pty0 -D

what CFGMGR command do when a new hardware is found

Below my own way of understanding how and what cfgmgr do.

STEP I

Suppose a new CDROM is attached to a system, on the system boot cfgmgr is executed, it will find cdrom, he ask to cdrom who are you, what u r doing here

STEP II

CDROM replies, I am cdrom, I am attached at so and so location for storage purpose.

STEP III

Cfgmgr, please wait I am checking your identity, cfgmgr search for available device drivers in predefined database, if it found then cfgmgr make the device as defined.

STEP III

Cfgmgr load the device driver to kernel, kernel make a logical entry of the new device cdrom in /dev and cd0 and assign a major and minor number to the device

STEP IV

Cfgmgr make the device ready and put him in available state.

DEVICE ADDRESSING

SIMPLY, IF A MAN COMES TO BOMBAY AND HE WANT TO GO VASHI, HE HAS ADDRESS IN HIS HAND, WITH THAT ADDRESS HE REACHES HIS DESIRED LOCATION THIS IS CALLED AS LOCATION CODE.

EVERY DEVICE HAS A SPECIFIC LOCATION CODE INDICATES WHERE IT IS INSTALLED ON THE SYSTEM.

Execute lsdev –CH | more to get location code of all devices attached to system. Since lsdev –CH reads customized database i.e installed and configured devices on current system, you will get location code of you devices,

NOTE: - Devices having location code means it’s a physical devices attached to system, devices without location code means they are logical devices.

Format:

Page 14: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

AB-CD-EF-GH

IDENTIFYING PCI DEVICES

AB

If AB = 00 Any Device attached to processor bus has location code always 00. EX: - Processor, Memory, Primary PCI BusLsdev -CH

proc0 Available 00-00 Processorproc2 Available 00-02 Processor

Clearly shown that 2 processor is there on system and connected to processor bus i.e 00 show you.

If AB = 01 A Device is attached to ISA BUSEx:-pci6 Available 01-14 PCI Buspci7 Available 01-12 PCI Buspci8 Available 01-16 PCI Bus

If AB = 04 A Device is attached to PCI BUS

EX:-cd0 Available 04-08-00 IDE DVD-ROM Drive

From the first value i.e 04 you came to know that it’s connected to PCI Bus

CD

If CD = 01 to 99 Identify a slot/ adapter number

FOR PLUGGABLE CARDS

CD will show the actual slot number where the card is installed.

For Ex: If pluggable card is installed at slot number 3, thenLocation code will be 04-03 where 04 says you that it’s a PCI card, attached to PCI BUS and 03 say you that it is inserted in 3rd slot of PCI adapter/bus.

cd0 Available 04-08-00 IDE DVD-ROM Drive

This means device is connected to pci bus, it’s a pluggable device and 08 means its connected to slot no 8 of pci bus (04)

Note: - Its logical, all pluggable card is installed in PCI slot only, if it is installed at ISA then location code will be 01-02 where 02 is second slot.

If CD = A to Z, 0 FOR INTEGRATED DEVICESThis C value will be from A to Z and D value will be 0Because its given like that CD = A-Z, 0. This comma Distinguishes the difference.

Page 15: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

For Example, consider keyboard port, which is integrated on the motherboard for keyboard connection has a location code as 01-F0 which means that keyboard adapter is on ISA Bus (01) and that keyboard adapter is integrated on motherboard (F0).Where “F” is “C” and “0” is our “D”.

EF and GH Not used here.

Examples: -01 - C0 (Standard Serial Port 1) 02 - D0 (Standard Serial Port 2)01 - F0 (Keyboard)01 - H0 (Diskette Drive)04 - B0 (PCI Ethernet Adapter)04 – C0 (Wise SCSI I/O Controller)04 – C0-00-4, 0 (SCSI DISK DRIVE)

All Devices connected to ISA BUS and Integrated on Motherboard are :-01 - C0 (Standard Serial Port 1) 01- F0 (Keyboard)01- H0 (Diskette Drive)

All Devices Connected to PCI BUS and they are also integrated04 - B0 (PCI Ethernet Adapter)04 – C0 (Wise SCSI I/O Controller)04 – C0-00-4, 0 (SCSI DISK DRIVE)

IDENTIFYING NON SCSI

In Non scsi devices AB and CD field are same as pci devices only EF and GH values come into picture.

Lets Take an example of Multiplexer in Communication department, Multiplexer has upto 16 ports for serial communications, just like switch/hub ports.

Asynchronous adapter allows connecting ASCII terminals to a server. Just think you have to connect this card to system, since its an PCI card you go for PCI BUS or slot, then you will check which slot is free to connect this card. Asynch. Adapter allow you to connect 128 serial devices i.e 128 Ascii Terminals you can connect .

This card has 2 connectors, each connector support single serial bus.

Just think that, on this 2 serial bus multiplexer’s are connected, you can name this multiplexers as RAN i.e: - Remote Asynchronous Nodes. You can connect multiple multiplexer to single connector since serial bus is there, to connect other multiplexers.

The each connector can support upto 4 RAN’s on each, if you have 2 connector then 4 RAN’s on ONE and 4 RAN’s on another i.e I mean to say that you can connect 4 multiplexer on 1 connector and 4 multiplexer on another, Total 8 Multiplexer or RAN’s can be connected.

Connecting is easy but identifying this in system is difficult, but don’t worry I will explain you in simple manner.

Page 16: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Location Codes: -

Since asynch. Is a Pluggable device its connected to PCI Bus so “AB” value is 04,Suppose it’s inserted in 5th slot, since it’s a pluggable device “CD” values varies from 01 to 99,Therefore “CD” value is 05 since its inserted in 5th slot (05).Therfore upto here AB-CD is 04-05 i.e PCI Async. Card is pluggable and inserted in 5th slot.

We have 4 Multiplexer on 1 connector and 4 multiplexer on 2nd Connector.Therefore “ E “values means this device’s are connected to which connector, if connected to 1st connector then “E “ value will be 1 and if connected to 2nd connector then “E” value will be 2.

An “F” value identifies How many number of multiplexer are connected or how many number of RAN are there, starting in ascending order. It can be from 1 to 4, since 4 mupltiplexer or 4 RANS can be connected to single connector.Look into diagram how “F” value changes, if its 1st device then F=1, for 2nd device F=2, for 3rd device F=3, F values says device sorted numerically.

PCI async. Adapter (Then AB=04) 3rd Multxr. Connected to same connector (Then F=3)

2nd Multxr. Connected to same connector (Then F=2)2nd connector 1st Connector(Then E=2) (Then E=1)

1st Multiplexer connected 1st connector(Then F=1)

“GH” This is the port number, i.e if a multiplexer has 16 ports it ranges from 0 to 15If a ASCII Terminal is connected to port no 7 of multiplexer, then GH field will be 07, think connection’s of switches and patch chord

EX: -

04-05-11-01 :- Forget AB and CD field, E is 1 means its connected to 1st connector, F is 1 this mean it 1st device out of 4 multiplexer. GH is 01 means ASCII terminal is connect to 1st port of multiplexer.

Overall view :- Ascii terminal is connected to 1st port of multiplexer, a multiplexer is connect to 1st connector of Async. PCI card, and its 1st device in list.

04-05-13-07: - Forget AB and CD field, E is 1 means its connected to 1 connector, F is 1 this mean it 3rd device out of 4 multiplexer. GH is 07 means ASCII terminal is connect to 7th port of multiplexer.

04-05-21-10: - Forget AB and CD field, E is 2 means its connected to 2nd connector, F is 1 this mean it 1st device out of 4 multiplexer connected to 2nd connector. GH is 10 means ASCII terminal is connect to 10th port of multiplexer.

04-05-22-04: - Forget AB and CD field, E is 2 means its connected to 2nd connector, F is 2 this mean it 2nd device out of 4 multiplexer. GH is 04 means ASCII terminal is connect to 4th port of multiplexer.

IDENTIFYING SCSI DEVICES

SCSI devices are tape, cdrom, external storage, and disks

Page 17: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Location code AB and CD field are same as Non SCSI devices, here I will concentrate only on EF and GH values.

AB means where the Adapter card is attached, mostly its PCI i.e 04, CD means bus slot number

EF : - For single SCSI bus - 00For Dual SCSI bus: -

Internal Bus : - 00External Bus : - 01

G, H : - “ G “ is for SCSI ID of device i.e SCSI ID is set on device itself or Accomplished by setting jumpers or switches on device

“ H “ is for LUN’s i.e Logical Unit number, which we have created while configuring storage or disk or logical dividing of 2 disk into 4, system consider the 4 division as 4 hard disk on system i.e RAID is configuredit will be “ 0 “ if there is no RAID or LUN

NOTE: -External SCSI disk has an SCSI ID as 6 and External SCSI Tape has SCSI ID as 4, by default in single SCSI Bus, SCSI adapter has an SCSI ID as 7 reserved, that’s why SCSI ID is never set as 7

Examples: -

Suppose TAPE Device is connected it has following location code: -04-01-00-4,0 : - Here AB is 04, CD is 01, EF is 00, G is 4 and H is 0, I will explain you this in simple. Since the SCSI Adapter is inserted in PCI bus therefore “ AB “ is 04, All external device are mostly connected on PCI bus. This SCSI adapter which is pluggable inserted in 1st slot of PCI bus its “ CD “ value is 01.

As its single SCSI bus, its “ EF “ value is 00.

Value of “ G “ is 4 because Tape device connected on system has a SCSI ID as 4. As it is a TAPE device there is no question of LUNS therefore “ H “ is 0SCSI

#lsdev -CHc tape

name status location descriptionrmt0 Available 08-08-00-0,0 LVD SCSI 4mm Tape Drivermt1 Defined 06-08-01-0,0 Other SCSI Tape Drive

LVM / STORAGE

LVM DEVICE DRIVERS are /usr/lib/drivers/hd_pin and /usr/lib/drivers/hd_pin_bot, before aix 4.1 the driver was just hd_pin and entire driver are pinned into memory i.e this drivers are not pageable means doest use paging space uses the whole physical memory, but after AIX 4.1 the non pageable portion of drivers are in hd_ping_bot and pageable portion are in hd_pin.

The LVM device driver is either called by the jfs filesystem. When a request is received by the LVM device driver, it calls the disk device driver.

LVM contain Volume group (VG)Volume Group contains Physical Volume (PV)Physical Volume has Physical partition (PP)

Page 18: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Physical partition has Logical Volume (LV)Logical Volume has Logical Partition (LP)

Whenever a new disk is added to a system, it is our physical volume (i.e hdisk0),Or you can say that a new disk is considered as Physical volume when added, logical device name is given by kernel and placed at /dev directory as hdisk0.

Then a new disk is added to a volume group, Each PV can have only one Volume group, but volume group can have many Physical volumes or disks.

VG is largest unit of storage on system, size of Volume group depends on Number of physical volumes or disk in that VG.

For EX:- If we have 5 disk of 4 GB, and if this 5 disk is added in single VG say datavg, then the size of datavg will be 20GB

Calculating disk size , PP Size ….

Consider with AIX VG with Windows

AIX windows

Rootvg c:Datavg d:Internalvg e:

A single system has maximum 255 VG’s only.

Physical Partition is division of physical volume or Number of partition on single DiskPP size can be from 2 to 1024 MB and default is 4MBDefault max. PPs each PV is 1016 i.e Maximum number of partitions Each Disk will be 1016 as default.

VGDA (Volume Group Descriptor Area)VGDA contain administrative information about VG ie. List of Logical volumes entry, List of Physical volume entries. Its like a database which maintain data integrity and consistency. If any changes are made to logical volumes i.e creation, deletion, expansion then VGDA database is also updated

Single disk has one VGDA, VGDA is an area on disk which keeps information of entire VG.

To activate Volume group and make it available for use i.e running varyonvg / varyoffvg command, quorum must be available on VGDA. Quorum keeps information about VGDA, some amount of percentage is fixed on disk, and it acts as VGDA

Quorum must be 51% or more then the available VGDA.When a volume group consists of one disk, there are two VGDA’s on that disk. Thus, this single disk volume group has a quorum vote of 2. When another disk is added to the volume group with an “extendvg”, then this new disk gets one VGDA, but theOriginal, first disk still retains the two VGDA’s. When the volume group has been extended to three disks, the third disk gets the spare VGDA sitting on the first disk and then each disk has a quorum vote of 1. Every disk after the third disk isAutomatically given one VGDA, and thus one vote.

Page 19: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

VGSA (Volume Group status Area) The Volume Group Status Area (VGSA) is comprised of 127 bytes, where each bit in the bytes represents up to 1016 Physical Partitions that reside on each disk.VGSA are use to determine which physical partition have become stale.Stale means become bad or lacks originality.

Below command will list all the logical volumes belongs to particular VG.

lsvg -l internalvg lsvg -l rootvg

LVM device drivers are at /usr/lib/drivers as hd_pin and hd_pin_bot

SCSI device drivers are at /usr/lib/drivers/hscsidd

The main binary which determines how the partitions are allocated to the user’s request is /usr/sbin/allocp.

The scsi device driver takes a command from a scsi device such as tape, disk, scanner, etc...and processes it to be sent to the scsi device connected onto the scsi bus. The scsi device is device neutral, it does not know or care which device sent it a command or even what that command is. It treats all requests the same and putsthem into the same type of scsi command packaging required by all scsi devices.

What is PVID’s and how they configure When a disk is configured to a system for the first time, it shouldn’t have a PVID if it is a brand new disk. When it is used in a volume group, the user sees a message to the effect of:

Making this disk a physical volume

Which is another way of saying that a PVID is being placed onto the disk. The PVID is an combination of the machine’s serial number (from the systems EPROMs) and the date that the PVID is being generated. This combination insures the extremely low chance of two disks being created with the same PVID. Finally, when a system is booted, the disk configurator goes and looks at the PVID sitting on each disk platter and then compares that to an entry in ODM. If the entry is found, then the disk is given the hdiskX name that is associated with the ODM entry for the PVID. If there is no PVID, the configuration routines will automatically assign the next free hdisk name from the pool of “free” hdisk names. Note that if a hdisk has been removed with the “rmdev -l hdiskX -d” command, then this hdisk name will be available for reuse by a later disk.

Logical Volume Control BlockThe logical volume control block (lvcb) consists of the first 512 bytes of a logical volume. This area holds important information such as the creation date of the logical volume, information about mirrored copies, and possible mount points in a journaled filesystem.

DEFAULT LOGICAL VOLUMES

/dev/hd1 /home/dev/hd2 /usr/dev/hd3 /tmp/dev/hd4 for / (root) i.e JFS or JFS2/dev/hd5 Boolt logical volumes Contain the boot image/dev/hd6 Paging space use lsps –a to see/devhd8 Journal Log; is a logical volume where any changes made to FS is logged.

Page 20: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

/proc /proc/dev/hd9var /var

Special file system to support threads or light weight processes.

/etc/filesystems Directives meaning

/: dev = /dev/hd4 vol = "root" mount = automatic check = false free = true vfs = jfs2 log = /dev/hd8 type = bootfs

/usr: dev = /dev/hd2 vfs = jfs2 log = /dev/hd8 : All logs are logged to /dev/hd8 which is journal log mount = automatic check = false type = bootfs vol = /usr free = false

DEV : For local mounts or files/directory to be mounted on

VOL : volume label i.e root, /usr, /var used by mkfs command

MOUNT : Automatic Mount automatically on boot,

True Mount on boot ( Used by mountall command, if mountall command is issued, it check first in /etc/filesystem by asking loudly that is anyone there who has mount = true set, if a File system has this value then mountall command will mount it

False Don’t Mount on boot, I will mount it manuallyCheck : If True Execute fsck on this filesystem on boot, if any

inconsistency detectedIf Fales Don’t execute fsck on this fs on boot even if Filesystem are Inconsistent

VFS : Specifies type of mount or Type of FS ie. JFS, NFS or so on

LOG : The log file location, if any changes is made to filesystem where to log or update this information, if not specified then default will be/dev/hd8, you can specify your own path also.

TYPE : use to mount group of filesyetem i.e if its bootfs then mount –t will mount all the filesystem which belongs to the bootfs group.Mount –t where t means type of fileystem

OPTIONS :

Page 21: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

ACCOUNT :

FREE :

FILE SYSTEM COMMANDS

List all filesystem configured

# lsfsName Nodename Mount Pt VFS Size Options Auto Accounting/dev/hd4 -- / jfs2 262144 -- yes no/dev/hd1 -- /home jfs2 1048576 -- yes no/dev/hd2 -- /usr jfs2 4718592 -- yes no/dev/hd9var -- /var jfs2 262144 -- yes no

Name : Partition NameNodename : Name of the remote server to mount

Mount pt : Files system to mount onVFS : Type of File systemOption : Can be read/write or readonly

Create a File system using smit fs, and if you want to remove a filesystem then use below commands, please take backup of filesystem before removing, since it will no longer available after rmfs# unmount /test

# rmfs /testrmlv: Logical volume fslv04 is removed.

Or# rmfs -r testrmlv: Logical volume fslv04 is removed.

LOGICAL VOLUMES REALTED COMMAND

List Logical volume fslv00 belongs to which PV or how many pvShow the mirrord copies# lslv -l fslv00fslv00:/sybasePV COPIES IN BAND DISTRIBUTIONhdisk0 040:000:000 100% 000:040:000:000:000hdisk1 040:000:000 100% 000:040:000:000:000This means LV fslv00 is mirrored copy i.e one copy is on one hdisk0 and another on hdisk1, Logical partitions comes in picture only when you want to create a mirrored copy of your logical volume i.e you have create a logical volume for file system, if you specifies copies as 2, then LV will use 2 physical volumes as mirrored copy for LV.

# lslv -l fslv03fslv03:/backupPV COPIES IN BAND DISTRIBUTIONhdisk0 080:000:000 0% 000:000:079:001:000This means LV fslv03 has only one copy i.e local copy only

Page 22: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

To increase the size of the logical volume represented by the lv05 directory by three logical partitions, type: #extendlv lv05 3

Suppose you have created a lv with following command : -# mklv -y jax -t jfs2 -c 2 -u 2 rootvg 1i.e Create LV with name jax, file system as jfs2, Number of copies 2, Number of PV to use, to keep this copies are 2 , create LV in rootvg with only 1 LP. To request a logical volume named lv05 with a minimum size of 10MB, type:#extendlv lv05 10M

Calculating the Size of LV

Number LP X Size of Single PP = Total LV size

LETS UNDERSTAND LV-STATE IN LOGICAL VOLUME AND WHAT IT MEANS

Create LV abc with only 1 LP# mklv -y abc datavg 1abcWhere y means use our logical device name i.e abc, test, backup. Instead of system define name i.e lv00, lv01

or

#mklv -y test -t jfs2 -c 2 datavg 1 test

Check lv name test is created or not# lsvg -l datavg

Check the state, without file system created on it.# lslv abcLOGICAL VOLUME: abc VOLUME GROUP: datavgLV IDENTIFIER: 00cf3f9d00004c000000010577737308.14 PERMISSION: read/writeVG STATE: active/complete LV STATE: closed/syncdTYPE: jfs WRITE VERIFY: offMAX LPs: 512 PP SIZE: 128 megabyte(s)COPIES: 1 SCHED POLICY: parallelLPs: 1 PPs: 1STALE PPs: 0 BB POLICY: relocatableINTER-POLICY: minimum RELOCATABLE: yes

Page 23: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

INTRA-POLICY: middle UPPER BOUND: 32MOUNT POINT: N/A LABEL: NoneMIRROR WRITE CONSISTENCY: on/ACTIVEEACH LP COPY ON A SEPARATE PV ?: yesSerialize IO ?: NO

Above command create a LV abc on rootvg with only one Logical partaion.See the LV STATE is closed/syncd, since this abc is newly created LV its LV STATE is closed/synced.

LV STATE : opened/syncd ---- LV is mounted and synced means its mirroredWhenever a LV is newly created its LV STATE will be closed/synced, and when a file system is created on this newly created LV, then state will be opened/syncd.Simply :- Closed means not mount, Opened means mounted Closed/stale means not mounted, stale means LV is not synced

There is no file system created on this LV abc that’s why LV STATE is closed/syncd. Whenever a file system is created and that file system is mounted on LV. LV STATE changes to opend/synced.

See below output, I will create LV then I create a File system, upto here also LV STATE is closed/syncd… after this I mounted filesystem then its state changes to opend/synced.

Finally, LV STATE according to me is Logical volumes state and this state determine weather a filesystem is created on LV or not.

# lslv testLOGICAL VOLUME: test VOLUME GROUP: datavgLV IDENTIFIER: 00cf3f9d00004c000000010577737308.14 PERMISSION: read/writeVG STATE: active/complete LV STATE: opened/syncdTYPE: jfs2 WRITE VERIFY: offMAX LPs: 512 PP SIZE: 128 megabyte(s)COPIES: 2 SCHED POLICY: parallelLPs: 1 PPs: 2STALE PPs: 0 BB POLICY: relocatableINTER-POLICY: minimum RELOCATABLE: yesINTRA-POLICY: middle UPPER BOUND: 32MOUNT POINT: /home/cmsadmin/scripts LABEL: /home/cmsadmin/scriptsMIRROR WRITE CONSISTENCY: on/ACTIVEEACH LP COPY ON A SEPARATE PV ?: yesTo make a logical volume in volume group datavg with one logical partition and a total of two copies of the data, type:

#mklv -y abc -c 2 datavg 1abc#To request a logical volume with a minimum size of 10MB, type:#mklv datavg 10M #

To make a logical volume in volume group datavg with nine logical partitions and a total of three copies spread across a maximum of two physical volumes, and whose allocation policy is not strict, type:

#mklv –y abc -c 3 -u 2 -s n datavg 9

Page 24: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Creation Of Logical Volumes

Create LV abc with only 1 LP# mklv -y abc datavg 1abcWhere y means use our logical device name i.e abc, test, backup. Instead of system define name i.e lv00, lv01

or

#mklv -y test -t jfs2 -c 2 datavg 1 test

Check lv name test is created or not# lsvg -l datavg

Check the state, without file system created on it.# lslv abcLOGICAL VOLUME: abc VOLUME GROUP: datavgLV IDENTIFIER: 00cf3f9d00004c000000010577737308.14 PERMISSION: read/writeVG STATE: active/complete LV STATE: closed/syncdTYPE: jfs WRITE VERIFY: offMAX LPs: 512 PP SIZE: 128 megabyte(s)COPIES: 1 SCHED POLICY: parallelLPs: 1 PPs: 1STALE PPs: 0 BB POLICY: relocatableINTER-POLICY: minimum RELOCATABLE: yesINTRA-POLICY: middle UPPER BOUND: 32MOUNT POINT: N/A LABEL: NoneMIRROR WRITE CONSISTENCY: on/ACTIVEEACH LP COPY ON A SEPARATE PV ?: yesSerialize IO ?: NO

# smit crfsAdd JFS2->Add an Enhanced Journaled File System on a Previously Defined Logical Volume -->LOGICAL VOLUME name test +* MOUNT POINT [/home/cmsadmin/scripts]

upto here LV STATE is closed/syncd

#mount /home/cmsadmin/scriptsKnow is have mounted my FS, LV STATE changes suddenly to opend/syncdNOTE: -No need to create LV first and then File system, you can create both at same time. No need to follow the above steps just use smit fs …create fs and enter the desire values ur LV and FS both will get created

If your are going to create a File system on Logical volume say abc, then you can create only one FS on one logical volume, you cannot create another file system on same Logical volume abc. This funda clear the point that only File system creation will create logical volume also.

Page 25: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Removing Logical volume

First unmount the file system # unmount /home/cmsadmin/scriptsif you are in the location /home/cmsadmin/scripts …then umount command throws error

umount: 0506-349 Cannot unmount /dev/test: The requested resource is busy.

Then remove# rmlv -f abcrmlv: Logical volume abc is removed.

# rmlv -f test

Mirroring Logical volume or File system

#mklv -y test -t jfs2 datavg 4

#mklvcopy fslv03 2 hdisk0 hdisk1where fslv03 is testcreate a Mirrored copy of test on 2 disk

#syncvg –v datavg

or

smit mklvcopy

To reduce the number of copies of each logical partition belonging to logical volume lv0112, enter:#rmlvcopy lv0112 2

Reduce the fslv03 LV from 2 LPs to 1 LP i.e remove the copy #rmlvcopy fslv03 1 hdisk1

Understanding Copies, Distribution and In band fileds of lslv –l command$ lslv -l fslv03fslv03:/backupPV COPIES IN BAND DISTRIBUTIONhdisk0 080:000:000 0% 000:000:079:001:000hdisk1 080:000:000 0% 000:000:076:004:000

This command shows the file system is located on how many PV.

Copies: - Will show the copy or mirrored copy of Logical volume.First field indicate number of logical Partitions, if last 2 fields are 000 and 000 this means that mirrored are reside on different PV.

From the above output you came to know that, Number of LP used by /backup or fslv03 file system is 80.

Last 2 fields are 000:000 means mirrored copies lies on different PV, copy are not on same PV.

In Band: - 0% means No free PPs are available on any region.

Page 26: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

100% means if any free PPs found on any region then it will show you 100%.

Distribution: -

000 : 000 : 000 : 000 : 000 Outer edge : Outer Middle : Center : Inner Middle : inner edge

Ex:- hdisk0 080:000:000 0% 000:000:079:001:000From copies we came to know that it has total 80 LPs, mirrored on different PVs andFrom Distribution we came to know that How total 80 LPs is distributed in the region,i.e we have Total 80 LPs, 79 LPs is on center and 1 LP lies on Inner middle, similarly

hdisk1 080:000:000 0% 000:000:076:004:000

Since it’s a mirrored copy, it show total 80 LPs, this 80 LPs is divided as 76 LPs on center and 4 LPs on inner middle.

$ lslv -l fslv02fslv02:/syblogPV COPIES IN BAND DISTRIBUTIONhdisk0 040:000:000 100% 000:040:000:000:000hdisk1 040:000:000 0% 040:000:000:000:000

FIRST UNDERSTANDING FREE DISTRIBUTION

#lspv hdisk1PHYSICAL VOLUME: hdisk1 VOLUME GROUP: rootvgPV IDENTIFIER: 00cf3f9d9c4cab2f VG IDENTIFIER 00cf3f9d00004c000000010577737308PV STATE: activeSTALE PARTITIONS: 0 ALLOCATABLE: yesPP SIZE: 128 megabyte(s) LOGICAL VOLUMES: 13TOTAL PPs: 546 (69888 megabytes) VG DESCRIPTORS: 1FREE PPs: 243 (31104 megabytes) HOT SPARE: noUSED PPs: 303 (38784 megabytes) MAX REQUEST: 256 kilobytesFREE DISTRIBUTION: 29..00..00..105..109USED DISTRIBUTION: 81..109..109..04..00

Consider the above output, just concentrate on Free and used distribution.This show the area in which free PP’s available and area in which PPs are used.The same distribution is also shown by following command, you will no get an clear idea about free PPs, Used PPs and Region in which they belong, with lspv hdisk1 command, execute the below command the get a clear picture of PPs.#lspv –p hdisk1

Know lets discuss the lspv hdisk1 command

FREE DISTRIBUTION: 29 .. 00 .. 00 .. 105 .. 109 Oe .. om .. c .. im .. ie

This means Free that 29 Free PPs are available at outer edge, 105 Free PPs are available at Inner middle and 109 free PPs are available at inner edge regions.Where oe is outer edge, OM is outer middle, c is center and im is inner middle and so on.

Similar explanation is for Used Distribution.

Page 27: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Utilizing Free PPs

$ lspv -p hdisk0hdisk0:PP RANGE STATE REGION LV NAME TYPE MOUNT POINT 1-1 used outer edge hd5 boot N/A 2-67 free outer edge 68-70 used outer edge hd6 paging N/A250-328 used center fslv03 jfs2 /backup329-329 used inner middle fslv03 jfs2 /backup330-437 free inner middle438-546 free inner edge

Free means Free PPs are available in that region, used means all PPs are used.You can get same output from lspv hdisk0 command also.

Create a file anywhere and specify the PP range in below format only# vi testhdisk0:330hdisk0:331save it exit

# mklv -y ltest -t jfs2 -m /home/cmsadmin/test rootvg 2ltestWill create ltest with 2 PPs.

#lspv –p hdisk0330-331 used inner middle ltest jfs2 N/A332-437 free inner middle438-546 free inner edge

Note:- Creating to use exact PP Range is not recommended.

STALE PP’S IN LV#lslv fslv03If LV STATE:- Stale, then it means LV is not synchronized, and stale PPs shown will be 2 and if its synched the stale PP will be 0 and if Logical volume is mirrored and if its copies is not up to date then also it shows you stale

Reorganize the logical volume

If the intra physical policy of any LV is changed after the LV is created, PPs related to this LP are not automatically relocated.

Page 28: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Reorgvg command is used to redistribute the PPs according to our preferred policy.#Smit reorgvg

or

Reorganize fslv02 and fslv03 from the datavg. #reorgvg datavg fslv02 fslv03

RENAMING LOGICAL VOLUME NAME

Create a mirrored LV# mklv -y jill -t jfs2 -c 2 -u 2 rootvg 2

Rename the LV name from jill to jid#chvg –n jid jill

PHYSICAL VOLUMES RELATED COMMANDS

To display the status and characteristics of physical volume hdisk1 by physical partition number# lspv -p hdisk1hdisk1:PP RANGE STATE REGION LV NAME TYPE MOUNT POINT 1-1 used outer edge hd5 boot N/A 2-70 free outer edge 71-110 used outer edge fslv02 jfs2 /syblog111-126 used outer middle hd6 paging N/A127-166 used outer middle fslv01 jfs2 /sybdata167-206 used outer middle fslv00 jfs2 /sybase

To display the status and characteristics of physical volume hdisk3, enter:#lspv hdisk3

To display the status and characteristics of physical volume hdisk5 using the volume group ID, enter: #lspv -v 00014A782B12655F hdisk5

To close physical volume hdisk03 enter: #chpv -v r hdisk03The physical volume is closed to logical input and output until the -v a flag is used.

To open physical volume hdisk03, enter: #chpv -v a hdisk03The physical volume is now open for logical input and output.

To stop the allocation of physical partitions to physical volume hdisk03, enter: #chpv -a n hdisk03

Page 29: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

No physical partitions can be allocated until the -a y flag is used.

To clear the boot record of a physical volume hdisk3, enter:#chpv -c hdisk3

MIGRATING DATA FROM ONE PV TO ANOTHER WITHOUT ANY LOSS.

#mklv –y seme –t jfs2 datavg 1#smit crfs … create file system name seme #mount the file system and create a data # migratepv -l seme hdisk0 hdisk1Know execute migratepv command which move your file system from hdisk0 to hdisk1, do this only if you find high I/O on hdisk0 and users are getting low performance.

VOLUME GROUP RELATED COMMAND

Will list all Active VG’s in a system.#lsvg -o

Physical Volumes DefinationsPhysical volumes, also known as direct access storage devices (DASDs), arefixed or removable storage devices

Block is a contiguous, 512-byte region of a physical volume

Partition is a set of blocks (with sequential cylinder, head, and sector numbers) contained within a single physical volume.

physical volume is divided into five regions (outer_edge, outer_middle,center, inner_middle, and inner_edge)

Limitation of LVM for VG, PV, PP, LP.

Volume Group: -Maximum volume group you can create on each system is only 255

Physical Volumes: - Max PV’s per VG : - 32 (Normal VG) selected Max PV’s per VG : - 128 (BIG VG) selected

Physical Partitions: -

If Big VG is selected, then max PP will be 1016 for 128 disk drives and 1016 for 32 disk drive in case of Normal VG.

Logical/Physical Partition Size: -Default SIZE is 4mb and max size ranges from 2 mb to 1024 mb.This value get divided by total number of disk size in single VG.

Page 30: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

For ex: if we have 3 disk of size 400MB each, then Total disk size is 1200 MBIn volume group say datavg, and you have selected a PP size of 4 MB, then total PP’s on this VG will be calculated as1200 / 4 : - 300 Physical partition is possible on this datavg volume group

List logical volumes by VG Name and there charactersticslsvg –l rootvg# lsvg -l rootvgrootvg:

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINThd5 boot 1 2 2 closed/syncd N/Ahd6 paging 16 32 2 open/syncd N/Ahd8 jfs2log 1 2 2 open/syncd N/Ahd4 jfs2 1 2 2 open/syncd /hd2 jfs2 18 36 2 open/syncd /usr

Give information about all PV in system.$ lsvg -p rootvgrootvg:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk0 active 546 299 69..13..00..108..109hdisk1 active 546 379 69..13..79..109..109

CALCULTAING DISK SPACE AND PP SIZE

$ lsvg rootvgVOLUME GROUP: rootvg VG IDENTIFIER: 00c493ae00004c0000000103ff22db4dVG STATE: active PP SIZE: 128 megabyte(s)VG PERMISSION: read/write TOTAL PPs: 1092 (139776 megabytes)MAX LVs: 256 FREE PPs: 624 (79872 megabytes)LVs: 14 USED PPs: 468 (59904 megabytes)OPEN LVs: 13 QUORUM: 1TOTAL PVs: 2 VG DESCRIPTORS: 3STALE PVs: 0 STALE PPs: 0ACTIVE PVs: 2 AUTO ON: yesMAX PPs per VG: 32512 0MAX PPs per PV: 1016 MAX PVs: 32LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: noHOT SPARE: no BB POLICY: relocatable

Suppose we have a 2 disk of 72 GB’s each i.e Total 139776 megabytes or 144 GB, And we are adding this to a single VG, say datavg, know before creating any VG we have to decide the partition size in MB, i.e what is the size of each PP in this VG.

If we hve selected PP size as 128, then its get divided by Total size of disk added to a single VG i.e datavg, as we hve 2 disk of 144 GB it will be 139776 in MB’s, out input value i.e 128 PP size will give us a below Total Number of partition we can create.

139776 ( size of all disk in single VG)/ 128 ( PP size selected while adding VG) = 1092 i.e we can create total 1092 partitions on datavg volume group.

Page 31: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

If we select a PP size of 512 MB, then total PP we can create on This VG is: - 273 only.if you increase the PP size, then you are decreasing the number of partition on single VG.

Before creating any VG, this PP size is to be keep in mind.

See below the ouput of single disk, I have just selected hdisk1

$ lspv hdisk1PHYSICAL VOLUME: hdisk1 VOLUME GROUP: rootvgPV IDENTIFIER: 00cf3f9d9c4cab2f VG IDENTIFIER 00cf3f9d00004c000000010577737308PV STATE: activeSTALE PARTITIONS: 0 ALLOCATABLE: yesPP SIZE: 128 megabyte(s) LOGICAL VOLUMES: 12TOTAL PPs: 546 (69888 megabytes) VG DESCRIPTORS: 1FREE PPs: 379 (48512 megabytes) HOT SPARE: noUSED PPs: 167 (21376 megabytes) MAX REQUEST: 256 kilobytesFREE DISTRIBUTION: 69..13..79..109..109USED DISTRIBUTION: 41..96..30..00..00

PV always inhert PP size of VG’s PP size, due to this you can calculate how many PP’s can be created on this single disk.

69888 / 128 = 546 i.e 546 Partitions can be created on this single disk.

Create VGSmit mkvg

or

#mkvg –f –y “newvg” –s 8 hdsik5

s stands for: - PP size, 8 is PP size in MB i.e create VG with PP size of 8 MB.f stands for: - Force creation of VG (this is optional)

Create VG of 2 MB PP size, with maximum number of PP per vg,#mkvg -s 2 -t 2 -y newvg hdisk1Maximum PP available per VG by AIX is 2032, here we have givel a T-factor as 2 therefore 2032 X 2 = 4064 MB or Total size of disk you get is 4 GB.

Remove VGSmit reducevg2

To remove physical volume hdisk1 from volume group vg01, enter:#reducevg vg01 hdisk1

To remove physical volume hdisk1 and all residing logical volumes from volume group vg01 without user confirmation, enter the following command. Attention: The reducevg command with the -d flag automatically deletes all logical volume data before removing the physical volume. #reducevg -d -f vg01 hdisk1

Change VG, ExtendVG, remove PV from VGSmit vgsc

Page 32: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

To add physical volumes hdisk3 and hdisk8 to volume group datavg, enter:#extendvg datavg hdisk3 hdisk8orExtend rootvg #extendvg –f rootvg hdisk5

To remove a added disk hdisk5 from rootvg execute the below command#reducevg rootvg hdisk5

or

smit vg show/characterstics of VG

VG Name :- rootvgPV Name :- hdisk5Force deallocation :- no or yesPress Enter

Show what major numbers are free, that is being assigned to device# lvlstmajor41...

Almost all the devices in /dev directory has the major and minor number.

List Max. Logical track group size on hdisk0$ lquerypv -M hdisk0256

Extend Volume group size, if LUN size is increased through storage manager, If original size of newvg is 5GB detected by AIX kernel and if you have increased the LUNS from 5GB to 10 GB, this will not understand by AIX, it will still show you 5 GB, to regain the increased size just execute the below command, it will take the increased size and know if you run lsvg newvg you will get 10 GB.#chvg –g newvg

FILE SYSTEM

Block is a contiguous, 512-byte region of a physical volume2 Type of block : - Data block and Indirect block.Data block: - Contain DataIndirect block: - Contain pointer to data block.

Page 33: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Super Block is first addressable logical block on file system, keeps information related to file size, file name, number of inodes, date/time of creating file. Always written or placed in block 31.

By default a single file within a file system have allocated some space i.e in unit in block of 4096 bytes (4 k). This means every file in file system is allocated with default block unit of 4096 bytes (4 k).

Data structures that contain information about files in Unix file system, that are created when a file system is created. Each file has an inode and is identified by an inode number (i-number) in the file system where it resides. inodes provide important information on files such as user and group ownership, access mode (read, write, execute permissions) and type.

There are a set number of inodes, which indicates the maximum number of files the system can hold. A file's inode number can be found using the ls -i command, while the ls -l command will retrieve inode information.

Inodes follows after super block, which contain identifying information for files such as file type, size, permission, users/groups/others ownership, user ID, group ID, Number of links, time modified, time accessed, time changed, Contain pointer to data block.

Will show you # ls –li /nbtest16384 drwxr-xr-x 3 root system 4096 Nov 29 10:46 changes24608 drwxr-xr-x 3 root system 256 Dec 31 02:30 scripts

Where 16384, 24608 are number of Inodes associated with file or directory.

Will list you inode information on file,# istat smit.logInode 4340 on device 10/8 FileProtection: rw-r--r--Owner: 1005(cmsadmin) Group: 3(sys)Link count: 1 Length 100696 bytes

Last updated: Tue Jan 10 17:06:46 IST 2006Last modified: Tue Jan 10 17:06:46 IST 2006Last accessed: Thu Dec 29 15:24:38 IST 2005

Last updated: - If the size of file increased then this field show you change,Last modified: - If you have open a file and added something in it ot you have just

modified the content of file then this field show you change. If modified time changes updated time also changes.

Last accessed: - File access lastly.

Partition is a set of blocks (with sequential cylinder, head, and sector numbers) contained within a single physical volume.

FILE SYSTEM FRAGMENTATION

Since by default a JFS allocate 4096 bytes of block size to each file. Fragmentation provide a way to allocate pieces of 4096 bytes logical block to file and directory.

Fragment size is applied at creation of file system time only, valid option are 512, 1024, 2048, 4096 bytes. Default is 4096 bytes.

Page 34: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Suppose your file size is of 2000 bytes or you have created a file of 2000 bytes, default fragment size is of 4096 byte, i.e one block is of 4096 bytes, File system allocates data block to a single file of 4096 bytes.

So this 2000 bytes size file will allocate only 2000 bytes, rest of the block space is unused and its also unusable by another file.

NO FRAGMENTATION

FILE SIZE IS OF 2000 BYTES

This Free space is cannot be used by another files because the no fragment size is selected while creating file system, so by default JFS allocates default block size of 4096 bytes i.e every file is allocated with a block of 4096 bytes. If the file size is of 4000 bytes then a complete block is used, but in above case only half of the block is used and remaining space in a block is unusable by another file.===============================================

FRAGMENTATIONFILE SIZE IS OF 2000 BYTESFRAGMENT SIZE TAKEN WHILE CREATING FILE SYSTEM IS 1024 BYTES

1024 block1024 block 1024 block 1024 block

Free fragment can be used by another files. See here if fragment size is imposed on file system is 1024, then file is being allocated a block size of 1024 bytes only, then our 2000 bytes file will use on 2 block i.e 1024 + 1024 = 2028. But still the last 28 block space is unused. Because 28 bytes is still left from above blocks.

If fragment is enabled, then a disk block is made of size as specified in fragment size, as above case its 1024 therefore a disk block of 1024 bytes is being allocated to every files.

Large fragment block size can also improves disk I/O, suppose file size is of 4096 bytes and fragment size is of 4096 bytes, then a single disk block is read while performing read operation by disk to read a single data, it mean only single disk I/O operation is being performed, therefore less disk I/O operation is there, if fragment size is of 2094 block, then two I/O operation is to be performed to read a same data, thus I/O is increased, increase in I/O cause performance degradation.

This is how fragmentation works.

2000 BYTES

2000 - BYTES

Page 35: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

NBPI (NUMBERS OF BYTES PER INODES)

JFS only support NBPI and fragment size, this is not valid or used by JFS2 file systems.Disk space is only one of the file system resources required by files and directories: each file or directory also requires a disk i-node.

If more or fewer number of i-node’s are required then the default i-node’s given by JFS.This number of disk i-nodes can be specified at file system creation as the number of bytes per i-node (NBPI). For example, an NBPI value of 1024 causes a disk i-node to be created for every 1024 bytes of file system disk space i.e if disk block size is of 1024 bytes and also file system NBPI value is of 1024 bytes, then a single file of 1024 bytes refer 1 inode, if NBPI value is 512 bytes then a single file of 1024 bytes refer 2 inodes in a single file system.

If NBPI value is = 4096 bytes, then an inode is created for every 4096 bytes in file system, you can say that every 4096 byte, a block is constructed , so every 4096 byte of block a inode is created.

If NBPI value is small, then you can use large Inode.If NBPI value is large, then you can use less inodes means you can create less files.

NBPI and Fragment fields are not supported in JFS2.

ALLOCATION GROUP SIZE

For grouping related inodes, allocation group size is required, inode’s are grouped into logical units of 8,16,32, or 64 MB, within file system.

FILE SYSTEM

JFS support individual file size from 2 GB to 64 GB.JFS2 support individual file size of 1 TB.

JFS FILE SYSTEM LIMIT CALCULATIONMAX FILE SYSTEM SIZE IN BYTES = FRAGMENT SIZE x 228

EX: IF Fragment and NBPI value is 4096 then total file system size in bytes will be as: - 212 (where 212 =4096) X 228 = 1 Terabyte

ORMAX FILE SYSTEM SIZE IN BYTES = NBPI x 224

Page 36: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

NOTE: - While creating file system an option appears like mount option, Which give you 2 sub option like nodev and nosuid

Nodev means: - You cannot run any open system calls,Nosuid means: - You cannot run any program if suid is not set on a program.EX:- smit fs Add jfs datavg mount options.

Smit fs, smit jfs (fast path for jfs), smit jfs2 (fast path for jfs2), smit crjfslvstd (Create JFS on a previously defined logical volume),Smit crjfsstd (Create standard JFS)Smit cejfs2lvstd (Create JFS2 on a previously defined logical volume)

COMPRESSED FILE SYSTEM

This file system saves disk space by allowing logical block to stored on disk smaller than the full block size of 4096 bytes.Compress or decompress make our logical block size to be resized.If 2 block are required to store a file on disk, and if a file system is compress then it will use only 1 block inspite of 2 blocks, and when a file decompress then again one more block is required.

Root file system must not be compresses, /usr compression is not recommended. 50 CPU cycles is required to compress 1 byte of data, 10 CPU cycles per byte for decompression.

LARGE FILE ENABLED FILE SYSTEM

In Large file enabled, if data or file stored before 4 MB file offset is allocated in 4096 byte block, after 4 MB file offset is allocated in 128 KB size disk block each.

Each block is of 4096 bytes, Total 1024 disk blocks required for 4 MB of file.

Each block is of 128 KB, Total 32 contiguous disk block are required for each 128 KB of disk block.i.e Here Each 128 KB block consist of 32 block of 4096 bytes.See the calculation below

1 2 3 . . 1023 1024

1025 1026 . . . 1055 1056

Page 37: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Simply follow this formula to calculate: -

1 KB = 1024 bytes, 1 MB = 1024 KB.

Consider a file of 132 MB, see how its divided in file system.

First 4 MB will come under the category of 4096 blocks offset, i.e (1024 * 4 KB disk block = 4 MB) or (1024 * 4 * 1024 bytes disk block = 4 MB)

The remaining 128 MB is above 4 MB, therefore comes under the category of 128 KB disk block, therefore this 128 MB size data is stored on 128 KB disk block as(1024 * 128 KB = 128 MB) or (1024 * 128 * 1024 bytes = 128 MB)

Lets calculate how many disk block of 4096 comes under 128 KB disk block size:-

First Converting 128 KB into Bytes128 X 1024 = 131072 bytes i.e 128 KB

Dividing the total value by 4096 since each disk block is of 4096.131072 / 4096 = 32, i.e 32 contiguous disk block of 4096

bytes is required for each 128 KB of disk block

(1024 * 4 KB disk block) + (1024 * 128 KB) = 132 MB4 MB 128 MB = 132 MB

Consider in Bytes: -(1024 * (4 * 1024)) + (1024 * (128 * 1024)) 4194304 bytes + 134217728 bytes = 138412032 bytes

JOURNAL LOG

If any changes is made to FS, its first logged in jfs2log, then a changes is applied to JFS, this is done sync system call, which run after every 60 seconds.

Contains sync pointer, if any thing is written on disk, and sudden crash happens, then after reboot data will be written to the area from where its stopped last, i.e continuity is maintain by JFSLOG, disk read from jfslog and write to the disk.

INLINE LOG

It will log all read/write operation within file system.

Page 38: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

SPACE MANAGEMENT

Show used space in 512 byte blocks#df –I

CONTROL GROWING FILES

/var/adm/wtmp /var/spool/*/* $HOME/smit.log $HOME/smit.script $HOME/smit.transaction $HOME/websm.log $HOME/websm.script /etc/security/failedlogin /var/admsulog /tmp

Clearing the printer Queue#stopsrc –s qdaemon#rm /var/spool/lpd/qdir/*#rm /var/spool/lpd/stat/*#rm /var/spool/lqdaemon/*#startsrc –s qdaemon

PAGING SPACE

Whenever a program or application is executed, it come in RAM first become a Process/daemon or for process to be actively running, it must be loaded in memory. When its loaded into memory or whenever any program or binary comes in memory it become a process, and it is assigned with number of 4k areas called page frame in Real Memory.

As more processes are loaded into memory, memory becomes full, not everything that resides in memory is active, some processes are in sleep state, some in wait state, when memory gets full, memory is scanned to locate those page frames that are not required currently or less recently used, whenever any process found to be in this state, a 4KB block or page is allocated and data from the page frame is moved to disk, this is called as paging space.

Number of page frame move to disk is called page out (po).Number of page frame needed and brought back in memory is called page in (pi).

Paging is temporary holding area for inactive processes, its not substitute for real memory. Machine should have enough Real memory to hold all active processes, increasing paging space on disk will not solve this problem, when your machine don’t have enough real memory, you have increased paging space, but the number of active processes are very high, then your machine will reach a constant state of paging called thrashing.

NOTE: - Thrashing is result of less Physical memory.

PAGING SPACE CREATION

Page 39: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

If Physical RAM is >= 64 MB thenPaging space = Physical RAM size + 16 MB

If Physical RAM is < 64 MB thenPaging space = twice the Physical RAM size

LOW PAGING SPACE INDICATION

If paging space is low on disk, also your Real memory is full but have many inactive processes but there is no more space available on disk to perform page out process, then the system will unable to start any new processes until some running processes is terminated or released to disk, so if you see below messages then paging space is less: -

Init: paging space is low, Cannot fork no swap space, No enough memoryFork function failed, Fork () system call failed, Unable to fork, too many processes, Fork failure – not enough memory available, Fork function no allowed, Cannot fork: not enough space.

List paging Summary report$ lsps -sTotal Paging Space Percent Used 4096MB 39%

ADDING/CHANGING/REMOVING/DECREASING PAGING SPACE

Paging space created during system installation is named as hd6, after installation name will be paging00, paging 01…. and so on.

#more /etc/swapspaces contain list of paging space that will be activated at system startup.

** This file is modified by the chps, mkps and rmps commands and referenced* by the lsps and swapon commands.

hd6: dev = /dev/hd6

INCREASING PAGING SPACE

To increase the size of paging space more then the currently installed, then#Smit mkps

Volume group name rootvg SIZE of paging space (in logical partitions) [16] # PHYSICAL VOLUME name hdisk1 + Start using this paging space NOW? yes + Use this paging space each time the system is yes + RESTARTED?

Volume group, select the VG, if you are increasing the paging space, it is better to use different disk or VG for better performance.

Page 40: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Size in LP, if you each PP size is of 128 MB, since LP = PP, then LP is also of 128 MBIf your current paging space is of 2 GB i.e 16 LPs, and you want to increase up to 4 GB, then enter 16, then your total paging will 4 GB.

Select the PV, its better to select different PV, then the PV on which currently paging space is defined, for improve in performance.

OR

#mkps –s 16 –n –a rootvg-s : - define size in LPs-n : - Activate paging space immediately-a : - Activate paging space on every restart and add a entry in /etc/swapspaces

ADDING NEW PAGING SPACE

#smit mkps

Volume group name datavg SIZE of paging space (in logical partitions) [2] PHYSICAL VOLUME name hdisk1 Start using this paging space NOW? yes Use this paging space each time the system is yes RESTARTED?

Or

#mkps –s 2 -n –a datavg hdisk1

ANOTHER METHOD OF CREATING NEW PAGAING SPACE

Step I#smit mklvLogical volume NAME [paginglv00]* VOLUME GROUP name rootvg* Number of LOGICAL PARTITIONS [2] PHYSICAL VOLUME names [hdisk1] Logical volume TYPE [paging]

Or#mklv –t paging –y paginglv00 rootvg 2 hdisk1

Step II#swapon /dev/paginglvoo (Activate the paging created)

Step III# lsps –a (check the paging space listed)

DECREASING PAGING SPACE

Page 41: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

This is done by smit chps or chps command, infact while decreasing the paging space a scripts name shrinkps is called to reduce the active paging space size.

1. Create temp. paging space from the same VG on which paging space is to be reduced.#mkps -a -n -s 30 rootvg hdisk0

2. Deactivate the original paging space i.e hd6.#swapoff /dev/hd6

3. Reduce the original paging space #chps –d 16 hd6 ( reducing the paging space, that reducing 16 LPs)

4. Reactivate the origignal paging space#swapon /dev/hd6

or #swapon –a (To activate all paging space defined in /etc/swapspaces)

5. Deactivate and remove temporary paging space#swapoff /dev/paging00

#chps –d 2 paging00 (decreasing user specific paging space by 2 LP’s)

BACKUP/RESTORE

UNDERSTANDING HOW DATA IS WRITTEN/READ FROM/TO TAPE(AIX) by Amrik

Tape devices support multiple tape files. Tape files are the result of a backup/cpio/tar/dd type command, where the device is opened, written to, and closed. Because tapes allow largeQuantities of data to be written on a single tape, several backups (that is, tape files), may be combined on one physical tape. Between each tape file is a "tape file mark" or simply "file

Page 42: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Mark". The device driver to indicate where one tape file ends and another begins uses these file marks.

B E <------- O O -------> T T __ ___________________________ ______________ physical | \ | | \ |physical beginning| \ | tape | \ | end of | \ | file | \ | of tape | \ | mark | \ | tape |_____\________|_______|__________\_________| Note that there is a distinction between the beginning of tape (BOT) side of a file mark and the end of tape (EOT) side of a file mark. If the head is on the BOT side of a file- mark, "tctl fsf1" command will move only to the EOT side of the same file mark. With the 1/4" tape drive, writing can only take place sequentially, or after blank tape has been detected. You cannotwrite over data on the tape (except at BOT). If you wish to add data to a tape which has been written and then rewound you should space forward file mark until an error occurs. Only then can you start writing again.

With an 8mm tape drive, writing can only take place before blank tape, an EXTENDED file mark, or at BOT. Thus if several backups have been made on one tape and you wish to overwrite one of the backups, position the tape to the place you wish to start writing and issue the following commands:

tctl bsf 1tctl eof 1

The first command skips back to the BOT side of the same file mark. The second command rewrites the file mark (writing is allowed before extended file marks). The erase head will erasedata ahead of the write head, so that after writing the file mark the head will be positioned before blank tape. Only after this may you start writing over data in the middle of the tape. (All data beyond where you are currently writing will be lost). Note that you cannot write over short file marks. In order for this to work, the tape must have been written with extended file marks (use smit to change this). With the 9-track drive writing can take place anywhere on thetape although overwriting single blocks of data is not supported. On the 8mm drive extended filemarks use 2.2 megabytes of tape and can take up to 8.5 seconds to write. Short filemarks use 184K and take up to 1.5 seconds to write.

BLOCK SIZES:

When data is written to tape it is written in blocks. The blocks on a tape are separated by inter-record gaps. It is important to understand the structure of the written tape in order toUnderstand the problems, which can occur with changing block sizes.

In fixed block size mode all blocks on the tape are the same size. They are the size of the block size set in the device configuration. All read()s and write()s to the tape drive must be a multiple of the fixed block size.

In fixed block mode a read () will return as many blocks as needed to satisfy the read() request. If a file mark is encountered while reading the tape only the data up until the file mark will be returned.

It is not possible for the tape drive to read a tape whose block size is not the same as the block size in the device configuration. (Unless the device configuration is in variable size blocks.) In

Page 43: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

variable block size (0) mode, the blocks written on the tape are the size of the read() and write() requests to the device driver. In this case, the actual block sizes on the tape can bechanged using the options to the backup commands (tar -C, cpio -C, backup -C).

In variable mode, read() requests greater than size of the block on the tape will return only the data from the next block on the tape. It is this feature that allows tapes written in any blocksize (fixed or variable) to read with the dd command (the output from the dd command may be piped to restore, tar, or cpio for example.) Note that backup, tar, and cpio cannot read all tapes by using a large block size because they assume there is an error if they get a short read().

dd ibs=128k obs=16k if=/dev/rmt0 | ...

The tape head is always positioned at an inter-record gap, file mark, or blank tape after reading or writing.

With the 8mm tape drive, using a fixed block size which is not a multiple of 1K is inefficient. The 8mm tape drive always writes internally in 1K blocks. It simulates the effect of variableblock sizes, but, for example, using a fixed block size of 512 bytes (or using variable block size and write()ing 512 bytes at a time) wastes one half of the tape capacity and gives only one halfthe maximum transfer rate. To figure out a tape's actual block size try:

Don’t test this on live servers. 1). Set the tape to variable block size. 2). "dd if=/dev/rmt0 of=/tmp/dummy bs=128k count=1" 3). "ls -l /tmp/dummy" 4). The number of bytes in "/tmp/dummy" is the physical block size.

Many tape drives support both variable and fixed block sizes. Variable block mode writes block sizes the size of the write command issued (tar and backup specify this with the -b option). In fixed mode, block sizes are fixed and all writes must be a multiple of the fixed block size.

Unix often internally chops larger reads and writes up into manageable pieces (often 65535, 65534, or 65532 bytes) before doing the actual reads and writes. This means reads and writes of 64K bytes are often broken up into a 65535 byte record and a 1 byte record (In fixed mode the write will fail). Block sizes >= 64K (-C128 and greater) should be avoided for this reason. AIX does not break up read and write requests, but be aware of the situation on other machines.

If the tape is written in an unknown block size then set the device configuration in smit to use variable size blocks, use the "dd" command with a large input block size, and pipe it to therestore command. For example:

chdev -l rmt0 -a block_size=0 dd if=/dev/rmt0 ibs=128k obs=16k | tar -tvf-

AIX has the World's Only Variable Block Size 1/4" tape drive. If you use SMIT to set the block size to a nonzero value, AIX treats the device as fixed block size, whether it is or not. By default, 8mm drives are set to the same size as 1/4", 512 bytes. This is wasteful, butotherwise mksysb and installp would fail.

If you set the block size to 0, the device is treated as variable block size, and the size passed to write becomes the physical block size. Then if you use a sensible block size to dd, all should be wonderful.

Backup Command and SMITTY

Page 44: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

MKSYSB

#Smit mksysb

OR

To generate a system backup and create an /image.data file to a tape device named /dev/rmt0, type:- #mksysb -i /dev/rmt0

To generate a system backup and create an /image.data file with map files#mksysb -m /dev/rmt1

To generate a system backup with a new /image.data file, but exclude the files in directory /home/user1/tmp, create the file /etc/exclude.rootvg containing the line /home/user1/tmp/, and type:#mksysb -i -e /dev/rmt1

High-level shell command for backing up mounted file systems in the rootvg volume group. mkszfile -f must be called prior to mksysb in order to create the /.fs.size file that mksysb uses to determine which files will be backed up.

An 8mm tape drive is the preferred method of backing up your system because that tape can be used to recreate the rootvg image if one or more physical volumes fail. Each of the file systems MUST have at least 500 blocks free when the mksysb backup is made. The system will need some work space in each file system when it is installing from a mksysb backup.

To utilize the full 2.3 gb tape capacity...

Set the blocksize to 1024

Edit the /usr/lpp/bosinst/diskette/startup2 file

o Change the following line from 512 to 1024.  /etc/methods/chggen -a rmt0 -a block_size=1024

Create a new install/maint diskette

MKSYSB can create a BOOTABLE tape. Further, the data is archived in TAR format. In order to look at the names of files backed up by this command, perform the following:

tctl -f/dev/rmt1.1 fsf 3

tar -tvf/devrmt1.1

Example: mkszfile -f && mksysb /dev/rmt0-f forces extending the /usr or /tmp file system if not enough working space (8 MB) exists. This command should ALWAYS succeed unless a tape has not been inserted into the archive device (eg., rmt0), or the tape is either write-protected or has defective media.

Page 45: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

MKSYSB IMAGE

BOS boot image: - Contain a copy of system kernel and device driver needed to boot from tape.Mkinsttape image: - Contain image.data file and bosinst.data fileDummy.toc: - Used to make mksysb tapes have same number of files as BOS install tapes.Rootvg Data: - Contain all data from the backup

NON ROOTVG BACKUP

#smit savevg1Create /tmp/vgdata/vg_name/vg_name.data file, this file is same as image.data file of rootvg.Or you can create file using command#mkvgdata vg_name i.e #mkvgdata datavg

For excluding files from file system or if you want some files not to be backed up.Create /etc/exclude.internalvg or /etc/exclude.rootvgVi /etc/exlude.internalvg/utsarch//utsdb2/

Exclude /utsarch and /utsdb2 filesystem from datavg

RESTORE NON ROOTVG BACKUP#smit restvg

To list the contents of a root volume group backup that is created with the savevg command, enter the following#smit lsmksysb

To list the contents of a user volume group backup that is created with the savevg command, enter the following#smit lsbackvg To restore individual files from a root volume group backup, enter the following SMIT fast path:#smit restmksysb

To restore individual files from a Non-root volume group backup, enter the following SMIT fast path:#smit restsavevg

BACKUP AND RESTORE COMMAND

Relative pathnames will have a ./ pre-fixed to their path.  These files will be restored relative to the current directory.

Absolute pathnames won't have the ., just the /.  These are restored with the full pathname to the exact directory as specified on the archive device.

Backup files by Name

Page 46: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

backup -i [ -b Number ] [ -p [ -e RegularExpression ] ] [ -f Device ] [ -l Number ] [ -o ] [ -q ] [ -v ]

Options:-

-i: - Specifies that files be read from standard input and archived by file name. If relative path names are used, files are restored relative to the current directory at restore time. If full path names are used, files are restored to those same names.

-v: - List names of files being backed up

-f: - Name of output device (typically de/v/rmt0 for tape drive)

-e: - Won't attempt to compress or pack files that are greater than 24 MB.

-l: - Limits the total number of blocks to use on the diskette device

-o: - To create a Version 2-compatible backup by name, use the -o flag along with other flags required for backups by name. Files with attributes and values, such as user IDs and group IDs, that are too large for Version 2 systems will not be backed up. A message is displayed for each such file and each value that is too large.

q: - Won't prompt user to insert tape

-p: - Pack data. Backup images by default are NOT packed. If you wish to pack your data, use this option. The restore command has enough intelligence to determine if a backup image is packed or not and take appropriate action

Backup the file system /u to tape device using absolute pathnames.#find /u -print | backup -ivf/dev/rmt0

Backup files and directories under current directory (.) using relative pathnames. The tee (|) will take as input the output of the backup command (filenames being copied) and write them to the log file 'BACKUP.LOG' for later review#find . -print | backup -iepqvf/dev/rmt0 | tee /tmp/BACKUP.LOG

Find any REGULAR files (-type f) that have been modified within the past 24 hours (-mtime -1) and write them to the tape device but don't rewind (/dev/rmt*.1) the tape after backup has finished.#find /faxdata -mtime -1 -type f -print | backup -ivf/dev/rmt0.1

Backup files interactively. Select the file(s) to backup by typing in the file's name. When done, press ^D to finish.#backup -ivqf/dev/fd0

If there is more than one tape drive attached to the system, then you can specify a range of devices to the -f flag of the backup command. (/dev/rmt0-1)#find / -print|backup -icvqf/dev/rmt0-1

OR

#smit backfile

Backup File system by Inode

Page 47: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

backup [ [ - Level ] [ -b Number ] [ -c ] [ -f Device ] [ -L Length ] [ -u ] ] [ FileSystem ] | [ -w | -W ]

-Level: - Specifies the backup level (0 to 9). The default level is 9.

-b: - For backups by name, specifies the number of 512-byte blocks; for backups by i-node, specifies the number of 1024-byte blocks to write in a single output operation. When the backup command writes to tape devices, the default is 100 for backups by name and 32 for backups by i-node.

-c: - Specifies that the tape is a cartridge, not a nine-track.

-L: - Specifies the length of the tape in bytes. This flag overrides the -c, -d, and -s flags. You can specify the size with a suffix of b, k, m, or g to represent Blocks (512 bytes), Kilo (1024 bytes), Mega (1024 Kilobytes), or Giga (1024 Megabytes), respectively. To represent a tape length of 2 Gigabytes, enter -L 2g. This flag only applies to AIX 4.2 and above.

-u: - Updates the /etc/dumpdates file with the raw device name of the file system and the time, date, and level of the backup. You must specify the -u flag if you are making incremental backups. The -u flag applies only to backups by i-node.

-w: - Currently disabled. If the -w flag is specified, no other flags are applied.

-W: - Displays, for each file system in the /etc/dumpdates file, the most recent backup date and level. If the -W option is specified, no other flags are applied.

To backup the / (root) file system, enter: #backup -0 -u -f /dev/rmt0 /

To backup all the files in the / (root) file system that have been modified since the last level 0 backup, enter: #backup -1 -u -f /dev/rmt0 /

OR

#smit backfilesys

RESTORE COMMAND

List Files archived by File system

restore -T [ q  v ] [ -b Number ] [ -f Device ] [ -s SeekBackup ] T= table of contents, -v=list the file name being copied, -f=name of output device, -q= should not prompt to insert tape for restore, this options says that tape is inserted and

ready for task.-x= Restores individually named files specified by the File parameter-d= Indicates that, if the File parameter is a directory, all files in that directory should be

restored. This flag can only be used when the archive is in file-name format.-r= Restores all files in a file-system archive. The -r flag is only used to restore complete

level 0 backups or to restore incremental backups after a level 0 backup is restored. The restoresymtable file is used by restore to pass information between incremental restores. This file should be removed once the last incremental backup is restored. The File parameter is ignored when using the -r flag.

-s= Specifies the backup to seek and restore on a multiple-backup tape archive.

To list the names of files in either a file-name or file-system archive on the diskette device /dev/rfd0, enter:

#restore –Tq

Page 48: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

To restore a specific file, enter: #restore -xvqf myhome.bkup system.data

To restore a specific directory and the contents of that directory from a file-name archive, enter: #restore -xdvqf /dev/rmt0 /home/mike/tools

To restore an entire file-system archive, enter: #restore -rvqf /dev/rmt0

To restore the fifth and ninth backups from a single-volume, multiple-backup tape, enter: #restore -xvqs 5 -f/dev/rmt0.1#restore -xvqs 4 -f/dev/rmt0.1

To restore the fourth backup, which begins on the sixth tape on a 10-tape multiple-backup archive, put the sixth tape into the tape drive and enter:

#restore -xcs 2 -f /dev/rmt0.1 /home/mike/manual/chap3

To improve the performance on streaming tape devices, pipe the dd command to the restore command by entering:

#dd if=/dev/rmt0 bs=64b | restore -xf- -b64

To improve the performance of the restore command on the 9348 Magnetic Tape Unit Model 12, you can change the block size by entering:

#chdev -l /dev/rmt0 -a BlockSize=32k

Restores all files that start with "My" from the /usr/tmp directory#restore -xvf/dev/rmt0 ./usr/tmp/My*

Restores all files that start with "My" from the /usr/tmp directory#restore -xvf/dev/rmt0 ./usr/tmp/My*

Restores the directory named /usr/tmp from tape device#restore -xdvf/dev/rmt0 ./usr/tmp

Restores all the files located on the tape device that were backed up using the backup command.

#restore -xvf/dev/rmt0

-x=extract data from output device. Restores only the file named ./tmp/TestFile from the tape device. If the subdirectory /tmp doesn't exist in the current directory, then that subdirectory will be made prior to restoring 'TestFile'.

#restore -xvf/dev/rmt0 ./tmp/TestFile

Rewind to the beginning of tape#tctl -f/dev/rmt0 rewind

Review files on FIRST backup image#restore -s1 -Tvf/dev/rmt0.1

Review files on SECOND backup image#restore –s2 -Tvf/dev/rmt0.1

Displays the table of contents for multiple backup images. s1=specifies that multiple backups are on the tape and that the restore command skips to the backup specified by the number associated with the 's' option. The 0.1 for the output device (-f flag) means that once the tape

Page 49: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

has been read, it will not rewind. If only the second backup image was needed, could have just typed in: restore -s2 -Tvf/dev/rmt0.1

If by chance the ./unix file was deleted, go back to your install tape and extract the file that needs to be restored. The first three images on the tape are BOSBOOT, INSTALL/MAINT, followed by the TOC (table of contents) image

#tctl -f/dev/rmt0.1 fsf 3

#restore -xvqf/dev/rmt0.1 ./unix.

Selectively restore ONLY those files listed in file /tmp/DISK.LIS#restbyname -xvqf/dev/fd0 -Z /tmp/DISK.LIST

LOGICAL TAPE DEVICE NAME AND FUNCTIONS

Tape devices you have 2 functionalities, 1) rewind after completing the job.2) retention the tape before starting the job (on tape).

Retension means winding to the end of the tape and then rewinding to the beginning of the tape to reduce errors

One has to use the device name depending on the above functionality, /dev/rmt0  rewind true, retension false/dev/rmt0.1 rewind false, retension false/dev/rmt0.2 rewind true,  retension true/dev/rmt0.3 rewind false, retension true

To take tar backup, #tar -cvf /dev/rmt0 *.cbl will take backup of all .cbl file from the begining of the tape and rewinds on completion.

If you have to take multiple backups on the same tape, do the following, #tar -cvf /dev/rmt0.1 *.cbl (which takes backup on to tape --1st 'tar file' --and waits without rewinding).Issue another tar backup, #tar -cvf /dev/rmt0.1 *.cbl (2nd tar file --which again waits without rewinding)

Density You can select whether to write with the tape drive Density Setting #1 or with the tape drive Density Setting #2. The values for these density settings are part of the attributes of the tape drive. Because it is customary to set Density Setting #1 to the highest possible density for the tape drive and Density Setting #2 to the next highest possible density for the tape drive, special files that use Density Setting #1 are sometimes referred to as high density and special files that use Density Setting #2 sometimes are referred to as low density, but this view is not always correct. When reading from a tape, the density setting is ignored.

Rewind-on-Close You can select whether the tape is rewound when the special file referring to the tape drive is closed. If rewind-on-close is selected, the tape is positioned at the beginning of the tape when the file is closed.

Retension-on-Open You can select whether the tape is retensioned when the file is opened. Retensioning means winding to the end of the tape and then rewinding to the beginning of the tape to reduce errors. If

Page 50: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

retension-on-open is selected, the tape is positioned at the beginning of the tape as part of the open process.

Special File Rewind on Close Retension on Open Density Setting

/dev/rmt0 Yes No #1

/dev/rmt0.1 No No #1

/dev/rmt0.2 Yes Yes #1

/dev/rmt0..3 No Yes #1

/dev/rmt0.4 Yes No #2

/dev/rmt0.5 No No #2

/dev/rmt0.6 Yes Yes #2

/dev/rmt0.7 No Yes #2

For Tape Drive characteristics go to: -http://publib16.boulder.ibm.com/pseries/en_US/aixbman/baseadmn/tape_attr.htm

cpioCopies files to/from an archive storage device. This command is often used to copy files from UNIX to AIX systems. This command will span across multiple tapes. cpio stands for Copy Input to Output.

-c: - Writes header information in ascii format for portability across UNIX systems.-r: - When restoring will prompt for new path/file to restore to.-v: - List the file name as it's being copied.-i:- Read from standard input, i.e. keyboard -u Copies unconditionally. Older file replaces a

newer one. Files with older modification times will replace files with newer modification times.

-d: - Creates directories,  if applicable -t For table of contents.-C1: - Performs block I/O in 512 byte blocks, if the block size of the device that wrote the data

on the tape was set to 512 bytes

-o: - Create a cpio image-t: - read/verify the content of a cpio image.-m: - retain original modification times associated with file.

Reads file names using the find command and copies to the floppy drive (/dev/fd0).#cd /u/roger#find . -print | cpio -ocv > /dev/fd0

Saves files in current directory and writes this info to floppy. Same command as above except much faster.

#find . -cpio /dev/fd0 -print

Restore files and directories saved on the floppy device. These files are restored under the current directory (/u/roger) Only if relative pathnames (./<filename>) were used.

#cd /u/roger#cpio -icuvd < /dev/fd0

Page 51: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

List the table of contents from a tape device.#cpio -itvcC1 < /dev/rmt0

Copies all files FROM one directory TO another WITHOUT changing the permissions, owner/group or modification date of the file. Use the following command to verify that all files were copied:

#cd /u/roger#find . -print | cpio -dumpv /u/jerry

If the number of files encountered is the same for both directories its safe to assume that the directories are identical. NOTE: that the number of blocks allocated to the SOURCE directory (/u/roger) may be larger than the DESTINATION directory (/u/jerry), since compaction of the directory structure will have occurred at the destination end.

#find /u/roger -print | wcfind /u/jerry -print | wc

Selectively restore the /home/roger/.profile file from floppy#cpio -imv /home/roger/.profile < /dev/fd0

Selectively restore only the *.f and *.c files from floppy#cpio -i "*.f" "*.c" </dev/fd0

DDConverts/copies files to/from an output device. DD stands for Data Dump. This command will NOT span across multiple tapes. Common utility found on most versions of UNIX.

Read the files off the tape device faster because of the blocking factor (bs=blocksize of 512K or cache upto 1/2 MB at a time)

#dd if=/dev/rmt0 bs=512k | cpio -icdmv

Copies the data from the input file (if=rs6000.dat) to the output tape device (/dev/rmt0). The rmt*.4 device extension means output is written in 1600 bpi format. This creates an EBCDIC low density tape, resulting in a 1024 byte blocked non-labeled file. To extract this file on the AS/400, create a physical file with a record length of 1024 bytes. Use the CPYFRMTAP command to copy the file. NOTE: When copying data from an EBCDIC machine, make sure your BLOCK SIZE is set to 0 on the tape device

#dd if=rs6000.data of=/dev/rmt0.4 bs=1024 conv=ebcdic

Copies the data from the input file (if=unixfile.txt) to output name (of=DOSFILE.TXT) and converts the source data to UPPERCASE characters

#dd if=unixfile.txt of=DOSFILE.TXT conv=ucase.

Copies the ABSOLUTE path /u/roger using the tar utility. To speed this process up, these files are piped to the dd utility using a cache buffer size of 1 MB.

#tar -cvf- /u/roger | dd of=/dev/rmt0 bs=1024k

Copies the raw physical volume named hdisk0 to the raw physical volume named hdisk1. This represents a copy disk utility

#dd if=/dev/rhdisk0 of=/dev/rhdisk1 bs=5120b.

Page 52: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Copies the data from the tape device (if=/dev/rmt0) and creates an output file (/tmp/ascii_file) - which is BYTE swapped (conv=swab) as it is being written out. This needs to be done if your copying ascii files from a System V Unix machine (unisys to the RS/6000)

#dd if=/dev/rmt0 of=/tmp/ascii_file conv=swab

Useful when reading an ASCII file that is NOT delimited by a NL character.

#dd if=/dev/rmt0.1 of=/tmp/data1 cbs=242 ibs=3240 conv=sync,unblock

Will read a record size of 147 bytes, a block size of 2940 bytes, and convert the output to an ASCII file.

#dd if=/dev/rmt0.1 of=/tmp/data1 cbs=147 ibs=2940 conv=ascii

If a filesystem superblock is corrupted, as a backup copy of superblock is kept at 31st block of filesystem, to repair the corrupted superblock copy the backed up superblock from 31st location.

#dd count=1 bs=4k skip=31 seek=1 if=/dev/hd4 of=/dev/hd4

T apechk Performs consistency checks on a tape device. Primarily used to check tapes written in backup format.

# tapechk 2 ( Checks the first 2 files found on the tape device.)

T copy

Copies from one magnetic tape device to another. This command will work for copying multiple backup images from one media type to another. It will continue to copy until two end-of-tape marks are encountered

Displays ALL the backup images and their size for the tape your currently viewing.

#tcopy /dev/rmt0

Copies all the data from one media type to another until two end of tape marks are encountered. In the example above, rmt0 could be a 8mm device and rmt1 may be a 1/4" tape device. If the error message: tcopy: Cannot open /dev/rmt?' is displayed, make sure the destination device is not write-protected.

#tcopy /dev/rmt0 /dev/rmt1

T ctl Command used to fast forward a tape device (Tape ConTroL).

Options: - rewind = rewind a tape, fsf = fast forward a tape, offline=ejects a tape rewoffl = rewind and ejects a tape

Rewind the tape device

#tctl -f/dev/rmt0 rewind.

Page 53: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Move tape forward to the second tape mark. The .1 on the rmt0 device instructs the device NOT to rewind after performing the command. Use this command to skip past unwanted tape images - assumming there are multiple archive images on the tape to skip past.

#tctl -f/dev/rmt0.1 fsf

Moves the tape to the beginning, end, and back to the beginning again. Used to retension the tape when encountering multiple read errors on restore operations.

#tctl -f/dev/rmt0 retension

MT

# mt status Print status information about the tape unit.# mt rewind Rewind the tape.# mt erase Erase the tape.# mt retension Re-tension the tape (one full wind forth and back.# mt fsf 1 Forward space count by one file. One can be any number.# mt -f /dev/rmt/1n fsf 3

Backup files from a remote computer

The local host MUST be included in remote's hosts /etc/hosts.equiv file. The local host and user name MUST be included in the $HOME/.rhosts file at the user account at the remote machine.

Restores files FROM a remote tape drive on a host named 'lanai'

#rsh lanai -l roger "dd if=/dev/rmt0" | tar -xvf-

The tar command will write it's output to the rsh command which pipes the data to the remote host (lanai) and the tape drive (/dev/rmt0). Specify -l <UserName> if the local user is different from the remote user.

#tar -cvf- * | rsh lanai -l roger "dd of=/dev/rmt0 bs=64k conv=block"

Uses the floppy drive device on node lanai to store files in tar format.

#tar -cvf- * | rexec lanai " dd of=/dev/fd0 bs=4096”

Commands for remote tape backup

#tar cvf - $DIRNAME | rsh $SYS dd of=$TAPEDEV

To retrieve the backed up info...

#rsh $REM dd if=$TAPEDEV | tar xvf –

Page 54: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

SECURITY & USER ADMINISTRATOR

I am not covering, what is chmod, chown, chgrp, SUID, SGID, SVTX (sticky bit) basics,SUID is set on executable file, no meaning on directories, completely insecure becoz for some time normal users gain access of root or become as root for ex: -

Create a shell script named shell.sh that contains the following two lines. Theselines should begin in the left most column.

#!/bin/ksh id

Set the shell script's file owner to root, and the permissions to rwsr-xr-x (SETUID bit on). Execute the following commands: chown root shell.sh chmod 4755 shell.sh

Prior to AIX 3.1.7, if an ordinary user named "joeuser" ran shell.sh, the outputwould be : - uid=200(joeuser) gid=200(staff) euid=0(root)

The euid=0(root) indicates that the user was effectively root while the shell script executed. For AIX 3.1.7 and later, the output is: uid=200(joeuser) gid=200(staff)

The SETUID bit no longer has any meaning for shell scripts. The means that theSETUID does not function as it does on other UNIX systems. Other versions of UNIX do pass the euid 0 to other kornshell scripts and child processes; thus, creating a security vulnerability unacceptable to AIX.

File systems are mounted over a directory mount point. Both the mount point and the file system have permissions. The permissions on the mount point are determined by the current umask setting at the time the file system is created. Even though the permissions on the mounted file system take precedence over the permissions on the mount point, the mount point must have at least search permissions for everyone (that is, 111) to avoid unpredictable results. Remember, after the file system is mounted, you cannot see the permissions on the mount point. You must umount the file system before the mount point permissions can be examined and changed.

Page 55: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Your user id (uid) is used to set the owner of the file. Your primary group is used to set the group (unless the directory in which the file is created has the sgid permission bit set; then the group is the same as the group on the directory entry).

The id command can be used to see the uid and primary group for that user. Your umask setting is used to set the initial permissions. Type umask at the command line to see the current setting. To change the umask setting, type umask number, as in: umask 022

NOTE: You do not use the equal sign (=) when setting umask. umask does not set the execute bit on a text file or shell script but only on adirectory. To determine what umask to use, take the umask setting and subtract itfrom 777 for a directory or from 666 for a text file or shell script. Then, if you create a directory or text file, you see permissions as follows: Example with umask 022: 777 - 022 = 755 (Default rights for directory)666 - 022 = 644 (Default rights for file)Executing ls -l shows the following permissions: for a directory: - rwxr-xr-xfor a text file: rw-r--r--

Similar case is for SGID, sticky bit SVTX is removed from AIX.

LOGIN SEQUENCE

Before I continue with this understand the main files and there field needed, for login up to the, users shell prompt comes. Please read the “login sequence file.doc” file first which explain you all the required files and there directives in depth.

ISince init is last stage of system initialization, when init runs it start the getty process because of following entry in /etc/inittabcons:0123456789:respawn:/usr/sbin/getty /dev/consoleA getty process is started for all ports who is responsible for providing login prompt.

IIWhenever a request is received for login from user, a message is displayed by getty process from the file /etc/security/login.cfg’s hearld directive and getty process waits for user’s intervation by giving login prompt. Know login program take the control.

IIIUser enter’s username and password, login program passed the username and then checks /etc/passwd weather its valid username, /etc/security/passwd is checked if a password is required or not. In this step, if username or password is invalid or not exist, a error is thrown on users terminal and entry is made /etc/security/failedlogin, Number of failed login attempt’s are also tracked by /etc/security/lastlog attribute: - unsuccessful_login_count. A user account is locked after if loginretries field in /etc/security/user reaches to the value specified.

IVIf a user enter a successful or valid username and password, then usw(user conf. Stanza)/etc/security/login.cfg is checked for number of maximum simultaneous login made by each user, if it exceed then the value specified, then login is denied and a message is display.

Page 56: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

VNow users environment is set up using /etc/environment (Setups global variables), /etc/security/eviron(setup environment attributes for users, /etc/security/limits(setup users file and system usage limits), and /etc/security/user(setup individual users roles and security)

VIIf /etc/nologin file exist then no one can login except root, login program setup’s users home directory login shell after displaying the content of /etc/motd(message of the day), if .nohushlogin file exist in users home directory then all the login messages are ignored i.e date of last successful and unsuccesfull login

VIIFinally control is passed to login shell, which will run the /etc/profile(read and executed by every login) and $HOME/.profile, $HOME/.profile customized by user, overwrites the variables of /etc/profile.

Smit security, smit user, smit mkuser

List all users, all attributes i.e username, uid, primary group, login shell and so on.#lsuser ALL

To display the user id and group-related information about the smith account in stanza form, enter:#lsuser -f -a id pgrp groups admgroups smithInformation similar to the following appears: smith: ID=2457 pgrp=system groups=system,finance,staff,accounting

To display the user id, groups, and home directory of smith in colon format, enter:#lsuser -c -a id home groups smithInformation like the following appears: # name: ID:home:groups smith: 2457:/home/smith:system,finance,staff,accounting

USER CREATION

File Involved in user creation

/etc/passwd Username is created, with * in password field.

/etc/security/.ids UID is chosen from this file for normal/admin user.

/usr/lib/security/mkuser.default Default user/admin stanza in picked if no argument supplied while creating users i.e primary group, login shell.

/etc/shells All valid shells on scripts are mentioned here, /etc/security/login.cfg’s shell directive pick shells from /etc/shells

Page 57: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

/usr/lib/security/mkusers.sys Script executed for creating users home directory

/etc/security/.profile This .profile is copied into users home directory by /usr/lib/security/mkusers.sys script.

/etc/security/user User Name entries are made here with all default attributes of this file.

/etc/security/passwd No entry is made here if password is not set for user.If password is specified then /etc/passwd’s password field changes to “!” sign indicate that password is in /etc/security/shadow

/etc/security/group valid group to which user belongs is picked from this file.

/etc/security/roles contain predefined roles for users

/etc/security/user.roles Contains the administrative role attributes of users.

/etc/security/limits Defines resource quotas and limits for each user.

/etc/security/environ contains the environment attributes of users.

/etc/nologin if exist then no user can login.

Whenever a mkuser or smit mkuser command is executed the below process come into picture.

Step I

An entry of username is made in /etc/passwd file. When a useradd/mkuser command is executed, /usr/lib/security/mkuser.default file is being used, the user stanza is picked up if ordinary user is being added and admin stanza is being picked up if admin. User is added.

Step IIIf the user ID is not specified, the default user id number is chosen from /etc/security/.ids

file, For admin users, id’s are given starting from 6 above and for normal users starting from 200, or u can say that user id 6 to 199 is fixed for admin. and above for normal users.

Step III

Then the /usr/lib/security/mkusers.sys shell scripts is run during user creation. These scripts create users home directory, copy /etc/security/.profile to users home directory.

Step IV

When a users get created, its ID is disabled in /etc/passwd i.e an *(aestrik) is placed in the password field of /etc/passwd file. As soon as password is set using passwd or smitty * field of a password changes to ! (Exclamation sign).

Page 58: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Users are created in 2 ways1. only mkuser username is command is executed or just username is enter

in smit mkuser, no other parameters are specified.First /usr/lib/security/mkusers.sys script is run to create users home

directory and .profile is also being copied from /etc/securioty/.profile to users home directory.mkuser add’s username in /etc/passwd, put * in password field, then read

the /etc/security/.ids file for available user ID and Since no other parameters are specified while creating user then the

default parameters are picked up from /etc/security/mkusers.default, if users is normal user then user stanza come into picture and if user is admin users then admin

Create USER: - Smit mkuser, users, security

Mkuser add user name in username field of /etc/passwd, put * in password field, take uid from /etc/security/.ids second column and place it in UID field of /etc/passwd, takes the group id from /etc/security/group and place it to GID field, take a home directory and login shell path from /usr/lib/security/mkuser.default and place it to 6th and 7th field of /etc/passwd.

/etc/passwdtest:*:213:1::/home/test:/usr/bin/ksh

/etc/security/.ids8 214 14 202

/usr/lib/security/mkuser.defaultUser: pgrp = staff groups = staff shell = /usr/bin/ksh home = /home/$USER

/usr/lib/security/mkuser.sysscript create users home directory and copy .profile.

After entering password /etc/passwd changes to: -test:!:213:1::/home/test:/usr/bin/ksh

if ROLES is specified while creating user say “test” user is created with roles as manageRoles, then this entry gets added into /etc/security/users.roles as

test: roles = manageRoles

if only expiration date is specified for user roltest, entries get appended into a file /etc/security/user as roltest: admin = false expires = 0320144206

Page 59: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

if the users account is expired and if he is currently working in his home directory, he will not receive any message of expiration until and unless he/she logout or login again.Following message appair if account expires

Login: roltestroltest's Password:3004-302 Your account has expired; please see the system administrator.

To reset expiration go to smit chuser expiration date=0.Just type 0 and press enter, user can login

If “is the account is locked is set to true, entry is appended in /etc/securiuty/user if users logout login again user will receive a following message:-Login: roltestroltest's Password:3004-301 Your account has been locked; please see the system administrator.

After this message, login program wait for 60 seconds by reading file /etc/security/login.cfg’s logintimeout directive, and if user doesn’t do anything then terminal is closed automatically after 60 sec.

logintimeout = 60

If a login prompt is not used within 60 seconds by a user. then that telnet or terminal is cloed automatically after 60 seconds i.e its reads /etc/security/login.cfg’s logintimeout.

For ex : user enter a username/password and system says that username/password is wrong then at that time system will wait for only 60 seconds for users input after that terminal/session closed after 60 sec.

And unsuccessful_login_count in /etc/security/lastlog is incremented by 1, if same user whose account is locked is trying again.roltest: unsuccessful_login_count = 2

if “user can login is specified to false”, then user have to change a password at the time of login i,e Login: roltest roltest's Password:

[compat]: 3004-610 You are required to change your password. Please choose a new one. roltest's New password: Enter the new password again:

Otherwise user cant login. An entry of user can login = false is made in /etc/security/user asroltest: admin = false account_locked = false login = false

Password updated entry is modified in /etc/security/passwd file as roltest: password = USe/fr10rIW4Y lastupdate = 1142889261

Page 60: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

from this lastupdate field you can calculate when the user has changed his/her password.

If Number of FAILED LOGINS before user account is locked is set to 2, then user account is locked, i.e if he enter wrong username/password for atleast 2 times, and then again he is attempting for entering u/n or p/w then his account will get locked, on next login he receive message like :-Login: roltestroltest's Password:3004-303 There have been too many unsuccessful login attempts; please see the system administrator.

Entries are updated in /etc/security/user as: -

And /etc/security/lastlog’s unsuccessful_login_count get incremented by how many times user tried invalid usename/password.

If Login AUTHENTICATION GRAMMAR : - files the only local users of system can only login, no NIS users are accepted, for NIS plus local user compat variable is to be specified

Entry of this field is appended in /etc/security/user’s as: - SYSTEM = "files"

If you specify Valid TTYs: - /dev/pts/10, then a user roltest can login only from /dev/pts/10, any attempt made to login from other terminal will give below message

roltest's Password:3004-309 You are not allowed to access the system via this terminal.

Entries of this change is made in /etc/security/user: - ttys = /dev/pts/10

If u specify : - Days to WARN USER before password expires to 1, then user will receive password expiration message before 1 day.

(expire) EXPIRATION date (MMDDhhmmyy) [0321101506(pwdwarntime) Days to WARN USER before password expires [1] (histsize) NUMBER OF PASSWORDS before reuse [2] (histexpire) WEEKS before password reuse [1] (maxexpired) Weeks between password EXPIRATION and LOCKOUT [1](maxage) Password MAX. AGE [2] (minage) Password MIN. AGE [1] (minlen) Password MIN. LENGTH [4] (minalpha) Password MIN. ALPHA characters [1] (minother) Password MIN. OTHER characters [1]

Password MAX. REPEATED characters [8]

Entries are made in /etc/security/user as: - expires = 0321101506

pwdwarntime = 1

Page 61: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

histsize = 2 histexpire = 1 maxexpired = 1 maxage = 2 minage = 1 minlen = 4 minalpha = 1 minother = 1

if roltest try to change password then histexpire, histsize, minage fields comes into picture, user will get message if above setting is done.

$ passwdChanging password for "roltest"roltest's Old password:roltest's New password: a minimum of 1 elapsed week between changes.3004-320 Only the system administrator can change this password.

If u specify NUMBER OF PASSWORDS before reuse : - to 1, then if current password of user roltest is rolt, then if he tries to change the password first time as rolt then he/she is not allowed and below message is thrown.

roltest's New password:3004-314 Password was recently used and is not valid for reuse.

A user can use password rolt again, until he changes password for atleast 1 time.i.e I mean to say, if user get above message password was recently used, and if user current password is rolt, and password changes action comes, then user cant use the password rolt again, then he hve to user some other password i.e rolp or any other not matching to rolt password, after changing if he willing to change password then he can use the password rolt again, if NUMBER OF PASSWORDS before reuse : - 1, cant use same password for atleast 1 time.

If Password MIN. LENGTH is set to 8Means if user a changing a password, and its password length is less then 8 characters user will get below message.$ passwdChanging password for "roltest"roltest's Old password:roltest's New password:3004-602 The required password characteristics are: a maximum of 8 repeated characters. a minimum of 8 characters in length.

PASSWORD AUTHENTICATION

If roltest user password is changed by root then this action gets updated in /etc/security/passwd file at flags stanza.If ADMCHG flag is there this means root has changes the password for user roltest

Page 62: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

If ADMIN flag is set, then only root can change password for roltest, no one else can.If NOCHECK flag is set, which is default no password change restriction is forced.

roltest: password = nbVJtQoUG0KE. lastupdate = 1143741824 flags = ADMCHG

How to change this flag using command line.pwdadm command is used to do this task.Change /etc/security/passswd flag dircteive using below command.# pwdadm -f ADMIN roltest

To set a password for user susan, a member of the security group enters: # pwdadm roltest Changing password for "roltest" roltest's New password: Enter the new password again:

When prompted, the user who invoked the command is prompted for a password before Susan's password can be changed.

To query the password status for user susan, a member of the security group enters:# pwdadm -q roltestroltest: lastupdate = 1143743135 flags = ADMIN

To change your full name in the /etc/passwd file, type: passwd -f# passwd -f roltest roltest's current gecos: "" Change (yes) or (no)? > y To?>rtest

To use a different shell the next time you log in, type: passwd -s# passwd -s roltest Current available shells: /bin/sh /bin/bsh /bin/csh /bin/ksh /bin/tsh /bin/ksh93 /usr/bin/sh /usr/bin/bsh /usr/bin/csh /usr/bin/ksh /usr/bin/tsh /usr/bin/ksh93 /usr/bin/rksh /usr/bin/rksh93 /usr/sbin/uucp/uucico /usr/sbin/sliplogin

Page 63: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

/usr/sbin/snappd roltest's current login shell: /usr/bin/ksh Change (yes) or (no)? > y To?>/bin/sh

Mkuser command linesTo create the davis user account with the default values in the /usr/lib/security/mkuser.default file, type: mkuser davis

To create the davis account with davis as an administrator, type:mkuser -a davisOnly the root user or users with the UserAdmin authorization can create davis as an administrative user.

To create the davis user account and set the su attribute to a value of false, type: mkuser su=false davis

chuser command linesTo enable user smith to access this system remotely, type: chuser rlogin=true smith

To change the expiration date for the davis user account to 8 a.m., 1 May, 1995, type: chuser expires=0501080095 davis

To add davis to the groups finance and accounting, type: chuser groups=finance,accounting davis

Remove user using rmuser command#rmuser –p roltest-p: - will remove authetication information from the /etc/security/*

Removing user command, remove the user instance from all this below files, home directory is not removed./etc/passwd, /etc/security/passwd, /etc/security/group, /etc/security/user, /etc/security/user.roles, /etc/security/lastlog

GROUPS

List all groups on system# lsgroup ALL# lsgroup -f -a id users adms finance

Nothing else to discuss in groups, since its similar with rest of unix /etc/group.

Page 64: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

VALIDATING ENVIRONMENT

#pwdck command validates the correctness of local authentication information i.e it will check the format, correctness and validity of /etc/passwd and /etc/security/passwd are consisitent with each other, /etc/security/user, /etc/security/login.cfg, if any error found it report and try to fix depend upon user action. -n Reports errors but does not fix them. -p Fixes errors but does not report them. -t Reports errors and asks if they should be fixed. -y Fixes errors and reports them.

To verify that all local users have valid passwords, enter: pwdck -y ALL

#usrck verifies the validity of users defination.

-n Reports errors but does not fix them. -p Fixes errors but does not report them. -t Reports errors and asks if they should be fixed. -y Fixes errors and reports them.

To verify that all the users exist in the user database, and have any errors reported (but not fixed), enter: #usrck -n ALL

To delete from the user definitions those users who are not in the user database files, and have any errors reported, enter: #usrck -y ALL

Checks each username entries in /etc/passwd, /etc/security/passwd, /etc/security/user, /etc/security/limits. Checks are also made on /etc/group, /etc/security/group to ensure the user entries.

#grpck verify the validity of group.Verifies files in /etc/passwd, /etc/security/user, /etc/group and /etc/security/group are consistent

WORKING WITH SCHEDULING JOBS [ CRON/AT/BATCH ]

Started by init from /etc/inittab file.cron:23456789:respawn:/usr/sbin/cron

Due to respawn, if cron daemon gets killed, it get automatically started by init by reading the above line in /etc/inittab file.

Cron event scheduling depends upon /var/adm/cron/queuedefs.

Page 65: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

/var/adm/cron/queuedefs file specifies the maximum number of processes per event type to schedule at one time, the nice value of the event type, and how long to wait before retrying to execute a process.

Each entry in the queuedefs file is of the form: EventType.[Jobs j][Nice n][Wait w]

a Specifies an at command event. b Specifies a batch command event. c Specifies a crontab command event. d Specifies a sync subroutine event. e Specifies a ksh command event. f Specifies a csh command event.

Jobs j Specifies the maximum number of jobs the cron daemon can start at one time. The default value is 100.

Nice n Specifies the nice value for job execution. The default value is 2.

Wait w Specifies the time, in seconds, to wait before attempting to execute the command again. The default value is 60 seconds.

To set the crontab command job queue to handle 200 concurrent jobs with a nice value of 10 and a retry in 120 seconds if the fork subroutine fails.

Ex: - c.200j10n120w

EventType.[Jobs j][Nice n][Wait w]

c. 200 j 10 n 120 w

Schedule is defined in the:- /var/spool/cron/crontabs/

when you use crontab –e command, by default system with execute vi command like this#vi /var/spool/cron/crontabs/root

Depend upon user, last paramater changes i.e if user roltest is executing crontab –e then#vi /var/spool/cron/crontabs/roltest file get create, edited or used by cron.

/var/adm/cron/cron.allow and /var/adm/cron/cron.deny

cron.deny file exist by default, this two files are used to restrict user weather to allow executing cron job or to deny executing cron jobs.

If cron.allow file exist, and if it’s a empty file then no one can execute cron not even root. If cron.allow contain username’s then only listed user are allow to execute cron. If both cron.allow and cron.deny file exist then cron.allow file is used, cron.deny doesn’t come in picture because cron will work for only those user’s whose name is specified in cron.allow for others its denied.

If neither cron.allow or cron.deny exist then only root can execute cron jobs.

Crontab Format: -

Page 66: Simple Aix by Amrik

Understanding IBM AIX O.S easily by ……… Amrik

Minute Hour Date Month Day-of-week Command

(0-59) (0-23) (1-31) (1-12) (0-6 where 0=Sunday 1=Monday, etc)

Safer Method to edit crontab

#crontab –l > /home/cmsadmin/crontab# vi /home/cmsadmin/crontabDo the changes, save file and exit vi#crontab /home/cmsadmin/crontab

AT and Batch command