Softlayer_Hardware: как настроить несколько групп хранения raid10 на одном наборе дисков
Я работаю над автоматизацией обеспечения Softlayer экземплярами из неизолированного металла. У меня есть подходящий json для заказа аппаратного обеспечения, но я не могу понять, как указать расположение дисков.
Ниже в ответе Нельсона показана ключевая часть процесса: использование инструментов разработчика Chrome для получения идентификаторов цен и конфигурации рейдов.
На портале я заказал тестовую систему, указав 4 накопителя Western Digital WD RE на 4000 ГБ и установив группы хранения со стандартным linux 1 ТБ плюс дополнительный раздел 7 ТБ.
И используя инструменты разработчика Chrome для записи полученного 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 как базовый linux на 1 ТБ и 1 как fs на 7 ТБ, смонтированный в /disk1
Теперь нам нужно выяснить синтаксис для создания того же самого через python. API SoftLayer: Provision Server с базовой конфигурацией RAID показывает, как создать базовый раздел raid10 linux. А настройка разделов диска Softlayer во время заказа расширяет это, показывая, как создавать различные конфигурации. Однако ни один из них не показывает, как создать конфигурацию выше. А вторая утверждает, что это было невозможно в то время.
Это порядок json без блока storageGroup. Обратите внимание, что идентификаторы цен доступны в инструменте разработчика Chrome, который обсуждается в ответе.
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? }
]
}
Вот окончательный вариант StorageGoup JSON, который был создан из вышеприведенных инструментов Chrome Dev. Это произвело желаемую конфигурацию рейда:
"primaryDiskPartitionId": 1,
"storageGroups": [
{
"arraySize": 1000,
"arrayTypeId": 5,
"hardDrives": [ 0, 1, 2, 3 ],
"partitionTemplateId" : 1
},
{
"arraySize": 7000,
"arrayTypeId": 5,
"hardDrives": [ 0, 1, 2, 3 ]
}
]
1 ответ
Это конфигурация, я думаю, вы делаете (было бы проще, если бы вы опубликовали скриншот)
для этого конфигурация групп хранения:
"storageGroups": [
{
"arraySize": 8000,
"arrayTypeId": 5,
"hardDrives": [ 0, 1, 2, 3 ],
"partitionTemplateId": 4
}
]
В любом случае, если это не конфигурация, вы можете увидеть конфигурацию, которую использует портал управления с инструментами разработчика Chrome.
вам просто нужно перейти к контролю, выполнить всю конфигурацию для вашего заказа и, прежде чем нажать "СОХРАНИТЬ НА ЗАКАЗ", откройте инструменты разработчика, выберите вкладку "Сеть" и установите флажок "Сохранить журнал":
затем нажмите кнопку "Сохранить в заказ" и найдите следующий запрос 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]
}
]