TSM Component:
• Administrative Interface
• Tivoli Storage Manager Server
• Scheduler
• Backup-Archive Client
• Tivoli Storage Manager Database
• Tivoli Storage Manager Recovery Log
• Storage Pools
• Policy-Based Management
• Tape Library
Administrative Interface:
- Command line
- graphical user interfaces (GUI)
- And a Web client.
Tivoli Storage Manager Database:
- The Tivoli Storage Manager database is the heart of IBM Tivoli
Storage Manager. Without the database, data cannot be restored.
- Tivoli Storage Manager Database about each file, raw logical volume, or database that it backs up, archives, or migrates.
- This information includes the file name, file size, management class, copy group, location of the files in Tivoli Storage Manager Server storage, and all other information except for the data. Data is stored in a storage pool.
DEFine DBVolume <volume_name> Formatsize=<format size>
EXTend DB mb
- Reduce only the assigned capacity REDUCE DB size
Define dbcopy formatsize=
- Format DB volume & DB copy (give the cmd from cosole dir )
Dsmfmt –m –db formatsize=
Ex : dsmfmt –db e:\TSMdata\server1\db1copy.dsm 12
M-mega byte (default)
G-Giga byte
Tivoli Storage Manager Recovery Log:
- The recovery log keeps track of all changes made to the database, so that if a system outage were to occur, a record of the changes would be available for recovery.
- Two modes : Normal mode & Roll forward mode
DEFine LOGVolume <volume_name> Formatsize=<format size>
EXTend LOG mb
- Reduce only the assigned capacity REDUCE LOG size
Define logcopy formatsize=
- Format Log volume & Log copy volume
dsmfmt –log e:\TSMdata\server1\log1.dsm 12
Space trigger:
- Administrator-defined space triggers tell the Tivoli Storage Manager server when to increase the size of the database or log. Space triggers define a maximum utilization percentage.
DEFine SPACETrigger db fullpct=80 spaceexpansion=20
expansionprefix=c: \tsmserver\ mirrorprefixes=“f:\mirvol1\, g:\mirvol2\“ max=10000
Query SPACETrigger db
Backing Up the Database:
• Regular (also known as full) backup
• Incremental backup (default)
• Database out-of-band (Snapshot) backup
Backup DB DEVclass=devclassname Type=Incremental|Full|DBSnapshot
VOLumenames=volname(s) Scratch=Yes|No Wait=Yes|No
Policy-Based Management:
Policy is used to centrally manage backup-archive client data. Policies are created by the administrator and stored in the database on the server.
• Which files are eligible for back up?
• Which files are eligible for archive
• Where the data is stored
• How long the data is retained
• How many versions are retained?
- Policy Domain – A group of nodes managed by the same set of policy constraints as defined by the policy sets. A node may only be defined to one policy domain per server. A node may be registered to more than one server.
def domain description=”specify the des”
- Policy Set – A collection of management class (MC) definitions. A policy domain may contain a number of policy sets. However, only one policy set in a domain can be active at any time.
Before activate, verify that a policy set is complete and valid prior to activating.
- Management Class (MC) – A collection of management attributes.
There are two sets of MC attributes, one for backup and one for archive.
assign DEFMGmtclass < classname>
- Copy Group – Management attributes describing backup and archive characteristics. There is a backup copy group and an archive copy group.
define copygrouup standard destination= verexist=4 retextra=3 verdelete=30 retonly=365
Copy group Parameters:
- Destinations=– Specifies the name of the primary storage
pool where backup data is to be stored.
- VERExists=verevalue – Specifies no. of versions can be maintain for current backup files.
- VERDeleted=verdvalue – Specifies the maximum number of backup
versions to maintain for files that are deleted from the client file system
- RETExtra=retevalue – Specifies how long days Tivoli Storage Manager
Will maintain an inactive backup files.
- RETOnly=retovalue – How long days to maintain the last backup version of the file, that has been deleted or has expired from the client's file system.
- FREQuency=freqvalue – Specifies the minimum interval, in days, between successive backups.
Backup-Restore Functionality with IBM TSM:
Backup – Creates a copy of a file to protect against the operational loss or destruction of that file. Customers control backups by defining the backup
Frequency and number of versions.
Restore – Places backup copies of files into a customer-designated system or workstation after the loss of a file. By default, the most recent version of each active file requested is replaced.
Four levels of backup available: byte level (small amounts of data, like on notebook computers), block level (bigger amounts of data, between 40 KB and 2 MB), file level (normal files), and image level (includes file system and files).
IBM TSM uses Progressive Backup Methodology, also known as incremental backups.
Archive – Creates a copy of a file or set of files for vital record retention of data,
Such as patent information, financial information, or customer records. Customers control archive by defining the retention period. This feature enables customers to keep unlimited archive copies of a file.
Retrieve – Allows users to copy an archive file from the storage pool to the
Workstation. The archive copy in the storage pool is not affected.
Administrator Management Capabilities:
System Privileges- All Tivoli Storage Manager Server tasks.
Storage Privileges- Database, recovery log, and storage pool management.
Operator Privileges- Commands for server availability, resource usage, and physical media management.
Policy Privileges- Policy domain, policy set, management class, copy group, and schedule management.
Analyst Privileges- Review and reset server statistics.
Node Privileges- Client actions, product usage and activity monitoring.
.
TSM MODES:
- Console
- Mount
- interactive (batch mode)
- Non – interactive
TSM Solutions to Common Problems:
Feature
|
Description
|
Solution Provided
|
Administration
Center
|
Task-orientated interface to manage one or more Tivoli Storage Manager servers.
|
Centralized management of enterprise systems.
|
Backup Sets
|
Collection of backed up files, stored as a Single object on specific media.
|
Can be used for client restore without network or server.
|
Collocation
|
Enables the server to keep all files belonging to a client node or a client file space on a minimal number of sequential access storage
volumes.
|
Reduces restore times
|
Collocation
Groups
|
Allows creation of a group of nodes for collocation.
|
Does not require a tape for every node. Faster restore time.
|
Reclamation
|
As data expires and leaves unused space on the tape, the remaining data can be moved, allowing the empty space to be reused.
|
Efficient tape utilization and reduced restore times (fewer tapes).
|
IBM Tivoli Storage Manager Licensing:
• tsmbasic.lic
• tsmee.lic
• dataret.lic
Basic Components Installed by IBM TSM:
• TSM Database – Contains information abt policy, schedules & the activity log.
• Recovery Log – Contains information about all changes to the database.
• DSMSERV.OPT – Contains server configuration options.
• DSMSERV.DSK –Identifies the fully-qualified name of the database and recovery log.
• BACKUPPOOL – Disk storage for backed up data.
• ARCHIVEPOOL – Disk storage for archived data.
• SPACEMGPOOL – Disk storage for data.This is occasionally used to save
Space.
• DISKPOOL – Disk storage on Windows only.
• FILPOOL1 – Disk storage with a device class of file, on Windows (using the
minimal configuration option) only.
• POLICIES – The two default Policy Sets are named ACTIVE and STANDARD.
• SCHEDULES – The two default schedules are named DAILY_INCR &
WEEKLY_INCR.
Files Created during Installation:
Database files db1.dsm db.dsm (aix)
Database size 13 MB 17 MB
Recovery log file log1.dsm log.dsm (aix)
Recovery log size 9MB 9MB
Diskpool disk1.dsm
Diskpool size 8MB
Backup.dsm, archive.dsm & spcmgmt.dsm (these are all aix) in window these and all point out into Diskpool.
Verify that the Server Installation Has Completed Successfully
initserv.log (Windows)
install.trace (AIX)
Installations can be verified on Windows systems by viewing the initserv.log file. AIX systems, examine the contents of theinstall.trace file located in the TSM server installation directory. (/usr/tivoli/tsm/server/bin)
Logging on to the Integrated Solutions Console (ISC):
http://:8421/ibm/console
TSM tree-Health monitor –Add server connections (to add server to ISC)
Admen cmd line: dsmadmc
Client cmd line: dsmc
Configure SCSI Devices::
Mt – tape device, lb- library device and Op – optical device
Ex: mt1.1.0.1 (SCSI id, lun, bus & port)
Define a library & path:
define library libtype=scsi
define path srctype=server desttype=library device=lb1.1.0.0
Define a driver & path:
Define drive elem=autodetect
Define path srctype=server desttype=driver library= device=mt1.1.1.0
Q lib
Checking In & out Volumes:
Checkin libvol search=bulk or yes status=scratch or private checklabel=barcode
Checkout libvol remove=bulk
Q libvol
AUDIT LIBRARY command will update the library inventory.
Ex: audit library checklabel=barcode
Storage Pool Hierarchies:
~ Device Classes:
A device class represents a set of storage devices. (Specify the storage media).
Tivoli Storage Manager uses the device class to determine which device and storage Volume type to use to:
• Store backup, archive, or space-managed data (primary storage pools).
• Store copies of primary storage pool data (copy storage pools).
• Store database backups.
• Export or import Tivoli Storage Manager Data.
One device class can be associated with multiple storage pools. Each storage pool is associated with only one device class. Each device class is characterized by its device type, which indicates the type of storage volumes that are used to store data.
For random access storage, TSM supports only the DISK device class.
For sequential access storage. Like as: DLT, LTO, DTF, FILE etc,
Def devc devtype=dlt format=drive library=
(Means device class is library ie.sequencial access device class)
Def devc devtype=file
(The storage volumes are actually files. Means the storage volume contains only the file system of the server).
Backup, archive, spcmgmt data can be stored in to Disk pool. (Windows)
FILPOOL1 – A default storage pool of device class FILEDEV1 created as a
default Next Storage Pool for both ARCHIVEPOOL and BACKUPOOL when
You install a minimum configuration on Windows only.
~ Defining a device class for a library
Device class important parameters:
FORMAT defines the format in which the device reads and writes.
MOUNTRetention specifies the amount of time a tape will wait mounted in
a drive after it becomes idle. The default of 60 minutes is generally too long
for most environments. If your environment requires frequent tape mounts,
set a low value (5 or 10 minutes).
MOUNTWait specifies the length of time the server will wait for a tape to
Become available in the library (that is, either mounted in a drive for a manual
Library, or checked in to an automated library).
MOUNTLimit
Specifies the maximum number of sequential access volumes that can be
Simultaneously mounted for the device class. This parameter is optional. The default is DRIVES. You can specify a number from 1 to 4096.
Define devclass LTO2-OFFSITE library=3582LIB devtype=lto
format=ultrium2c estcapacity=400G mountretention=10 mountwait=20 mountlimit=drives
~ Defining a sequential file device class
Device classes that use a type of FILE allow a random access (disk) device to
simulate a sequential device. The most common uses for sequential file storage
pools are:
- If your library has a single drive and you want to perform reclamation on
volumes in storage pools using this library. When you specify the reclamation
pool for the storage pools, it must be a primary sequential storage pool. To
use a disk for reclamation you must create a sequential file storage pool.
- Creating database backups for keeping on-site and online.
Define devclass seqf-dc devtype=file mountlimit=25 maxcapacity=256M
directory=/tsm/stg/seqf
MOUNTLimit
Specifies the maximum number of files that can be simultaneously open for input/output. This parameter is optional. The default value is 20. You can specify a number from 1 to 4096. If the device class will be shared with a storage agent (by specifying the SHARED=YES parameter), drives will be defined or deleted to match the mountlimit value.
If you plan to use the simultaneous write function, ensure that sufficient drives are available for the write operation. If the number of drives needed for a simultaneous write operation is greater than the value of the MOUNTLIMIT parameter for a device class, the transaction will fail.
~ Defining Storage Pools:
Define stgpool <poolname> < devclass>
UPDate STGpool poolname.
Query STGpool poolname.
Query stgpool - display information about one or more storage pools.
ü Important options are:
MAXSCRatch: This is the number of scratch tapes that the storage pool can
use before it reports that it is full. For automatic libraries, set MAXSCRatch to
a large number (for example, 1,000,000) to avoid the server stopping when
the storage pool is “full.” For manual libraries with a small capacity, set
MAXSCRatch to a more realistic number.
REClaim: This is the percentage of empty space on a tape volume that will
cause the server to try to consolidate the remaining data to another volume.
Set REClaim to 100 to disable reclamation. This requires scheduled
reclamation for the storage pool.
COLlocate: This specifies whether the server tries to keep data from a client,
group of clients, or client file spaces on as few tapes as possible (known as
collocation). Collocation reduces the number of tapes required to perform
restore operations, but will increase the number of tapes required to store
client data.
RECLAIMSTGpool: If your library has only one drive, you will need another
primary sequential storage pool to permit reclamation. Note that we do not
recommend single drive configurations for production systems
~ Defining Storage Pool Volumes:
Define volume command to assign a random or sequential access volume to be used for storage within an existing storage pool.
ü Define Random access volume:
DEFine VOL BACKUPPOOL /usr/tivoli/tsm/dbvol/vol6
Formatsize=200
DEFine VOL ARCHIVEPOOL E:\dbvol\vol5 F=200
ü Define sequential access volume:
DEFine VOLume <poolname>< volname>
ü Deleting Storage Pools and Volumes:
DELete VOLume volumename
DELete STGpool poolname
Q content - whether the data is available or not.
Tivoli Storage Manager does not allow you to delete a volume that contains data unless you Specify DISCARDDATA=YES on thedelete volume command.
delete volume <volumename> DISCARDData=YES
Do not delete a storage pool that is specified as a destination for a management class or copy group in the ACTIVE policy set.
~ Migration:
Automatic data movement between storage pools. For each storage pool, define low and high migration thresholds.
Default migration value is: 90(max threshold) & 70 (low threshold).
The migrate stgpool command allows you to manually run migration for a random access or sequential access primary storage pool.
~ Reclamation:
Ensure that the amount of data that is migrated from a disk storage pool is a multiple of the capacity of a tape volume in the next storage pool. Automatic data movement is also used to free up space on tape volumes by consolidate active data from fragmented tape volumes onto a single volume, leaving the original volumes available for reuse. This process is known asreclamation.
The reclaimstgpool command allows you to manually run reclamation for a sequential access primary or copy storage pool. (For offsite)
Reclamation process set into define stgpool by default value is 60%
~ Collocation:
Enables the server to keep all files belonging to a client node or a client file space on a minimal number of sequential access storage volumes.
Collocation options are:
– Group
– Node
– Filespace
– No
The define collocgroup command is used to define the group for collocation.
define collocgroup groupname
The define collocmember command is used to add a client node to a collocation group.
Define collocmember groupname node1, node2
~ Move Data:
You can move files from one volume to another volume in the same or a different storage pool using the MOVE DATA command.
Ex: To move data from stgvol.1 to stgvol.2 in the same storage pool,
move data stgvol.1 stgvol.2
The move nodedata command can be used to move data in a sequential access storage pool for one or more nodes and canalso be used to move data for a node to a different storage pool.
~ Cached Disk Storage Pool:
Using cached disk storage pools can increase restore performance by avoiding tape
mounts. The benefit is seen for restoring files that were recently backed up. If the disk
pool is large enough to hold a day's worth of data, then caching is a good option
~ TSM LOGS:
~
dsmserv.err
Server error file. This is located on the same machine as the server. The dsmserv.err file is typically in the server install directory. Note that the storage agent may also create a dsmserv.err file to report errors.
dsmsvc.err
Server error file. This is located on the same machine as the server. This file is equivalent to the dsmserv.err file when TSM is running as a Windows Service.
dsmcrash.log, dsmcrash.dmp
Client crash log. This is located on the same machine as the client. These files are for Windows clients only. dsmcrash.log and dsmcrash.dmp contain diagnostic information that is written to the client machine when a client program exception (crash)
occurs.
dsmerror.log
Client error log. This is located on the same machine as the client.
dsmsched.log
Client log for scheduled client operations. This is located on the same machine as the client.
db2diag.log, db2alert.log, userexit.log
DB2(R) log files. These are useful when troubleshooting a problem when backing up a DB2 database using Tivoli Data Protection for DB2. These are located on the same machine where DB2 is installed. See the DB2 documentation for additional
information about what is in these files and where they are located.
tdpess.log
Default error log file used by the Data Protection for Enterprise Storage Server(R) client.
tdpexc.log
Default error log file used by the Data Protection for Exchange client.
dsierror.log
Default error log for the client API.
domdsm.log
Default error log for the Data Protection for Domino client.
tdpoerror.log
Default error log for the Data Protection for Oracle client.
tdpsql.log
Default error log for the Data Protection for SQL client.
~ SERVER CRASH:
Steps:
- See the log file. If the TSM will crash due to log file means(disk,db.recoverylog)
- De format the log files by using dsmfmt cmd and pass the cmd from console dir.
- Restore the db frm the volume by using dsmserv restore db (pass from server dir)
Server crash due to mishandling, application or hard disk failure
- Reinstall the product
- Define db and log file.
- Restore the last back up of DB (go to step 3 in above )
*************************************************************************
How do I know how much data will be transferred by TSM?
q occupancy - TSM admin console shows the total MB moved.
**********************************************************************
How to define the Schedule:
Define schedule type=Admn/client action=incr/selective/image
Objects=”specify the path” startdate=”date” starttime=:time” duration=1 units=hr/min/days
Ex:
define schedule CMDOMAIN CMFILES type=client description='Scheduled backup
CM files' action=incremental options=-subdir=yes objects='"/lbosdata/*" starttime=23:00
******************************************************************************
define association
************************************************************************
AIX# nohup /usr/tivoli/tsm/client/ba/bin/dsmc sched &
**************************************************************************
Add client node:
Register node domain= - register new node
Update node< node_name> domain= - change domain
Remove node domain= - delete the node in the domain
Ex: reg node labnode2 domain= backdelete=yes compress=yes
*****************************************************************************
Deleting client data’s:
It deletes the client’s backed up and archived data from the Tivoli Storage Manager server, including any data in copy storage pools.
delete filespace
***************************************************************************
Why were the files not compressed?
The files are compressed only if the size of the files is > 12,000 bytes
****************************************************************************
Set the Server Name
TSM administrative command line set the servername:
Set servername TSM_Server1
****************************************************************************
query stgpool
display all the stg pools
ARCHIVEPOOL, BACKUPPOOL, DISKPOOL, FILPOOL1, SPACEMGPOOL
****************************************************************************
query schedule
This lists the default schedules. DAILY_INCR, WEEKLY_INCR
****************************************************************************
Query devclass
DISKPOOL storage pool is a Random or Sequential device class. And if we configured sequential device class it will shows including this dev class.
****************************************************************************
What is the volume name of the DISKPOOL volume?
C:\TSMDATA\SERVER1\DISK1.DSM
***************************************************************************
How to define the volume inside the Stg pool?
Def vol backuppool C:\tsmdata\server1\disk2.dsm f=2
Define volume command to create a volume for archivepool called
disk3.dsm.
def vol archivepool C:\tsmdata\server1\disk3.dsm f=25
Use the command line to update the status of DISK2.DSM to READONLY/read write access
update vol c:\tsmdata\server1\disk2.dsm access=readonly/readwrite
*****************************************************************************
Query the BACKUPPOOL storage pool (format=detail) to verify if the
cache migrated files option is enabled.(its not enable give the cmd :
update stg cache=yes)
query stgpool backuppool format=detail
***************************************************************************
Policy domain procedure
1. Define the policy domain with a name of newbackup
define domain newbackup desc=”backup of newfiles directory” backretention=360
2. Define the policyset with a name of newpolicy
define policyset newbackup newpolicy desc=”The policy set”
3. Define the management class with a name of newbackclass
define mgmtclass newbackup newpolicy newbackclass
4. Assign newbackclass as the default mgmt class for the newbackup domain.
assign defmgmtclass newbackup newpolicy newbackclass
5. Define a backup copy group for the newbackup domain.
def copygroup newbackup newpolicy newbackclass standard
type=backup dest=backuppool verexists=3 verdelete=3 retextra=120 retonly=365
6. Define an archive copygroup called standard.
define copygroup newbackup newpolicy newbackclass standard
type=archive dest=archivepool retver=365
7. Validate the policyset.
validate policyset newbackup newpolicy
8. Activate the policyset.
activate policyset newbackup standard
What options are currently configured in dsm.opt?
Basic configuration options, for example:
commmethod TCPIP
tcpport 1500
TCPSERVERADDRESS localhost
Server crash:
1. Server error file (dsmserv.err):
When the server crashes, it will append information to the file dsmserv.err which is located in the same directory where the server is installed
· For the Windows(R) platform, if the server is running as a service, then the file will be named dsmsvc.err.
- System image (core file):
Memory is currently in use by TSM at the time of the failure. In each case this file should be renamed to prevent it from being overwritten by a later crash.
For Windows systems before 5.2, a drwtsn.dmp file is created if the system is configured to do so. From a DOS prompt issuedrwtsn32 -i to enable dumps. Beginning with 5.2 the dump will be performed automatically through a system API call. If the server is running as a service the dump file will be called dsmsvc.dmp. Otherwise, the dump will be called dsmserv.dmp.
Server messages that are indicative of a crash are ANR7836S and ANR7838S
Did the server run out of space…?
The ITSM server's primary function is to store data. If it runs out of space in the database or storage pools, operations may fail.
To determine if the database is out of space, issue QUERY DATABASE. If the "%Util" is at or near 100% then more space should be defined. Typically, if the database is running out of space, other server messages will be issued indicating this. To add more space to the database, allocate one or more new database volumes, define them to the server using DEFINE DBVOL, and then extend the available database space using EXTEND DB.
To determine if a storage pool is out of space, issue QUERY STGPOOL. If the "%Util" is at or near 100%, then more storage space should be made available. Typically, if operations fail because a storage pool is out of space, other server messages will be issued indicating this. To add more space to a DISK storage pool, allocate one or more new storage pool and define them to the server using DEFINE VOLUME. To add more space to a sequential media storage pool, evaluate the tape library and determine if more scratch tapes can be added. If so, add the additional scratch volumes to the library and update the MAXSCR parameter for the storage pool using UPDATE STGPOOL command.
Did a scheduled client operation fail?
Scheduled client operations are influenced by the schedule definitions on the server as well as the scheduling service (ITSM Scheduler) being run on the client machine itself.
In many cases, if a schedule changes on the server, it may require the scheduling service on the client to be stopped and
___________________________________________________________________
How to build up the TSM Server while it will crash?
Stop the TSM service which is running the system service. (D:\TIVOLI\TSM\Server\dsmsvc.exe)
Reinstall the software and define the DB
TSM has 3 types of schedules and they are as follows:
- Backup/Archive Schedules
- Admin Schedules
- Command Schedules
Backup/Archive Schedules are used to automate client backups and archives. Upon defining a backup/archive schedule you will have to associate the client(s) to that schedule for the backups/archives to run automated. Admin Schedules are designed to automate admin tasks such as checking in and out copy pool tapes, backing up the DB, copying data from the primary backup pools to the copy pools, adjusting reclamation limits during backups if you only have 2 tape drives, etc. Command Schedules are designed to execute commands on the clients or server to accomplish tasks that could include stopping and starting an application such as Oracle, Dazel, etc, check for dsm processes running, sending email confirmations, etc.
_____________________________________________________________________
Starting the Server
To start the server, complete the following steps:
1. Change to the /usr/tivoli/tsm/server/bin directory from an AIX session. Enter: cd /usr/tivoli/tsm/server/bin
2. Start the server by entering: dsmserv
Note: If the server does not start, set the ulimit parameter to unlimited. For example, ulimit -d unlimited
When the server is started, IBM Tivoli Storage Manager displays the following information:
ü Product licensing and copyright information
ü Processing information about the server options file
ü Communication protocol information
ü Database and recovery log information v Storage pool volume information
ü Server generation date v Progress messages and any errors encountered during server initialization.
Automating Server Startup:
The IBM Tivoli Storage Manager server is initially configured to start automatically upon system reboot. The following command is issued during installation to modify the /etc/inittab and enable the server to start automatically:
mkitab autosrvr:2:once:"/usr/tivoli/tsm/server/bin/rc.adsmserv >/dev/console 2>&
Disable automatic startup: rmitab "autosrvr"
To start the server running in the background: nohup dsmserv quiet &
Start the client scheduler. For the schedules to become active for a workstation, a user must start the scheduler from the node. dsmc schedule
Query status
tsm: ATLANTIC> query status
Storage Management Server for AIX-RS/6000 - Version 5, Release 3, Level 2.2
Server Name: ATLANTIC
Server host name or IP address:
Server TCP/IP port number: 1500
Crossdefine: Off
Server Password Set: No
Server Installation Date/Time: 02/03/06 15:18:02
Server Restart Date/Time: 02/14/06 14:07:22
Authentication: On
Password Expiration Period: 90 Day(s)
Invalid Sign-on Attempt Limit: 0
Minimum Password Length: 0
Registration: Closed
Subfile Backup: No
Availability: Enabled
Accounting: Off
Activity Log Retention: 1 Day(s)
Activity Log Number of Records: 457
Activity Log Size: <1 m="" o:p="">1>