【问题标题】:GCE/Ansible : How to create a filesystem on a new disk of a GCE instance with ansibleGCE/Ansible : 如何使用 ansible 在 GCE 实例的新磁盘上创建文件系统
【发布时间】:2017-10-16 14:35:46
【问题描述】:

我需要使用 Ansible 向现有 GCE 实例添加一个额外的磁盘

磁盘是使用 gce_pd 模块创建的:

- name : Add new disk
  local_action:
    module: gce_pd
    instance_name: "{{ ansible_host }}"
    project_id: "{{ project_id }}"
    service_account_email: "{{ service_account_email }}"
    credentials_file: "{{ credentials_file }}"
    zone: "{{ my_zone }}"
    size_gb: 5
    mode: READ_WRITE
    name: "{{ ansible_host }}-data-disk"
  register: gce_pd
  tags:
    - add_disk

此任务成功。

然后我尝试在新磁盘上创建一个 ext4 文件系统:

#============================================================
- name : Create filesystem {{ google_disk_name }}
  filesystem:
    fstype: ext4
    # TODO : improve this
    dev: /dev/sdb
    opts: "-F -E lazy_itable_init=0,lazy_journal_init=0,discard -L {{ volume_label }} /dev/disk/by-id/{{ google_disk_name }}"
    force: yes
  become: true
  tags:
    - add_disk
    - format_disk

此任务失败:

失败了! => {“改变”:假,“错误”:“mke2fs 1.42.12 (2014 年 8 月 29 日)\nmkfs.ext4:设备上的无效块“/dev/sdb” '/dev/disk/by-id/google-my-instance-data-disk'\n", "failed": true, "msg": "在设备 '/dev/sdb' 上创建文件系统 ext4 失败", "rc": 1}

我做错了什么?文件系统的 opts 与 GCE doc https://cloud.google.com/compute/docs/disks/add-persistent-disk 中推荐的相同

如果我手动执行这个命令,文件系统的创建就成功了!

mkfs.ext4 -F -Elazy_itable_init=0,lazy_journal_init=0,discard /dev/disk/by-id/google-my-instance-data-disk

一种解决方法是使用命令模块来运行 mkfs.ext4 而不是使用文件系统模块,但我想了解我在使用该模块时出了什么问题。

任何帮助将不胜感激

【问题讨论】:

  • 为什么要将 device /dev/disk/by-id/{{ google_disk_name }} 输入 opts
  • 哎呀!你已经发现了问题。非常感谢。

标签: linux ansible google-compute-engine


【解决方案1】:

感谢Konstatin Suvorov 在 opts: 参数中发现我的错误:

/dev/disk/by-id/{{ google_disk_name }} 与 dev: 参数是多余的

所以固定任务是:

#============================================================
- name : Format disk {{ google_disk_name }}
  filesystem:
    fstype: ext4
    # TODO : improve this
    dev: /dev/sdb
    opts: "-F -E lazy_itable_init=0,lazy_journal_init=0,discard -L {{ volume_label }}"
    # TODO : to be discussed, useful for tests
    force: yes
  become: true
  tags:
    - add_disk
    - format_disk

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    相关资源
    最近更新 更多