web-dev-qa-db-fra.com

Comment configurer des partitions sur mon disque de démarrage avec cloud-config?

J'essaie d'initialiser un serveur Ubuntu 16.04 via cloud-init. Lors du démarrage du serveur la première fois, je veux créer les partitions suivantes:

  • root-fs (système de fichiers ext4 ubuntu)
  • data-disk (partition formatée xfs)
  • disque d'échange (4 Go)

quand je démarre la machine régulièrement (sans aucun nuage-init), j'ai un sda et un sda1 (je pense que sda1 est le swap).

  • Quelqu'un peut-il m'aider avec un exemple "valide" ou "fonctionnel" ou m'aider à corriger mon approche?

  • Ou est-ce impossible de créer des partitions sur le disque sur lequel je suis assis?

d'ailleurs, mon hôte est Hetzner

Ceci est mon approche actuelle:

#cloud-config
device_aliases: {'root-disk': '/dev/sda'}
resize_rootfs: true

disk_setup:
  root-disk:
    table_type: 'gpt'
    layout:
      - 75
      - [25, 82]
    overwrite: true

fs_setup:
  - label: root-fs
    device: 'root-disk'
    filesystem: 'ext4'
  - label: data-disk
    device: root-disk
    filesystem: 'xfs'
1
Jan

Pour terminer cette tâche, je publie ici ma réponse: Il est important de savoir que resize_rootfs doit être false J'ai également fini par utiliser mbr au lieu de gpt uniquement parce que je ne pouvais pas. ne pas comprendre comment évoluer avec gpt. Peut-être que quelqu'un pourrait aussi publier cet exemple.

#cloud-config
resize_rootfs: false

disk_setup:
  /dev/sda:
    table_type: 'mbr'
    layout:
      - 25
      - 75
    overwrite: true

fs_setup:
  - label: root_fs
    filesystem: 'ext4'
    device: /dev/sda
    partition: sda1
    overwrite: true
  - label: data_disk
    filesystem: 'xfs'
    device: /dev/sda
    partition: sda2
    overwrite: true

# now we attach the settings
runcmd:
  - [ partx, --update, /dev/sda ]
  - [ mkfs.xfs, /dev/sda2 ]
  - [ partprobe ]
  - parted /dev/sda set 1 boot on p

mounts:
  - ["/dev/sda1", "/"]
  - ["/dev/sda2", "/data-disk"]
1
Jan