Задача:

  • Настройка NFS сервера
    • Настройте NFS сервер средствами Ansible для группы маршрутизаторов Router
      • В качестве плейбука используйте файл playbook_1.yml в каталоге project_5
      • Плейбук должен содержать действия по настройке NFS сервера
        • Настройте общий доступ к директории /opt/data
        • Общий доступ должен быть обеспечен для чтения и записи только для устройств локальной сети

Вариант реализации:

CLI1:

  • Из под пользователя user переходим в директорию /opt/ansible:
cd /opt/ansible
  • Создаём первый playbook_1.yml в директории project_5:
vim project_5/playbook_1.yml
    • Содержимое playbook_1.yml:
---
- name: Configuring NFS server
  hosts: Router
  become: true 

  tasks:
    - name: Setting full read and write access on /opt/data
      ansible.builtin.file:
        path: /opt/data
        state: directory
        mode: 0777

    - name: Configuring NFS server on RTR1
      block: 
        - name: Install NFS packakes on RTR1
          ansible.builtin.dnf:
            name: 
              - nfs-utils
              - nfs4-acl-tools
            state: present

        - name: Configuring exports file on RTR1
          ansible.builtin.lineinfile:
            line: /opt/data 192.168.100.0/255.255.255.0(rw,insecure,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
            state: present
            path: /etc/exports

        - name: Re-export the share
          ansible.builtin.command:
            cmd: exportfs -ar

        - name: Restarted NFS
          ansible.builtin.systemd:
            name: nfs-server
            state: restarted
            enabled: true
      when:
        - ansible_os_family == "RED"

    - name: Configuring NFS server on RTR2
      block:
        - name: Install NFS server on RTR2
          ansible.builtin.apt:
            name: nfs-kernel-server
            state: present
            update_cache: true

        - name: Configuring exports file on RTR2
          ansible.builtin.lineinfile:
            line: /opt/data 192.168.100.0/255.255.255.0(rw,insecure,nohide,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
            state: present
            path: /etc/exports

        - name: Re-export the share
          ansible.builtin.command:
            cmd: exportfs -ar

        - name: Restarted NFS
          ansible.builtin.systemd:
            name: nfs-kernel-server
            state: restarted
            enabled: true
      when:
        - ansible_os_family == 'Astra Linux (Orel)'
  • Выполняем запуск playbook - сценария:
    • из под пользователя user
ansible-playbook project_5/playbook_1.yml
    • Результат:

  • Проверяем:

Последнее изменение: вторник, 9 июля 2024, 17:56