#ansible #ansible-2.x
#ansible #ansible-2.x
Вопрос:
Я хочу:
- смонтировать /dev/xvdb1 в /mnt/newvar
- скопируйте файлы из /var/ в /mnt/newvar
- смонтировать /dev/xvdb1 в /var
Но когда я делаю это с помощью ansible, я получаю двойные записи в fstab, и это должно заменить предыдущую, есть ли решение этой проблемы?:
UUID=7698aac5-0a24-333f-a8c3-b76349gec0e2 /mnt/newvar ext4 по умолчанию,noauto 0 0
UUID=7698aac5-0a24-333f-a8c3-b76349gec0e2 /var ext4 по умолчанию 0 2
- name: "Get UUID for partition"
command: "lsblk -no UUID /dev/xvdb1"
register: with_output
- name: Mount /mnt/newvar to /dev/xvdb1
mount:
path: "{{ newvar_dir }}"
src: "UUID={{ item }}"
fstype: "{{ volume_filesystem_type }}"
opts: "defaults,noauto"
state: mounted
with_items:
- "{{ with_output.stdout_lines }}"
- name: copy files from /var/* to /mnt/newvar
synchronize:
src: /var/
dest: "{{ newvar_dir }}"
recursive: yes
archive: yes
delete: False
delegate_to: "{{ vault_ip }}"
- name: Mount /dev/xvdb1 to /var
mount:
path: /var
src: "UUID={{ item }}"
fstype: "{{ volume_filesystem_type }}"
opts: defaults
state: mounted
passno: 2
with_items:
- "{{ with_output.stdout_lines }}"
Ответ №1:
При монтировании одно и то же UUID
дважды добавляется к /etc/fstab
дважды, поскольку mount
модуль ansible работает следующим образом:
Так что это всегда будет изменяться, /etc/fstab
если вы не используете absent
, но это не ваш случай
Это все еще обсуждается здесь:
https://github.com/ansible/ansible/issues/48134
Я думаю, вы можете использовать shell
module, если хотите монтировать только
Пример:
- shell: |
mount /dev/xvdb1 /var
Комментарии:
1. спасибо, да, я могу использовать оболочку или: — имя: Размонтировать /mnt/newvar монтировать: путь: «{{ newvar_dir }}» состояние: отсутствует