【问题标题】:SoftLayer API: Provision Server with Basic RAID ConfigurationSoftLayer API:使用基本 RAID 配置配置服务器
【发布时间】:2016-10-17 13:08:00
【问题描述】:

如何在通过 API 发出的服务器订单上配置适当的 RAID?

当尝试使用 SoftLayer API 配置服务器时,我们永远无法让它正确配置甚至基本配置。

阅读https://sldn.softlayer.com/blog/hanskristian/ordering-raid-through-api后,假设如果这些标准为真:

  1. 所有磁盘都相同;
  2. 选择了具有特定 RAID 类型的 RAID 控制器;和
  3. 订购了适当数量的磁盘

将按要求配置单个 RAID 组。

问题是,我们多次使用此建议订购服务器,但从未收到正确的配置。更糟糕的是,我们从未收到过相同的配置。

最近,我们想要一台配置了 RAID10 且使用 6 个 SSD 驱动器的服务器。这是提交的有效载荷:

{
    "parameters": [
        {

            "packageId": 271,
            "location": 449494,
            "quantity": 1,
            "hardware": [{
                "hostname": "server-name",
                "domain": "domain.com",
                "primaryBackendNetworkComponent": {
                    "networkVlanId": 1235

                },
                "primaryNetworkComponent": {
                    "networkVlanId": 1234
                }
            }],
            "prices": [
                {"id": 163397},
                {"id": 49447},
                {"id": 141807},
                {"id": 141807},
                {"id": 141807},
                {"id": 141807},
                {"id": 141807},
                {"id": 141807},
                {"id": 29691},
                {"id": 27597},
                {"id": 50243}, 
                {"id": 37622}, 
                {"id": 34807},
                {"id": 32500},
                {"id": 33483},
                {"id": 35310},
                {"id": 27023},
                {"id": 32627},
                {"id": 25014},
                {"id": 50223}
            ]
        }
    ]
}

在提交负载之前,我们对照https://api.softlayer.com/rest/v3/SoftLayer_Product_Order/verifyOrder.json 对其进行了检查,以确保它显示了 RAID 10。它确实如此。

收到服务器贴出这个配置后,RAID卡的拓扑是这样的:

TOPOLOGY :
========

------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type  State BT     Size PDC  PI SED DS3  FSpace
------------------------------------------------------------------------
 0 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 0 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 0 0   0   8:0      9   DRIVE Onln  N  1.091 TB dflt N  N   dflt -
 1 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 1 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 1 0   0   8:1      12  DRIVE Onln  N  1.091 TB dflt N  N   dflt -
 2 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 2 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 2 0   0   8:2      10  DRIVE Onln  N  1.091 TB dflt N  N   dflt -
 3 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 3 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 3 0   0   8:3      13  DRIVE Onln  N  1.091 TB dflt N  N   dflt -
 4 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 4 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 4 0   0   8:4      11  DRIVE Onln  N  1.091 TB dflt N  N   dflt -
 5 -   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 5 0   -   -        -   RAID0 Optl  N  1.091 TB dflt N  N   dflt N
 5 0   0   8:5      14  DRIVE Onln  N  1.091 TB dflt N  N   dflt -
------------------------------------------------------------------------

这甚至与我们要求的不一样。 RAID 10 需要什么有效负载才能可靠且重复地配置它?

更新:在检查通过 API 订购的具有其他 RAID 配置(例如 RAID1)的服务器后,这不仅限于 RAID10。使用 2 个相同磁盘的 RAID1 请求会出现此问题。

【问题讨论】:

    标签: json ibm-cloud-infrastructure


    【解决方案1】:

    在你的payload中缺少raid配置,应该是这样的:

    {
        "parameters": [{
    
            "packageId": 271,
            "location": 449494,
            "quantity": 1,
            "hardware": [{
                "hostname": "server-name",
                "domain": "domain.com",
                "primaryBackendNetworkComponent": {
                    "networkVlanId": 1235
    
                },
                "primaryNetworkComponent": {
                    "networkVlanId": 1234
                }
            }],
            "prices": [{
                "id": 163397
            }, {
                "id": 49447
            }, {
                "id": 141807
            }, {
                "id": 141807
            }, {
                "id": 141807
            }, {
                "id": 141807
            }, {
                "id": 141807
            }, {
                "id": 141807
            }, {
                "id": 29691
            }, {
                "id": 27597
            }, {
                "id": 50243
            }, {
                "id": 37622
            }, {
                "id": 34807
            }, {
                "id": 32500
            }, {
                "id": 33483
            }, {
                "id": 35310
            }, {
                "id": 27023
            }, {
                "id": 32627
            }, {
                "id": 25014
            }, {
                "id": 50223
            }]
        }],
        "storageGroups": [{
            "arraySize": 1200,
            "arrayTypeId": 5,
            "hardDrives": [
                0,
                1,
                2,
                3,
                4,
                5
            ],
            "partitionTemplateId": 6
        }]
    }
    

    在此处查看属性描述:http://sldn.softlayer.com/reference/datatypes/SoftLayer_Container_Product_Order_Storage_Group

    "arrayType: 5"是RAID10的配置,你可以使用这个方法http://sldn.softlayer.com/reference/services/SoftLayer_Configuration_Storage_Group_Array_Type/getAllObjects得到所有的RAID选项

    看到这个:Configuring Softlayer Disk Partitions at Order Time 了解有关分区模板和 RAID 配置的更多信息

    问候

    【讨论】:

    • 所以,这里 SoftLayer 自己的文档是不正确的:sldn.softlayer.com/blog/hanskristian/ordering-raid-through-api?
    • 该文档指出,如果所有磁盘都打算属于该组,则仅指定控制器就足够了。
    • 我不知道我总是像我发给你的例子那样订购 RAID,即使门户网站为任何 RAID 配置配置存储组,你可以通过使用 chrome 的开发人员工具捕获请求来看到这一点
    • 我刚刚测试了这个有效载荷示例,但它不起作用。服务器没有配置 RAID10,而是配置了 RAID0。因此删除已接受的答案。
    • 您可以使用门户为服务器配置 raid10 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 2021-06-15
    • 2018-10-12
    • 2015-06-15
    相关资源
    最近更新 更多