ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ansible를 이용한 nfs 서버와 클라이언트 구성 (feat. CentOS)
    Ansible 2021. 8. 26. 01:39

     

    이번 포스팅은 앤서블을 이용하여 nfs서버와 클라이언트를 구성한다. 

     

    구조는 다음과 같다. 

     

    ansible-server(172.30.1.100) - nfs서버

    node01(172.30.1.101) - 클라이언트

    node02(172.30.1.102) - 클라이언트 

     

    마운트 포인트는 다음과 같다. 

     

    ansible-server의 /home/vagrant/nfs_shared와 node01의 /home/vagrant/nfs를 마운트

    ansible-server의 /home/vagrant/nfs_shared와 node02의 /home/vagrant/nfs를 마운트

     

     

     

    1. Playbook 작성

     

    < nfs_mount.yaml >

    ---
    # nfs 서버 세팅
    - name: Setup for nfs server
      gather_facts: no
      hosts: localhost
    
      tasks:
      - name: make nfs_shared directory
        file: 		# file 모듈은 파일이나 디렉토리를 생성할때 사용한다. 
          path: /home/vagrant/nfs_shared
          state: directory
          mode: 0777		# 디렉토리에 777권한을 준다.  	
      
      - name: configure /etc/exports
        become: yes
        lineinfile: 	# 파일에 내용 추가하기 
          path: /etc/exports
          line: /home/vagrant/nfs_shared/ 172.30.1.0/24(rw,sync)
      
      - name: nfs service restart	
        become: yes
        service:		
          name: nfs
          state: restarted 
    
    
    # nfs 클라이언트 세팅 
    - name: Setup for nfs clients
      hosts: centOS
      gather_facts: no
    
      tasks:
      - name: make nfs_client directory
        file: 
          path: /home/vagrant/nfs
          state: directory
    
      - name: mount directory 	
        become: yes
        mount: 			# 마운트 모듈을 사용
          name: /home/vagrant/nfs 
          src: 172.30.1.100:/home/vagrant/nfs_shared
          fstype: nfs
          opts: nfsvers=3
          state: mounted

     

    ansible-server에서 다음 커맨드 실행 

    ansible-playbook nfs_mount.yaml -k

     

     

     

    2. 마운트 확인하기 

     

    ansible-server에서 호스트네임으로 파일을 하나 생성해보자. 

    touch ~/nfs_shared/$HOSTNAME

     

     

    이제 클라이언트에서 nfs 서버에서 생성한 파일이 보이는지 확인해보자

     

    잘 보인다. 성공적으로 마운트가 되었다. 

     

     

    반응형

    댓글

Designed by Tistory.