benson@odi.com (Benson I. Margulies) (11/26/90)
I've been reading about logical volumes. Say one was responsible for porting an application to AIX 3.1 that needed to do fast disk I/O. Say that the application was accustomed, on Other Unix Systems, to using the character device interface to a disk partition to get optimal performance, and perhaps even knew how to read tracks or cylinders. (not so easy on a SCSI disk, but let that pass). Now, on AIX, one has two choices. If one can monopolize an entire disk, one can use the hdisk device, and proceed as in the past. An entire disk is a lot. To get less than a disk, one must take a logical volume. It appears that there is no such thing as a contiguous logical volume, so any track and cylinder cleverness would be right out, right? A logical volume can span multiple physical volumes. A Smart Program would try to take advantage of this by overlapping seeks between the disks. Is there as way to know which PP's are on which disk? Logical volumes can expand. Would a polite data storage program grow logical volumes automatically, or provide out-of-space errors until the administrator chlv'd some more space into existence? Has anyone out there any useful experience with all of this? -- Benson I. Margulies
hbergh@oracle.nl (Herbert van den Bergh) (11/27/90)
In article <1990Nov26.011745.9448@odi.com> benson@odi.com (Benson I. Margulies) writes: >I've been reading about logical volumes. Well, we did more than that... >Say one was responsible for porting an application to AIX 3.1 that >needed to do fast disk I/O. Like a database ? Or a sequential log file? ... >Now, on AIX, one has two choices. If one can monopolize an entire >disk, one can use the hdisk device, and proceed as in the past. We tested this. Our database writes to a sequential log file which has to be synced after each write. On non-AIX3 systems, we use raw disk partitions to achieve this. The disk isn't used for anything else to make sure the heads don't move between writes. On AIX 3.1, using a raw disk device this gives a 15% performance LOSS compared to writing to a file in a Journalled File System (the file is pre-allocated, the disk the file is on is not used for anything else). >An entire disk is a lot. To get less than a disk, one must take >a logical volume. Things get worse if you use a raw logical volume or a file on a disk that has paging accesses (executables that get paged in or a paging section). File access and access to raw logical volumes get worse because the heads may be moved between writes. In addition to that, writing to raw logical volumes seems to confuse the Virtual Memory Manager, so disk access can no longer be optimized for that device. >It appears that there is no such thing as a contiguous logical volume, >so any track and cylinder cleverness would be right out, right? >A logical volume can span multiple physical volumes. A Smart Program >would try to take advantage of this by overlapping seeks between >the disks. Is there as way to know which PP's are on which disk? I think the VMM is such a smart program. Doing it yourself will not gain anything. >Logical volumes can expand. Would a polite data storage program grow >logical volumes automatically, or provide out-of-space errors until >the administrator chlv'd some more space into existence? No comments on this one. >Has anyone out there any useful experience with all of this? These are our experiences. I hope they are useful to you. If anyone has other experiences, please post. >-- >Benson I. Margulies -- Herbert van den Bergh, Email: hbergh@oracle.nl, hbergh@oracle.com ORACLE Europe