我正在尝试使用以下命令自动使用 ansible 挂载磁盘:
fdisk -l | grep "64G" | grep -Eo "/dev/sd."
这输出/dev/sda1
,我将其添加到/etc/fstab/
. 但我想添加 UUID。
有没有一种通过传递磁盘大小来获取 UUID 的方法?(我只有 1 个 64G 大小的磁盘,所以它只返回一个输出,想知道如何获取 UUID 而不是/dev/sda
)
您可以使用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 任务