Short: V0.91-Never Backup again! Mirror or Chain HDr. Author: TrzilB@Geocities.com (Bernhard Trzil) Uploader: TrzilB Geocities com (Bernhard Trzil) Type: disk/misc Architecture: m68k-amigaos Support Homepage: http://www.geocities.com/SiliconValley/Peaks/9901/ This is freeware, but PLEASE E-Mail me if you use it frequently. Info: ----- SoftRaid! You dont have to backup your data anymore! With MIRRORed partitions there is never a dataloose. With this short (<8k) device (fully written in assembler) you can "connect" your little or big harddrives. You can choose between safety or speed. Do you know that problem ? You have "old" "little" harddrives and are rid of choosing a drive to witch you write your data ? SoftRaid is your solution! You can choose between these options (or mix it): 1. MIRROR Mirror your data up to 8 units (partitions) Never loose your data again! 2. CHAIN Connect your partitions and access up to 8 partition as one. 3. RAID Interleave up to 8 partitions. The speedup is 1.5-3. (Depends on your Hardware). Its like a real partition, you can use it with Movieshop or Shapeshifter too. Installation: ------------- There is no installer script. You have to copy the "SoftRaid.device" to you "devs:" directory. (Amiga Shell: "copy SoftRaid.device to devs:") If you want to use SmartFilesystem, then you have to unpack and install the "SFS_BETA.lha". There are also demonstration mountlists and env variables in the archive. PLEASE be careful! You could destroy your data ! In this archive included: ------------------------- SoftRaid.device Device itself SoftRaid.readme Want you reading now ExampleMountList The three example mountlists Raid0 Example EnvArc configfiles. Raid1 Raid2 SFS_BETA.lha SmartFilesystem (c) 1998 by John Hendrikx (on AmiNet too) DevInfo Tool to get info from your partitions for SoftRaid. CheckMirror Check Mirrors for differences (Script witch ses dd command) CopyMirror Copy from one to another partition. (To create a mirror form a existing partition (with data). dd Like Unix dd command (c) by Bruno Costa. cmp Compares to files. By Usage: ------ For each "pseudo" partition, you need a mountlist and a file called "Envarc:RaidX". (X stands for the partition [0-7]) There is a tool named "DevInfo" in the archive. With this tool you can get the data of your partitions for SoftRaid. DEVINFO ------- Example of DevInfo: ****************************************** 8.Work:SoftRaid> Devinfo raid1 Search raid1.. AmigaDOS information on device `raid1': Boot Priority: 0 Filesystem: 0x444F5305 Block size: 128 longwords Sectors per Block: 1 Blocks per track: 236 Number of heads: 1 Interleave: 0 Starting cylinder: 2 Ending cylinder: 2240 Blocks reserved at start: 2 Blocks reserved at end: 0 Number of buffers: 128 Memory Type for Buffers: 0x1 Max bytes transferred: 16777215 Address Mask: 0x7FFFFFFC Try to open Device cybscsi.device Unit 5. DEVICE cybscsi.device Info: Sector Size: 512 Total Sectors: 528879 Cylinders: 528879 Number of Heads: 1 Sectors per Track: 1 Memory Type for Buffers: 0x1 Flags: 0x0 Info for SoftRaid: Offsetsector : 472 Length in sectors : 528404 ***************************************** The data you need is "Offsetsector" (in this example 472) and "Length in sectors" (example 528404). CHECKMIRROR: ------------ Syntax: CheckMirror DevName1,offset,length,DevName2,offset2 Compares device with name "DevName1" on offset "offset1" with "DevName2" with offset "offset2". This is a dosscript witch need PIPE: to be mounted and the dos command "dd" and "cmp". (included in this archive) COPYMIRROR: ----------- Syntax: CopyMirror DevName1,offset,length,DevName2,offset2 Copy from "DevName1" with offset "offset1" to DevName2 with offset "offset2". This is a dosscript witch need PIPE: to be mounted and the dos command "dd". (included in this archive) THE ENVARC files: ----------------- Syntax for the Envarc files: [RAIDx:y:z...|CHAIN|MIRROR],dev1,unit1,offset1,length1[,dev2,unit2,offset2,length2].... "offset" is the offset of the partition in sectors (512 bytes). "length" is the length of the partition in sectors (512 bytes). Chainmode uses all Length parameters. Mirrormode uses only the first length.(The others will be ignored) Raidmode ignores all length parameters. (Its on you to make the mountlist right) "x:y:z..." are the interleave blocks per partition in sectorsize (512 bytes) THE MOUNTLISTS: --------------- The geometry of the "pseudo" SoftRaid partition isnt important. The only important thing is the SIZE, given with the mountlist, and that the start is allways at 0. (LowCyl=0) Now some EXAMPLES: ------------------ Example 1: ---------- ENVARC: echo >EnvArc:Raid0 "MIRROR,cybscsi.device,4,472,528404,cybscsi.device,5,472,528404" MOUNTLIST: Mirror: Device = SoftRaid.device Unit = 0 LowCyl = 0 HighCyl = 2238 Surfaces = 1 BlocksPerTrack = 236 BufMemType = 0 StackSize = 8192 Mount=1 Filesystem = l:SmartFilesystem Flags = 0 Reserved = 2 Interleave = 0 GlobVec = -1 DosType = 0x53465300 Buffers = 256 Mask = 0x7ffffffc Maxtransfer = 0x7fffffff # Makes a pseudo partition "Mirror:" with (2238[HighCyl]-0[LowCyl]+1)*236[BlocksPerTrack]= 528404 sectors= /2048= 258MB Example 2: ---------- ENVARC: echo >EnvArc:Raid1 "CHAIN,cybscsi.device,4,472,528404,cybscsi.device,5,472,528404,cybscsi.device,3,4518,824894" MOUNTLIST: Chain: Device = SoftRaid.device Unit = 1 LowCyl = 0 HighCyl = 7973 Surfaces = 1 BlocksPerTrack = 236 BufMemType = 0 StackSize = 8192 Mount=1 Filesystem = l:SmartFilesystem Flags = 0 Reserved = 2 Interleave = 0 GlobVec = -1 DosType = 0x53465300 Buffers = 256 Mask = 0x7ffffffc Maxtransfer = 0x7fffffff # Makes a pseudo partition "Chain:" with (7973[HighCyl]-0[LowCyl]+1)*236[BlocksPerTrack]=1881864 sectors= /2048= 918.9MB Example 3: ---------- ENVARC: exho >EnvArc:Raid2 "RAID64:128,cybscsi.device,4,472,264202,cybscsi.device,5,472,528404 MOUNTLIST: Raid: Device = SoftRaid.device Unit = 2 LowCyl = 0 HighCyl = 3357 Surfaces = 1 BlocksPerTrack = 236 BufMemType = 0 StackSize = 8192 Mount=1 Filesystem = l:SmartFilesystem Flags = 0 Reserved = 2 Interleave = 0 GlobVec = -1 DosType = 0x53465300 Buffers = 256 Mask = 0x7ffffffc Maxtransfer = 0x7fffffff # Makes a pseudo partition "Raid:" with 64 sectorblocks (32kByte) on cybscsi.device Unit 4 and 128 sectorblocks (64kByte) on cybscsi.device Unit 5. (3357[HighCyl]-0[LowCyl]+1)*236[BlocksPerTrack]=792488 sectors= /2048= 387MB The use sectors on Units will be 792488/(64[SectorBlocksUnit4]+128[SectorBlocksUnit5[)=4127 (104 rest) 4127*64[SectorBlocksUnit4]= 264128 sectors on Unit 4 4127*128[SectorBlocksUnit5]= 528256 sectors on Unit 5 We have 104 rest, so we have to split it between 64[Unit4] and 128[Unit5]. This is 32 sectors for Unit4 and (104-32)=72 on Unit 5. We have the sum of 264128+32=264160 for Unit 4 and 528256+72=528328 for Unit 5. Example 4: ---------- Just for fun... A HD-Disc and a Hardrive in raidmode. It realy works... but the speed improofment isnt to high. ENVARC: exho >EnvArc:Raid3 "RAID1:128,trackdisk.device,0,0,1760,cybscsi.device,4,472,225280 MOUNTLIST: RaidDisc: Device = SoftRaid.device Unit = 2 LowCyl = 0 HighCyl = 5159 Surfaces = 1 BlocksPerTrack = 44 BufMemType = 0 StackSize = 8192 Mount=1 Filesystem = l:SmartFilesystem Flags = 0 Reserved = 2 Interleave = 0 GlobVec = -1 DosType = 0x53465300 Buffers = 256 Mask = 0x7ffffffc Maxtransfer = 0x7fffffff # Makes a pseudo partition "RaidDisc:" with 1 sectorblocks (0.5kByte) on trackdisk.device Unit 4 and 128 sectorblocks (64kByte) on cybscsi.device Unit 4. (5159[HighCyl]-0[LowCyl]+1)*44[BlocksPerTrack]=227040 sectors= /2048= 110.9MB P.S.: I hope this wasnt so complex.. If you want to use FastFilesystem or AFS then you have to replace the Filesystem name and the DosType. (for Fastfilesystem 0x444f5305) Enjoy it.... TRZIL Bernhard TrzilB@Geocities.com Homepage: www.gecities.com/SiliconVallay/Peaks/9901 V0.9: Inital release. V0.91: Bug in DevInfo. Dint multiply with Heads(surfaces). COPYRIGHT This program is copyrighted by Trzil Bernhard. It may be freely distributed if and only if the documentation and the executables are provided in original form. It may be included in Public Domain/Shareware compilations, as long as no fee is charged, and may also be uploaded to BBS's or network services like BIX and CompuServe if the author will be contacted. DISCLAIMER The author makes no warranty of any kind with respect to this product and explicitly disclaims any implied warranties of merchantability or fitness for any particular purpose.