Softlayer_Hardware:如何在同一组磁盘上设置多个raid10 storageGroup

时间:2017-07-31 22:27:55

标签: ibm-cloud-infrastructure raid

我正致力于配置Softlayer裸机实例的自动化。 我有一个适当的json订购硬件,但我似乎无法弄清楚如何指定磁盘布局。

尼尔森的以下答案显示了该流程的关键部分:使用Chrome开发人员工具获取价格ID和raid配置。

在门户网站上,我订购了一个测试系统,指定4个4000GB Western Digital WD RE驱动器并配置存储组 使用1 TB标准linux加上7 TB附加分区。

Storage group configuration

使用chrome dev工具捕获生成的json,我看到了存储组配置

data[Order][primaryDiskPartitionId]:1
data[Order][storageGroups][storage-group-1][arrayTypeId]:5
data[Order][storageGroups][storage-group-1][arraySize]:1000
data[Order][storageGroups][storage-group-1][lvmFlag]:0
data[Order][storageGroups][storage-group-1][partitionTemplateId]:1
data[Order][storageGroups][storage-group-1][hardDrives][]:0
data[Order][storageGroups][storage-group-1][hardDrives][]:1
data[Order][storageGroups][storage-group-1][hardDrives][]:2
data[Order][storageGroups][storage-group-1][hardDrives][]:3
data[Order][storageGroups][storage-group-2][arrayTypeId]:5
data[Order][storageGroups][storage-group-2][arraySize]:7000
data[Order][storageGroups][storage-group-2][lvmFlag]:0
data[Order][storageGroups][storage-group-2][hardDrives][]:0
data[Order][storageGroups][storage-group-2][hardDrives][]:1
data[Order][storageGroups][storage-group-2][hardDrives][]:2
data[Order][storageGroups][storage-group-2][hardDrives][]:3

当系统物质化时,我看到磁盘如下:

/dev/sda6        1006602  1850    953597   1% / <------ sda - 1Tb linux parttion set
/dev/sda1            237    68       158  30% /boot 
/dev/sdb1        6553650    54   6487522   1% /disk1 <- sdb - remaining 7Tb 

磁盘结构

-> fdisk -l /dev/sda
Disk /dev/sda: 1000 GiB, 1073741824000 bytes, 2097152000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disklabel type: dos
Disk identifier: 0xab520822

Device     Boot   Start        End    Sectors   Size Id Type
/dev/sda1  *       2048     499711     497664   243M 83 Linux
/dev/sda2        501758 2097149951 2096648194 999.8G  5 Extended
/dev/sda5        501760    2500607    1998848   976M 82 Linux swap / Solaris
/dev/sda6       2502656 2097149951 2094647296 998.8G 83 Linux

Partition 2 does not start on physical sector boundary.

-> fdisk -l /dev/sdb
Disk /dev/sdb: 6.3 TiB, 6926708506624 bytes, 13528727552 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disklabel type: gpt
Disk identifier: ADFDCBE8-94E3-4C23-85C6-D43F332AA1BB

Device     Start         End     Sectors  Size Type
/dev/sdb1   2048 13528725503 13528723456  6.3T Linux filesystem

SL创建了一个raid 10设备,将其分成2个独立的磁盘,1个作为1 TB linux basic,1个作为7 TB fs安装在/ disk1

现在我们需要弄清楚通过python创建相同的语法。 SoftLayer API: Provision Server with Basic RAID Configuration显示了如何创建基本的raid10 linux分区。 Configuring Softlayer Disk Partitions at Order Time扩展了它以展示如何创建各种配置。 但是,两者均未显示如何创建上述配置。第二个说当时不可能。

这是没有storageGroup块的json订单。请注意,价格ID在答案中讨论的chrome dev工具中可用。

worker_json = {
    "quantity" : 1,
    "packageId": 551,
    "location" : datacenterId,
    "hardware" : [
        {
            "hostname": module.params.get('hostname'),
            "domain": module.params.get('domain'),
            "primaryNetworkComponent": {
                "networkVlanId": public,
            },
            "primaryBackendNetworkComponent": {
                "networkVlanId": private,
            }
        }
    ],
    "prices": [
        { "id": 171621 },
        { "id": 177669 },
        { "id": 165723 },
        { "id":  29691 ,  "item" : {"description": "RAID 10 - SATA/SAS - MegaRAID SAS 9361-8i" }},
        { "id":  49841 ,  "item" : {"description": "Hard Drive 4000GB Western Digital WD RE" }},
        { "id":  49841 ,  "item" : {"description": "Hard Drive 4000GB Western Digital WD RE" }},
        { "id":  49841 ,  "item" : {"description": "Hard Drive 4000GB Western Digital WD RE" }},
        { "id":  49841 ,  "item" : {"description": "Hard Drive 4000GB Western Digital WD RE" }},
        { "id":  33483 },
        { "id":  35686 },
        { "id":  50359 }, 
        { "id":  34807 },
        { "id":  27023 },
        { "id":  35310 },
        { "id":  50223 },
        { "id":  25014 },
        { "id":  34996 },
        { "id":  32500 }
    ],
    "storageGroups": [
        { What to put here? }
    ]
}

这是从上面的chrome dev工具输出创建的最终storageGoup json。这产生了所需的团队配置:

    "primaryDiskPartitionId": 1,
    "storageGroups": [
        {
            "arraySize": 1000,
            "arrayTypeId": 5,
            "hardDrives": [ 0, 1, 2, 3 ],
            "partitionTemplateId" : 1
        },
        {
            "arraySize": 7000,
            "arrayTypeId": 5,
            "hardDrives": [ 0, 1, 2, 3 ]
        }
    ]

1 个答案:

答案 0 :(得分:1)

这是我认为你正在做的配置(如果你发布截图会更容易)

enter image description here

表示存储组配置为:

"storageGroups": [
    {
    "arraySize": 8000,
    "arrayTypeId": 5,
    "hardDrives": [ 0, 1, 2, 3 ],
    "partitionTemplateId": 4
    }
]

无论如何,如果不是配置,您可以看到控制门户正在使用的配置chrome developer tools

你只需要控制你的订单的所有配置,然后按下&#34; SAVE TO ORDER&#34;打开开发人员工具,选择&#34; Network&#34;选项卡和标记&#34;保留日志&#34;复选框:

enter image description here

然后点击&#34;保存到订单&#34;按钮并查找以下POST请求

enter image description here

打开它

enter image description here

您将看到存储组配置,然后您只需在请求中翻译相同的配置即可。如果您遇到麻烦,请将您在开发人员工具中看到的配置发送给我

<强>更新

根据你的形象,正确的配置似乎是这样的:

"primaryDiskPartitionId": 1,
"storageGroups": [{
            "arraySize": 1000,
            "arrayTypeId": 5,
            "hardDrives": [0, 1, 2, 3],
            "lvmFlag": 1,
            "partitionTemplateId": 1
        },
        {
            "arraySize": 7000,
            "arrayTypeId": 5,
            "hardDrives": [0, 1, 2, 3]
        }
    ]