diff --git a/src/tools/raid-calculator/raid-calculator.service.ts b/src/tools/raid-calculator/raid-calculator.service.ts index f9b5809c..9cb0d8a5 100644 --- a/src/tools/raid-calculator/raid-calculator.service.ts +++ b/src/tools/raid-calculator/raid-calculator.service.ts @@ -11,7 +11,7 @@ interface RaidType { const raidCalculations: { [key: string]: RaidType } = { raid_0: { - about: 'RAID 0 splits data evenly across 2 or more disks without redunancy or fault tolerance creating one large storage space. More info: Wikipedia', + about: 'RAID 0 splits data evenly across 2 or more disks without redunancy or fault tolerance creating one large storage space.', requirements: 'RAID 0 requires at least 1 disk', validate(num: number, size: number, stripeSize: number) { return num > 1; @@ -29,7 +29,7 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_1: { - about: 'RAID 1 consists of an exact copy of the data (mirror) across two or more disks. The array will operate as long as at least one drive is operational. More info: Wikipedia', + about: 'RAID 1 consists of an exact copy of the data (mirror) across two or more disks. The array will operate as long as at least one drive is operational.', requirements: 'RAID 1 requires at least 1 disk', validate(num: number, size: number, stripeSize: number) { return num > 1; @@ -48,7 +48,7 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_5: { - about: 'RAID 5 uses block level striping with parity. This allows for fault tolerance with a storage reduction equal to one drive for the parity information. More info: Wikipedia', + about: 'RAID 5 uses block level striping with parity. This allows for fault tolerance with a storage reduction equal to one drive for the parity information.', requirements: 'RAID 5 requires at least 3 disks', validate(num: number, size: number, stripeSize: number) { return num >= 3; @@ -67,7 +67,7 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_6: { - about: 'RAID 6 is similiar to RAID 5 but with an additional parity block. This allows for an additional disk failure at the cost of storage reduction equal to two drives. More info: Wikipedia', + about: 'RAID 6 is similiar to RAID 5 but with an additional parity block. This allows for an additional disk failure at the cost of storage reduction equal to two drives.', requirements: 'RAID 6 requires at least 4 disks', validate(num: number, size: number, stripeSize: number) { return num >= 4; @@ -86,7 +86,7 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_10: { - about: 'RAID 10 is a stripe of mirrors (RAID 1 + RAID 0). Each set of drives is mirrored and striped together so that each drive in the set is fault tolerant within the group. More info: Wikipedia', + about: 'RAID 10 is a stripe of mirrors (RAID 1 + RAID 0). Each set of drives is mirrored and striped together so that each drive in the set is fault tolerant within the group.', requirements: 'RAID 10 requires an even number of at least 4 disks', validate(num: number, size: number, stripeSize: number) { return num >= 4 && num % 2 === 0; @@ -105,7 +105,7 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_50: { - about: 'RAID 50 stripes multiple RAID 5 arrays together (RAID 5 + RAID 0). Each RAID 5 set can sustain a single drive failure. More info: Wikipedia', + about: 'RAID 50 stripes multiple RAID 5 arrays together (RAID 5 + RAID 0). Each RAID 5 set can sustain a single drive failure.', requirements: 'RAID 50 requires at least 6 disks with 3 minimum per stripe. Stripes must contain an equal number of disks.', validate(num: number, size: number, stripeSize: number) { return num >= 6 && stripeSize >= 3 && num % stripeSize === 0; @@ -127,8 +127,8 @@ const raidCalculations: { [key: string]: RaidType } = { }, }, raid_60: { - about: 'RAID 60 stripes multiple RAID 6 arrays together (RAID 6 + RAID 0). Each RAID 6 set can sustain a two drive failures. More info: Wikipedia', - requirements: 'RAID 50 requires at least 8 disks with 4 minimum per stripe. Stripes must contain an equal number of disks.', + about: 'RAID 60 stripes multiple RAID 6 arrays together (RAID 6 + RAID 0). Each RAID 6 set can sustain a two drive failures.', + requirements: 'RAID 60 requires at least 8 disks with 4 minimum per stripe. Stripes must contain an equal number of disks.', validate(num: number, size: number, stripeSize: number) { return num >= 8 && stripeSize >= 4 && num % stripeSize === 0; }, diff --git a/src/tools/raid-calculator/raid-calculator.vue b/src/tools/raid-calculator/raid-calculator.vue index 1a6c5604..0c6438a5 100644 --- a/src/tools/raid-calculator/raid-calculator.vue +++ b/src/tools/raid-calculator/raid-calculator.vue @@ -83,7 +83,10 @@ function validateSetup() {
{{ raidRequirements }}
- +
+ {{ raidInfo }}
+ For more information on RAID types, see Wikipedia.
+