added space efficiency info
This commit is contained in:
		
							parent
							
								
									b476b6808e
								
							
						
					
					
						commit
						cb23cdf343
					
				| @ -11,6 +11,10 @@ const raidCalculations = { | |||||||
|       // total disks * size
 |       // total disks * size
 | ||||||
|       return (num * size) * unit; |       return (num * size) * unit; | ||||||
|     }, |     }, | ||||||
|  |     efficiency(num) { | ||||||
|  |       // uses 100% of space
 | ||||||
|  |       return 100; | ||||||
|  |     }, | ||||||
|     fault(num, size, unit) { |     fault(num, size, unit) { | ||||||
|       return 'None'; |       return 'None'; | ||||||
|     }, |     }, | ||||||
| @ -25,6 +29,10 @@ const raidCalculations = { | |||||||
|       // total size is size of a single drive
 |       // total size is size of a single drive
 | ||||||
|       return size * unit; |       return size * unit; | ||||||
|     }, |     }, | ||||||
|  |     efficiency(num) { | ||||||
|  |       // 1/N
 | ||||||
|  |       return (1 / num) * 100; | ||||||
|  |     }, | ||||||
|     fault(num, size, unit) { |     fault(num, size, unit) { | ||||||
|       // FT = total - 1
 |       // FT = total - 1
 | ||||||
|       return `${num - 1} drive failures`; |       return `${num - 1} drive failures`; | ||||||
| @ -40,6 +48,10 @@ const raidCalculations = { | |||||||
|       // (N-1) * S (one drive for parity)
 |       // (N-1) * S (one drive for parity)
 | ||||||
|       return ((num - 1) * size) * unit; |       return ((num - 1) * size) * unit; | ||||||
|     }, |     }, | ||||||
|  |     efficiency(num) { | ||||||
|  |       // 1 - (1/N)
 | ||||||
|  |       return (1 - (1 / num)) * 100; | ||||||
|  |     }, | ||||||
|     fault(num, size, unit) { |     fault(num, size, unit) { | ||||||
|       // always 1 failure
 |       // always 1 failure
 | ||||||
|       return '1 drive failure'; |       return '1 drive failure'; | ||||||
| @ -55,6 +67,10 @@ const raidCalculations = { | |||||||
|       // (N-2) * S (2 parity)
 |       // (N-2) * S (2 parity)
 | ||||||
|       return ((num - 2) * size) * unit; |       return ((num - 2) * size) * unit; | ||||||
|     }, |     }, | ||||||
|  |     efficiency(num) { | ||||||
|  |       // 1 - (2/N)
 | ||||||
|  |       return (1 - (2 / num)) * 100; | ||||||
|  |     }, | ||||||
|     fault(num, size, unit) { |     fault(num, size, unit) { | ||||||
|       // always 2 drive failures
 |       // always 2 drive failures
 | ||||||
|       return '2 drive failures'; |       return '2 drive failures'; | ||||||
| @ -70,6 +86,10 @@ const raidCalculations = { | |||||||
|       // Total disks (stripe)/2 (mirror)
 |       // Total disks (stripe)/2 (mirror)
 | ||||||
|       return ((num * size) / 2) * unit; |       return ((num * size) / 2) * unit; | ||||||
|     }, |     }, | ||||||
|  |     efficiency(num) { | ||||||
|  |       // 1/2 (1/strips per stripe, 2 in this case)
 | ||||||
|  |       return 50; | ||||||
|  |     }, | ||||||
|     fault(num, size, unit) { |     fault(num, size, unit) { | ||||||
|       // one per mirror
 |       // one per mirror
 | ||||||
|       return '1 drive failure per mirrored set'; |       return '1 drive failure per mirrored set'; | ||||||
|  | |||||||
| @ -28,6 +28,10 @@ const calculatedFaultTolerance = computed(() => { | |||||||
|   return raidCalculations[raidType.value].fault(diskTotal.value, diskSize.value, diskUnit.value); |   return raidCalculations[raidType.value].fault(diskTotal.value, diskSize.value, diskUnit.value); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
|  | const calculatedSpaceEfficiency = computed(() => { | ||||||
|  |   return raidCalculations[raidType.value].efficiency(diskTotal.value); | ||||||
|  | }); | ||||||
|  | 
 | ||||||
| function validateSetup() { | function validateSetup() { | ||||||
|   // validate the selected RAID type against parameters |   // validate the selected RAID type against parameters | ||||||
|   return raidCalculations[raidType.value].validate(diskTotal.value, diskSize.value); |   return raidCalculations[raidType.value].validate(diskTotal.value, diskSize.value); | ||||||
| @ -90,10 +94,18 @@ function validateSetup() { | |||||||
|             <td font-bold width="30%"> |             <td font-bold width="30%"> | ||||||
|               Fault Tolerance |               Fault Tolerance | ||||||
|             </td> |             </td> | ||||||
|             <td :value="calculatedFaultTolerance"> |             <td> | ||||||
|               {{ calculatedFaultTolerance }} |               {{ calculatedFaultTolerance }} | ||||||
|             </td> |             </td> | ||||||
|           </tr> |           </tr> | ||||||
|  |           <tr> | ||||||
|  |             <td font-bold width="30%"> | ||||||
|  |               Space Efficiency | ||||||
|  |             </td> | ||||||
|  |             <td> | ||||||
|  |               {{ calculatedSpaceEfficiency }}% | ||||||
|  |             </td> | ||||||
|  |           </tr> | ||||||
|         </tbody> |         </tbody> | ||||||
|       </n-table> |       </n-table> | ||||||
|     </c-card> |     </c-card> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user