Consultor Eletrônico



Kbase 17717: A Guide to Raw Devices/Partitions and Progress
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/05/1998
A Guide to Raw Devices/Partitions and Progress

Raw devices are a new feature in 8.2 and it is mainly intended to
bypass the file system and buffering layers and write directly to the
desired physical device.There has been discussion that this produces
a significant performance gain at the cost of risk with regards to
file maintenance. This knowledgebase article will attempt to clarify
some of the fact from the myth.

Raw devices are defined as device files that work in raw mode.This
simply means I/O to raw devices doesn't require buffering, but the I/O
needs to be aligned in sectors.This method typically looks at one disk
as one raw device.Some operating systems, like HP for example, have a
one to one relationship between the raw device and the disk.This means
that once you define the disk as a raw device, then you are truly
using the whole disk and cannot use the next method to be covered,
which is called partitioning.

Raw partitioning is the division of a raw device into segments, or
sectors by creating /dev/rxxxnnn files as an address to part of the
disk. It is encouraged that the person doing the partitioning is very
familiar with which files are with which sectors as overwriting files
and sectors is very easy to do and NOT GOVERNED BY PROGRESS IN ANY WAY

To implement raw devices you need to determine which extent will
reside on which raw device, most effectively in a one to one
relationship. For the databse structure file use the letter "r"
instead of the "d,b, or a" that we typically use to define extents as
follows:

standard: d /usr1/data/dbname.d1 f 1024
raw: d /dev/rdsk/c0d1s0 r 50000

NOTE: The .db file, the variable length data extent and the variable
length bi extent must reside on a file system.This is imperative.
We do NOT support variable extents on raw devices at all.
The extents that reside on the raw device don't have the 2gig file
size limitation that most unix systems have because we are completely
bypassing the file system, HOWEVER Progress cannot write to or read a
file greater than 2gig in size due to 32bit addressing.
All procedures to create the db from the .st file are the same as
always.procopy and prostrct create follow the same rules.

Some examples of Operating System tools to create raw partitions are
as follows:

AIX---> smit
HP/UX-->sam
SCO--> divvy

NOTE: Please consult your OS vendor for more specific information on
creating raw devices and partitions on your operating system.

POTENTIAL BENEFITS

- Processes like idxbuild and bulkload can perform better than ever
because skipping the file system layer takes up less cpu time.

- Files on raw partitions know virtually no size limitations.

- Can help Progress manage i/o better particlarly with 8k blocks *

* Performance gains with 8k blocks are expected especially in the area
of i/o management and should not necessarily be associated with raw
devices.

POTENTIAL CAVEATS

- Overlapping partitions will cause database corruption and there is
NO WAY TO MONITOR THIS THROUGH PROGRESS.

- cpio and tar are not effective backup techniques

- There is no recovery from overwriting db files

- Drive will have to be reformatted and repartitioned to start again.

- Typical errors will involve wrong dbkey/bikey etc.

- Performance gains may be due to 8k block size and not necessarily
due to raw partitioning.

This is documented on p. 2-8 and 2-9 in the System Administration
Guide.

SDA 2/20/98

Progress Software Technical Support Note # 17717