我正致力于配置Softlayer裸机实例的自动化。 我有一个适当的json订购硬件,但我似乎无法弄清楚如何指定磁盘布局。
尼尔森的以下答案显示了该流程的关键部分:使用Chrome开发人员工具获取价格ID和raid配置。
在门户网站上,我订购了一个测试系统,指定4个4000GB Western Digital WD RE驱动器并配置存储组 使用1 TB标准linux加上7 TB附加分区。
使用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 ]
}
]
答案 0 :(得分:1)
这是我认为你正在做的配置(如果你发布截图会更容易)
表示存储组配置为:
"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;复选框:
然后点击&#34;保存到订单&#34;按钮并查找以下POST请求
打开它
您将看到存储组配置,然后您只需在请求中翻译相同的配置即可。如果您遇到麻烦,请将您在开发人员工具中看到的配置发送给我
<强>更新强>
根据你的形象,正确的配置似乎是这样的:
"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]
}
]