Skip to main content

Partitionnement personnalisé et RAID (CPR)

Equinix Metal™ offre une fonctionnalité de partitionnement personnalisé et de RAID (CPR), qui vous permet de spécifier la configuration du disque lors du déploiement d'un serveur réservé.

Pour utiliser CPR, créez un objet JSON qui:

  • Indique les disques que vous souhaitez formater.
  • Comment vous souhaitez que ces disques soient formatés.
  • Quel système de fichiers doit être créé sur les disques.
  • Où monter la partition une fois créée.

Utilisez les exemples pour commencer à créer le vôtre.

Exigence de serveur réservé

Un serveur réservé est requis, car le schéma de lecteur exact doit être connu à l'avance pour permettre la personnalisation via l'API. Les fonctionnalités de partitionnement personnalisé et de RAID ne sont pas disponibles pour les instances à la demande.

Approvisionnement avec CPR

Pour utiliser CPR, vous devrez déployer un serveur à partir de vos réservations matérielles via l'API. Lorsque vous enverrez votre requête POST au point de terminaison projects/<id>/devices, vous devrez transmettre votre configuration CPR sous forme d'objet JSON avec le paramètre storage dans le corps de la requête.

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>",
}'

Exemples généraux

Démarrage RAID 1, DONNÉES RAID 1

  • 2 disques en RAID1 pour la partition root.
  • 2 disques en RAID1 pour la partition 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"
]
}
}
}
]
}

Démarrage RAID1, DONNÉES RAID0

  • 2 disques en RAID1 pour la partition root.
  • 2 disques en RAID0 pour la partition 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"
]
}
}
}
]
}

Démarrage RAID1 uniquement

  • 2 disques en RAID1 pour la partition root uniquement.
{
"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"
]
}
}
}
]
}

Exemples par serveur

c3.small.x86

Le système c3.small.x86 est fourni avec deux disques de 480 Go. Cet exemple utilise l'un de ces disques, crée trois partitions (BIOS, swap et racine), puis formate la partition swap en tant que swap et la partition racine en tant que 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.medium.x86

  • 2 disques en RAID1 pour la partition root.
  • 2 disques en RAID1 pour la partition data.
  • 2 disques en RAID0 pour la partition 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 (pas d'échange)

  • 2 disques en RAID1 pour la partition root.
  • 2 disques en RAID1 pour la partition 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

Le s3.xlarge est équipé de 2 SSD de 960 Go, de 12 disques durs de 8 To et de 256 Go de mémoire Flash NVMe. Dans cet exemple, les 2 SSD de 960 Go seront utilisés par ROOT et SWAP en RAID 1, et les 12 disques de 8 To seront utilisés par DATA en RAID 10. Les disques NVMe sont réservés à d'autres usages.

{
"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 compatible EFI

  • Compatible EFI
  • 2 disques en RAID1 pour la partition swap.
  • 2 disques en RAID1 pour la partition 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"
]
}
}
}
]
}

Exemple pour les serveurs UEFI uniquement

Nous avons des serveurs Legacy, c2.large.arm et c2.medium.x86, qui fonctionnent uniquement en UEFI. L'utilisation d'une partition EFI FAT32 est requise pour /boot/efi. Voici un exemple de configuration pour c2.medium.x86, équipé de deux disques SSD de 120 Go et de deux disques SSD de 480 Go.

{
"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"
]
}
}
}
]
}
Cette page vous a-t-elle été utile ?