0

我正在尝试使用以下命令自动使用 ansible 挂载磁盘:

fdisk -l | grep "64G" | grep -Eo "/dev/sd."

这输出/dev/sda1,我将其添加到/etc/fstab/. 但我想添加 UUID。

有没有一种通过传递磁盘大小来获取 UUID 的方法?(我只有 1 个 64G 大小的磁盘,所以它只返回一个输出,想知道如何获取 UUID 而不是/dev/sda

4

1 回答 1

1

您可以使用blkid传递特定设备的命令 - 例如blkid /dev/sda1

或者您可以浏览目录/dev/disk/by-uuid/,该目录将 uuid 表示为设备节点的符号链接,例如ls -l /dev/disk/by-uuid/ | grep /dev/sda1

虽然使用 ansible,但我认为您可以从 ansible 事实中访问 uuid 和设备树,这些事实是为每个主机收集的,可以在ansible_facts字典下访问

https://docs.ansible.com/ansible/latest/user_guide/playbooks_vars_facts.html#ansible-facts

因此可以针对 the构造一个 ansiblewhen 条件子句ansible_devices并将其附加到 mount 任务

于 2021-06-10T10:53:21.337 回答