behzadsp/php-raid

RAID (磁盘冗余阵列) 计算工具。

v2.0.1 2023-02-09 08:27 UTC

This package is auto-updated.

Last update: 2024-09-09 11:42:53 UTC


README

PHP通用RAID(独立磁盘冗余阵列)库。

此库可用于构建表示RAID的对象。如果您想在一个数据中心环境或作为大型项目的一部分来管理和跟踪服务器,这很有用。

库本身仅允许您创建RAID及其底层驱动器的对象表示。它为您管理各种RAID类型的总可用容量,以及热备盘,以及针对特定RAID级别的最小驱动器数量等通用RAID验证。

当前兼容的RAID类型包括

  • RAID 0
  • RAID 1
  • RAID 5
  • RAID 6
  • RAID 10

使用方法

要创建RAID对象,您应该确定要创建哪种类型的RAID,并使用一个包含\behzadsp\Raid\Drive对象的数组来初始化它。

use behzadsp\Raid\Drive;
use behzadsp\Raid\RaidTen;
use behzadsp\Raid\RaidZero;

$drives = [
    new Drive('1TB', 'ssd', '61cf6218-f378-4c7b-8b81-c09e84a1a86f'),
    new Drive('1TB', 'ssd', 'c76bee9a-dce6-433c-acc3-b82947335dd2'),
    new Drive('1TB', 'ssd', '31125db2-6043-4955-818a-af9d259905eb'),
    new Drive('1TB', 'ssd', '302db7a1-bb2c-4fb9-a9e1-30636e8f312c'),
];

$raidTen = new RaidTen($drives);

echo $raidTen->getCapacity(); // 2199023255552
echo $raidTen->getCapacity(['human' => true]); // 2 TB

$raidZero = new RaidZero($drives);
echo $raidZero->getCapacity(); // 4398046511104
echo $raidZero->getCapacity(['human' => true]); // 4 TB

如果您正在进行某种类型的库存管理,并将驱动器(SSD,HDD)存储在某种持久的关系数据库管理系统(RDBMS)中,并希望在该系统中开始保持RAID的持久状态,那么此库非常有用。

如果您想做一些很酷的事情,比如自动配置数据中心/环境中的硬件或软件RAID,这也是一个很好的起点。

文档

即将推出。目前请参阅测试

贡献

我欢迎并感激。从仓库分叉并从'develop'分支创建一个功能分支,然后提交一个pull request。