Как настроить разделы на моем загрузочном диске с помощью cloud-config?

Я пытаюсь инициализировать сервер Ubuntu 16.04 через cloud-init. При первой загрузке сервера я хочу создать следующие разделы:

  • root-fs (ext4 файловая система Ubuntu)
  • диск с данными (раздел в формате xfs)
  • диск подкачки (4 ГБ)

Когда я загружаю машину регулярно (без каких-либо изменений в облаке), у меня есть sda и sda1 (я думаю, что sda1 - это своп).

  • Может ли кто-нибудь помочь мне с "действительным" или "рабочим" примером или помочь мне исправить мой подход?

  • Или это невозможно сделать разделы на диске, на котором я сижу?

Кстати. мой хозяин Хецнер

Это мой текущий подход:

#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 ответ

Решение

Чтобы завершить эту задачу, я опубликую здесь свой ответ: важно знать, что resize_rootfs должен быть falseЯ также в конечном итоге с помощью mbr вместо gpt только потому, что я не мог понять, как развиваться с gpt. Может быть, кто-то мог бы опубликовать этот пример тоже.

#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"]
Другие вопросы по тегам