amazon-web-services – ¿Cómo utilizo cloud-init para configurar un volumen de AWS EBS en el primer arranque?

Pregunta:

Cloud-init proporciona disk_setup, fs_setup y monta módulos para particionar, formatear y montar un volumen en una máquina virtual; sin embargo, estas opciones permanecen sin documentar tanto en http://cloudinit.readthedocs.org como en AWS.

¿Existe un ejemplo funcional de configuración de inicio en la nube que particione, formatee y monte un único volumen de EBS en AWS en una instancia aprovisionada de la siguiente manera:

"Volume" : {
  "Type" : "AWS::EC2::Volume",
  "Properties" : {
    "Size" : "100",
    "VolumeType" : "gp2",
    "AvailabilityZone" : { "Fn::GetAtt" : [ "ServerInstance", "AvailabilityZone" ] }
  },
  "DeletionPolicy" : "Delete"
},
"MountVolume" : {
  "Type" : "AWS::EC2::VolumeAttachment",
  "Properties" : {
    "InstanceId" : { "Ref" : "ServerInstance" },
    "VolumeId"  : { "Ref" : "Volume" },
    "Device" : "/dev/sdh"
  }
},

Lo más cercano que tengo hasta ahora es el siguiente (con problemas de sintaxis corregidos):

disk_setup:
  /dev/xvdh:
    layout: true
    overwrite: false
    table_type: 'mbr'
fs_setup: 
  - label: data
    device: /dev/xvdh0
    filesystem: ext4
mounts:
- [ xvdh0, /opt/data ]

De acuerdo con cloud-init-output.log, el intento de partición falla de la siguiente manera:

2015-12-08 15:23:11,534 - util.py[WARNING]: Failed partitioning operation
'list' object has no attribute 'splitlines'

(Por razones indocumentadas, un intento de crear un volumen llamado / dev / sdh da como resultado una partición llamada / dev / xvdh, por lo tanto, la falta de coincidencia en los nombres)

Respuesta:

Sé que esto es viejo, pero esto es lo que se me ocurrió:

mounts:
    - [ "LABEL=rkt", "/var/lib/rkt" ]

fs_setup:
    ## rkt
    -   device: /dev/xvdg
        partition: none
        label: rkt
        filesystem: ext4

/dev/xvdg – sin /dev/xvdg – como ext4 y lo etiqueta en consecuencia.

He tenido que añadir disk-setup a la cloud_init_modules lista en /etc/cloud/cloud.cfg ; no está allí de forma predeterminada, por lo que fs_setup (que es procesado por cc_disk_setup ) no tendría ningún efecto.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım