创建卷,附加卷并使用Ansible将其挂接到EC2实例

时间:2015-12-24 06:48:57

标签: amazon-web-services amazon-ec2 ansible mount amazon-ebs

我创建了一个Ansible playbook,它执行以下任务:

  1. 创建EBS卷。
  2. 将卷附加到现有EC2实例。
  3. 在实例中安装卷。

    - name: Creating a Volume
      hosts: all
      sudo: yes
      tasks:
    
    - name: Creating a Volume
      ec2_vol:
        aws_access_key: "{{ lookup('env', 'AWS_ACCESS_KEY_ID') }}"
        aws_secret_key: "{{ lookup('env', 'AWS_SECRET_ACCESS_KEY') }}"
        instance: 'i-7edebfdb'
        volume_size: 5
        device_name: /dev/xvdf
        region: 'ap-northeast-1'
        volume_type: gp2
      register: ec2_vol
    
     - name: Printing the volume information
       debug: var=ec2_vol
    
     - name: mounting the volume
       mount: name=/mnt fstype=ext4 state=mounted src=/dev/xvdf
    
  4. 但是当我执行剧本时,收到了以下错误。

    failed: [172.30.1.237] => {"failed": true}
    msg: Error mounting /mnt: mount: wrong fs type, bad option, bad superblock on /dev/xvdf,
           missing codepage or helper program, or other error
           In some cases useful info is found in syslog - try
           dmesg | tail  or so
    

    当我穿孔fdisk -l时,我可以看到音量。但它没有安装。

    dmesg中可以看到错误消息 找不到ext4文件系统

    如何解决此问题。

1 个答案:

答案 0 :(得分:2)

根据您的日志,错误清楚地提到卷上没有文件系统。 这意味着您没有在EBS卷上格式化(创建文件系统)。

请在安装之前包含使用支持/必需的文件系统类型格式化卷的任务。

希望它有所帮助。