Ir para o conteúdo principal

Particionamento personalizado e RAID (CPR)

O Equinix Metal™ oferece um recurso de Particionamento e RAID Personalizados (CPR), que você especificar a configuração do disco ao você um servidor reservado.

Para usar o CPR, crie um objeto JSON que:

  • Indica quais discos você deseja formatar.
  • Como você quer que esses discos sejam formatados.
  • Qual sistema de arquivos deve ser criado nos discos.
  • Onde montar a partição depois de criada.

Use os exemplos para começar a criar o seu próprio.

Requisito de servidor reservado

Um servidor reservado é necessário porque o esquema exato da unidade deve ser conhecido previamente para que a personalização funcione por meio da API. O recurso de Particionamento e RAID Personalizados não está disponível para instâncias sob demanda.

Provisionamento com RCP

Para usar o CPR, você precisará implantar um servidor de suas reservas de hardware por meio da API. Quando você enviar sua solicitar POST para o endpoint projects/<id>/devices, você precisará enviar sua configuração CPR como um objeto JSON com o parâmetro storage no corpo da solicitar.

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/projects/{id}/devices" \
-d '{
"hardware_reservation_id":"<reservation_id>",
"hostname": "<your-hostname>",
"plan": "<plan_slug>",
"operating_system": "<os_slug>",
"storage": "<CPR_JSON_definition>",
}'

Exemplos gerais

Inicialização RAID 1, DADOS RAID 1

  • 2 discos em RAID1 para a partição root.
  • 2 discos em RAID1 para a partição data.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdc",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdd",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": 1,
"name": "/dev/md/root"
},
{
"devices": [
"/dev/sdc1",
"/dev/sdd1"
],
"level": 1,
"name": "/dev/md/data"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/root",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/data",
"format": "ext4",
"point": "/data",
"create": {
"options": [
"-L",
"DATA"
]
}
}
}
]
}

Inicialização RAID1, DADOS RAID0

  • 2 discos em RAID1 para a partição root.
  • 2 discos em RAID0 para a partição data.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdc",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdd",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": 1,
"name": "/dev/md/root"
},
{
"devices": [
"/dev/sdc1",
"/dev/sdd1"
],
"level": 0,
"name": "/dev/md/data"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/root",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/data",
"format": "ext4",
"point": "/data",
"create": {
"options": [
"-L",
"DATA"
]
}
}
}
]
}

Somente inicialização RAID1

  • 2 discos em RAID1 apenas para a partição root.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": 1,
"name": "/dev/md/root"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/root",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
}
]
}

Exemplos por servidor

c3.small.x86

O c3.small.x86 vem com 2 discos rígidos de 480 GB. Este exemplo pega um desses discos, cria três partições (BIOS, swap e raiz) e formata a partição de swap como swap e a partição raiz como ext4.

{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "SWAP",
"number": 2,
"size": "3993600"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
}
],
"filesystems": [
{
"mount": {
"device": "/dev/sda3",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/sda2",
"format": "swap",
"point": "none",
"create": {
"options": [
"-L",
"SWAP"
]
}
}
}
]
}

c3.médio.x86

  • 2 discos em RAID1 para a partição root.
  • 2 discos em RAID1 para a partição data.
  • 2 discos em RAID0 para a partição swap.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "SWAP",
"number": 2,
"size": "8G"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "SWAP",
"number": 2,
"size": "8G"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
},
{
"device": "/dev/sdc",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdd",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda3",
"/dev/sdb3"
],
"level": 1,
"name": "/dev/md/root"
},
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": 0,
"name": "/dev/md/swap"
},
{
"devices": [
"/dev/sdc1",
"/dev/sdd1"
],
"level": 1,
"name": "/dev/md/data"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/root",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/data",
"format": "ext4",
"point": "/data",
"create": {
"options": [
"-L",
"DATA"
]
}
}
},
{
"mount": {
"device": "/dev/md/swap",
"format": "swap",
"point": "none",
"create": {
"options": [
"-L",
"SWAP"
]
}
}
}
]
}

c3.medium.x86 (sem swap)

  • 2 discos em RAID1 para a partição root.
  • 2 discos em RAID1 para a partição data.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "ROOT",
"number": 2,
"size": 0
}
]
},
{
"device": "/dev/sdc",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdd",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": 1,
"name": "/dev/md/root"
},
{
"devices": [
"/dev/sdc1",
"/dev/sdd1"
],
"level": 1,
"name": "/dev/md/data"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/root",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/data",
"format": "ext4",
"point": "/data",
"create": {
"options": [
"-L",
"DATA"
]
}
}
}
]
}

s3.xlarge.x86

O s3.xlarge possui 2 SSDs de 960 GB, 12 HDDs de 8 TB e 2 NVMe Flash de 256 GB. Neste exemplo, os 2 SSDs de 960 GB serão usados por ROOT e SWAP no RAID 1, e os 12 SSDs de 8 TB serão usados por DATA no RAID 10. As unidades NVMe são reservadas para outros fins.

{
"disks": [
{
"device": "/dev/sdn",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "SWAP",
"number": 2,
"size": "8G"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
},
{
"device": "/dev/sdm",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": 4096
},
{
"label": "SWAP",
"number": 2,
"size": "8G"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
},
{
"device": "/dev/sdj",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdc",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdi",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdk",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdf",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdd",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdg",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sde",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdl",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
},
{
"device": "/dev/sdh",
"wipeTable": true,
"partitions": [
{
"label": "DATA",
"number": 1,
"size": 0
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda1",
"/dev/sdb1",
"/dev/sdc1",
"/dev/sdd1",
"/dev/sde1",
"/dev/sdf1",
"/dev/sdg1",
"/dev/sdh1",
"/dev/sdi1",
"/dev/sdj1",
"/dev/sdk1",
"/dev/sdl1"
],
"level": "10",
"name": "/dev/md/DATA"
},
{
"devices": [
"/dev/sdm2",
"/dev/sdn2"
],
"level": "1",
"name": "/dev/md/SWAP"
},
{
"devices": [
"/dev/sdm3",
"/dev/sdn3"
],
"level": "1",
"name": "/dev/md/ROOT"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/md/ROOT",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/DATA",
"format": "ext4",
"point": "/DATA",
"create": {
"options": [
"-L",
"DATA"
]
}
}
},
{
"mount": {
"device": "/dev/md/SWAP",
"format": "swap",
"point": "none",
"create": {
"options": [
"-L",
"SWAP"
]
}
}
}
]
}

m3.small.x86 habilitado para EFI

  • Habilitado para EFI
  • 2 discos em RAID1 para a partição swap.
  • 2 discos em RAID1 para a partição root.
{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": "512M"
},
{
"label": "SWAP",
"number": 2,
"size": "4G"
},
{
"label": "ROOT",
"number": 3,
"size": "0"
}
]
},
{
"device": "/dev/sdb",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": "512M"
},
{
"label": "SWAP",
"number": 2,
"size": "4G"
},
{
"label": "ROOT",
"number": 3,
"size": "0"
}
]
}
],
"raid": [
{
"devices": [
"/dev/sda2",
"/dev/sdb2"
],
"level": "1",
"name": "/dev/md/SWAP"
},
{
"devices": [
"/dev/sda3",
"/dev/sdb3"
],
"level": "1",
"name": "/dev/md/ROOT"
}
],
"filesystems": [
{
"mount": {
"device": "/dev/sda1",
"format": "vfat",
"create": {
"options": [
"32",
"-n",
"EFI"
]
},
"point": "/boot/efi"
}
},
{
"mount": {
"device": "/dev/md/ROOT",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/md/SWAP",
"format": "swap",
"point": "none",
"create": {
"options": [
"-L",
"SWAP"
]
}
}
}
]
}

Exemplo para servidores somente UEFI

Temos alguns servidores legados, o c2.large.arm e o c2.medium.x86, que são somente UEFI. É necessário usar uma partição EFI FAT32 para o /boot/efi. Este é um exemplo de configuração para o c2.medium.x86, que possui 2 SSDs de 120 GB e 2 SSDs de 480 GB.

{
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "BIOS",
"number": 1,
"size": "512M"
},
{
"label": "SWAP",
"number": 2,
"size": "3993600"
},
{
"label": "ROOT",
"number": 3,
"size": 0
}
]
}
],
"filesystems": [
{
"mount": {
"device": "/dev/sda1",
"format": "vfat",
"point": "/boot/efi",
"create": {
"options": [
"32",
"-n",
"EFI"
]
}
}
},
{
"mount": {
"device": "/dev/sda3",
"format": "ext4",
"point": "/",
"create": {
"options": [
"-L",
"ROOT"
]
}
}
},
{
"mount": {
"device": "/dev/sda2",
"format": "swap",
"point": "none",
"create": {
"options": [
"-L",
"SWAP"
]
}
}
}
]
}
Esta página foi útil?