Release date: 
Thursday, 1 March, 2001



Authors/Port authors:

Software RAID for OS/2! Now implements RAID 1 (mirroring), RAID 0 (striping) and chaining. Define array drives from SCSI, IDE, MFM, ... disks using drag and drop. Supports any filesystem available for OS/2. Shares disks with OS/2 partitions.

This software is distributed as compressed package. You have to download and manually install it; if prerequisites are required, you will have to manually install them too.

Manual installation

Program is distributed as ZIP package: download to temporary directory and unpack to destination folder. Add the following line to your Config.Sys BASEDEV=VRAID.FLT /V. See below for download link(s).

Following ones are the download links for manual installation:

VRAID v. 2.3 (1/3/2001, Vitus Jensen) Readme/What's new
-*- Mode: indented-text -*- --- $Id: raid.doc,v 1.2 1998/10/07 23:17:42 vitus Stab $ WHAT IS RAID? RAID (redundant array of inexpensive disks) is the name of some standards to increase the security of the disk subsystem. Those standards were first published by Gibson, Katz and Patterson in 1987. The idea of RAID is to use several disks to build a fast, errorprone subsystem. Usuallay this is done by a special SCSI controller but the possibility of software RAID exists, too. Currently the following RAID levels are commonly available: RAID Description Checksum data disks + chksum disks ------------------------------------------------------------------ - Chaining none 2+ 0 Striping none 2+ - 1 Mirroring none 1+ 1 2 Stripe Set Hamming Code 2+ 1 3 Stripe Set XOR 2+ 1 4 Striping XOR 2+ 1 5 Striping, distributed XOR 2+ 1 Besides these 'official' RAID levels 0-5 may vendor-unique levels exist, for example Mylex RAID 6 (combination of RAID 0 and 1) und 7, Siemens RAID 7 and many more. Every vendor has his standards and most standards are different from standards used by other vendors. RAID 0 - Striping Using two of more disks data is written alternating to all disks. Transfer rate is usually much higher as a single disk. Access time remains the same. RAID 0 is no real RAID as it doesn't provide redundancy. Danger of data loss is greater than a single disk as with a loss of a single disk the whole subsystem is worthless. You don't need a controller to implement RAID 0, this can by done by a piece of software. This isn't a real professional solution but may nevertheless increase data throughput. RAID 1 - Mirroring A simple way to increase data security: write all data to two or more disks. So all disks contains exactly the same data. Disadvantage of this very simple solution: 50 or more percent more room for your data and --- in case of two disks --- in case both disks report different data (write error): which disk is correct? Some vendors name disk mirroring as disk duplexing of two or more controller are involved. Even in case a controller fails there is redundancy. To increase data security RAID 1 is often combined with some other RAID level. RAID 2 - Stripe Set Similar to RAID 0 all data is distributed to two or more disks. But an additional disk is used to write a hamming code. A hamming code detects errors and may repair smaller errors. Because a seperate disk is used to store the hamming code RAID 2 is slow. And because modern disks use a kind of error correction code by themself RAID 2 is now obsolete. RAID 3 - Stripe Set A performance-optimized aternative to RAID2. It's working on a stripe set and write errorcorrecting to a seperate disk, too. The difference is that a XOR-operations is used as the errorcorrecting code. When a disk fails it's contents may be calculated from the data of all other disks. There is no dataloss. RAID3 is fast but it's speed is reduced by transfering small, non-continuous blocks. Good for large transfer sizes. RAID 4 - Sector Striping RAID 4 does striping on basis of sector instead of bytes as RAID 3 does. There is also a seperate disk with checksum calculated by XOR-operations. Because this seperate disk is a bottle-neck RAID 4 isn't as fast as expected, at least when writing or in case of a disk failure (you don't need the XOR-values when reading). RAID 5 - Sector Stripng, Distributed Checksums This RAID level combines features from RAID 0, 3 and 4. Data is striped in sector-sized units on several (at least three) disks. Error correction is achieved by using XOR-operations. The calculated checksum isn't saved on a seperate disk but distributed along with the data sectors. Therefore there is no single disk acting as a bottle-neck. RAID 5 combines high security and good performance and is used for this reasons. Because the XOR-operation over large amounts of data is still something to take it's time RAID 5 is often implemented as hardware RAID with a special controller using a seperate unit to calculate it. Besides allowing to continue working with a failed disk RAID features some additional techniques to restructure redundancy after a failure: Hot Swapping Change a disk while keeping the machine up to replace a failed device. The failed device is stopped, changed and a replacement is automatically setup and filled to contain the data once stored on the failed device. There is no need to shutdown a running server. Be aware that hot swaaping need special connectors to avoid electrical damage. Hot Standby Add an additional disk to the system which is used to replace a failed device without sysop interaction. Until it is needed the disk is stopped. Reference Translated from german HDDFAQ (copright: PC POWER GmbH, Holger Ehlers@2:241/1050 aka 2:241/1020.20), available from 2:2474/424 as hddfaq.zip).
Key Generator for VRAID v. 2.3 (, Vitus Jensen) Readme/What's new
The development of VRAID effectively stopped in 2001 however every once in a while someone comes around and asks for a key. This archives contains an OS/2 exe to create your own key (as in: genkey.exe 2 "George Clooney") and the sourcecode of the generator. Complete sourcecode of all my OS/2 drivers is available at Netlabs.
Source code drive v. 2.3 (, Vitus Jensen) Readme/What's new
-= Some notes about the sourcecode for my OS/2 drivers =- 1. DRIVERS 1.1. dbuffer Filter driver doing double buffering like used by AHA154X.ADD /DBUFFER. Those ISA busmasters could only address 16 MByte and dbuffer was designed to those controllers usable in systems with more RAM. Never released. 1.2. mini Sourcecode for a minimal driver. Used to test features (or find missing features) of the OS/2 kernel. Just playground. 1.3. perf Filter driver to modify SCSI mode pages during system mode. Most notable write cache and tag queue reordering. This driver was released two times to the general public as Public Domain. scsiopt.doc contains instructions how to compile this code and which tools and compiler versions are needed/supported. That text can be applied to all of my drivers, they all use the same tools/compilers (best supported are Microsoft C/C++ 7.0 and DMake 4.0). 1.3.1. RCS tags None :-( There should have been some as the driver was released but unfortunately I forgot to do this. See scsiopt.history for histoy. 1.4. sleep A driver to stop SCSI disks when they weren't accessed for some time and to automatically restart them on next access. Released as shareware, free for private use. 1.4.1 RCS tags Some. See dsksleep.history for all released versions, RCS tags directly relate to them: DSLEEPv0_98 dsksleep 0.98 DSLEEPv0_95 dsksleep 0.95 DSLEEPv0_93 etc DSLEEPv0_92 DSLEEPv0_91 DSLEEPv0_80 DSLEEPv0_70 DSLEEPv0_60 There are some changes after DSLEEPv0_98 but those are only related to DDK changes, nothing functionally. The latest sourcecode revision is compilable. 1.5. raid vraid, software raid for OS/2. Implements RAID 0, 1 and chaining as a Filter Driver. The latest sourcecode is not buildable as it contains very incomplete work to add RAID 5. Maybe reading an exiting array in non-error mode would work but there is no build (easy: just write), error state or fault state support. To compile you have to checkout a tagged version, here are tags: vrflt031113 fix released 13/11-2003 vrflt010903 fix released 03/09-2001 PREV010803 VRAIDv0_85 VRAIDv0_84 published in VRAID23.ZIP VRAIDv0_82 published in VRAID22.ZIP VRAIDv0_70 VRAIDv0_60 VRAIDv0_51 VRAIDv0_50 VRAIDv0_40 VRAIDv0_30 ALPHA1 1.6. raid/doc IPF sourcecode for online documentation. Needs ipfpp.exe and ipfc.exe. There are some internal docs, too. The online documentation cotains list which driver and setup program were published together. VRAID_REL23 published in VRAID23.ZIP REL22 published in VRAID22.ZIP VRAIDv0_70 VRAIDv0_60 VRAIDv0_51 VRAIDv0_50 VRAIDv0_40 VRAIDv0_30 ALPHA1 1.7. raid/Setup Graphical setup program to create or administrate arrays. Write in C++ directly to the Presentation Manager API. The latest sourcecode should not be used as it contains (possible incomplete) changes for RAID 5. Try one of those tags: VSETUPv0_84 VSETUP_82 VSETUPv0_80 VSETUPv0_71 VSETUPv0_70 VSETUPv0_60 VSETUPv0_52 VSETUPv0_51 VSETUPv0_50 VSETUPv0_20 2. Support ... None. Well, I will try to answer questions raised about the sourcecode but would prefer to do this in a public manner, searchable by google etc. This rules out private messages. I hate web forums, so don't ask about commtalk or similar. The best solution for me would be usenet, comp.os.os2.setup.storage is pretty low in traffik so this could be the place. 3. LAYOUT Sourceode uses TABs, a TAB being the move to the next tabstop, tabstops are 0 8 16 24 and so on. Just like any console would display the text (type file.c) If you want to preserve the layout and are using emacs you could use the following snippet. It's not totally correct as "case" labels should be positioned like normal "goto" labels, 2 left from labelled code but I never got around to fix whatever emacs 19.26 changed in that compartment. ; --- I prefer a certain style in all C dialects (C, C++, Obj-C). Similar ; --- to Stroustrups but more like Emacs 19.25... ; --- cc-mode.el version (defun my-c-mode-common-hook () (c-set-style "stroustrup") ; bsd | stroustrup | whitesmith ;; other customizations can go here ; (c-set-offset 'case-label '*) ; (c-set-offset 'statement-case-intro '*) ; (c-set-offset 'label '*) (setq comment-column 48) (setq c-tab-always-indent nil) ) (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) (setq c-electric-pound-behavior '(alignleft))
Source code lib v. 2.3 (, Vitus Jensen)
VRAID.FLT v. 2.3 (, Vitus Jensen) Readme/What's new
Updated VRAID.FLT for VRAID23.ZIP package. Faster rebuild and array sizes above 64GB. The development of VRAID effectively stopped in 2001 however some small changes were done later and are included here.
VRAID.FLT v. 2.3 (, Vitus Jensen) Readme/What's new
Updated VRAID.FLT for VRAID23.ZIP package. Faster rebuild and array sizes up to 502GB. The development of VRAID effectively stopped in 2001 however twice some small changes were done later. This version of the driver is the last version given out (in 2005). I found no feedback fom anyone whether it works and there is a note that it is (the disk layout I presume) not compatible with older versions, so only use it if you desparately need larger arrays.
Record updated last time on: 31/07/2018 - 10:56

Translate to...

Add new comment