본문 바로가기

Ansible

Ansible - fetch vs copy & synchronize

[1. 개요]

원격 서버등을 대상으로 파일을 송수신 하는 대표적인 모듈인 fetch 와 copy 의 차이점을 정리한다.


[2. copy]

로컬 또는 원격 서버에서 파일 하나를 원격 서버(host로 명시된 서버들) 에 복사시킨다.

  • 보통은 로컬에 있는(Ansible 이 동작하는) 파일을 원격 서버에 복사시킬 때 사용
  • 원격 서버에 있는 파일을 원격 서버내 다른 경로에 복사(?)

paramters

  • remote_src: false, 
  • src:
  • dest:
  • follow

[3. fetch]

copy 와 비슷한 기능이지만, 그 반대 방식으로 동작

윈도우 서버 지원

  • 원격 서버에있는 파일을 로컬(Ansible 이 동작하는) 로 복사해올 때 사용

parameters

  • src
  • dest

[4. synchronize]

ansible 을 이용해서 전처리된 데이터 파일을 2개의 서버로 복사시키는 과정에서  업로드 속도가 너무 느린 문제가 있었다.

비슷한 문제가 있다는 것을 어렵지 않게 찾을 수 있었다.

synchronize 모듈의 공식문서 설명은 아래와 같다.

  • rsync 명령어를 래핑한 모듈
  • ansible 이 동작하는 머신에서 rsync 를 수행한다고 보면 된다.

다만 synchronize 로도 업로드 속도 이슈가 해결이 안되서, 관련 파라미터를 좀 더 살펴 보았다.

parameters

  • src: 
  • dest:
  • mode: 
    => push: src 를 localhost 혹은 delegate 에서 찾는다.
    => pull: src 를 remote host 에서 찾는다.
  • compress
    => 전송하는 동안 파일을 압축 여부
    => true 가 default

compress 파라미터를 적절히 수정해서 업로드 이슈를 해결 할 수 있었다.


[5. 공식 문서]

'Ansible' 카테고리의 다른 글

Ansible - block ~ rescue / always  (0) 2023.01.07
Ansible 설치 및 기본 개념  (0) 2023.01.02