작업

클라이언트 작업은 다양한 방법으로 관리할 수 있습니다.

Salt 클라이언트의 경우 자동화된 정기적 작업을 예약하여 지정된 일정에 따라 Highstate 상태 또는 임의의 사용자 정의 상태 집합을 클라이언트에 적용할 수 있습니다. 정기적 작업은 개별 클라이언트에도, 시스템 그룹 내의 모든 클라이언트에도, 조직 전체에도 적용 가능합니다.

Salt와 기존 타 클라이언트 양쪽에서 작업 체인을 생성하여 작업이 특정 순서대로 실행되도록 설정할 수 있습니다. 작업 체인은 미리 생성 및 편집할 수 있으며 적절한 시간에 실행되도록 일정을 예약할 수 있습니다.

한 개 이상의 Salt 클라이언트에서 원격 명령을 수행할 수도 있습니다. 원격 명령을 사용하면 개별 Salt 클라이언트 또는 검색어와 일치하는 모든 클라이언트에 명령을 실행할 수 있습니다.

1. 반복 작업

정기적 작업은 개별 Salt 클라이언트, 시스템 그룹 또는 조직 내 모든 클라이언트에도 적용 가능합니다.

현재 SUSE Manager에서 정기적 작업으로 지원하는 작업 유형은 다음과 같습니다.

  • Highstate: highstate를 실행합니다.

  • 사용자 정의 상태: 일련의 사용자 정의 상태를 실행합니다. 사용자 정의 상태는 SUSE Manager에서 제공되는 내부 상태이거나 사용자가 생성한 구성 채널일 수 있습니다.

구성 채널에 대한 자세한 내용은 구성 관리에서 확인할 수 있습니다.

절차: 새 정기적 작업 생성하기
  1. 개별 클라이언트에 정기적 작업을 적용하려면 시스템으로 이동하여 일정을 구성할 클라이언트를 클릭하고 정기적 작업 탭으로 이동합니다.

  2. 시스템 그룹에 정기적 작업을 적용하려면 시스템  시스템 그룹으로 이동하여 일정을 구성할 그룹을 선택한 후 정기적 작업 탭으로 이동합니다.

  3. 생성을 클릭합니다.

  4. 작업 유형 드롭다운에서 작업 유형을 선택합니다.

  5. 새 일정의 이름을 입력합니다.

  6. 정기적 작업 빈도를 선택합니다.

    • 매시간: 각 시간의 분을 입력합니다. 예를 들어, 15는 매시 15분에 작업을 실행합니다.

    • 매일: 매일의 시간을 선택합니다. 예를 들어, 01:00은 SUSE Manager 서버의 시간대에서 매일 0100시에 작업을 실행합니다.

    • 매주: 매주 지정된 시간에 작업을 실행할 요일과 시간을 선택합니다.

    • 매월: 매월 지정된 시간에 작업을 실행할 날짜와 시간을 선택합니다.

    • 사용자 정의 Quartz 형식: 자세한 옵션을 보려면 사용자 정의 Quartz 스트링을 입력합니다. 예를 들어, 매월 토요일 0215에 정기적 작업을 실행하려면 다음을 입력합니다.

      0 15 2 ? * 7
  7. 선택 사항: 테스트 모드에서 일정을 실행하려면 테스트 모드 스위치를 토글합니다.

  8. 사용자 정의 상태 유형의 작업일 경우 사용 가능한 상태 목록에서 상태를 선택하고 변경사항 저장을 클릭합니다. 그러면 일정이 아닌 선택한 현재 상태만 저장됩니다.

  9. 다음 패널에서 선택한 상태를 드래그 앤 드롭하여 실행 순서에 넣고 확인을 클릭합니다.

  10. 마지막으로 일정 생성을 클릭하여 저장하고 기존 일정의 전체 목록을 확인합니다.

조직 관리자는 조직의 모든 클라이언트에 대한 정기적 작업을 설정하고 편집할 수 있습니다.   내 조직  정기적 상태로 이동하면 조직 전체에 적용되는 모든 반복 작업을 확인 가능합니다.

SUSE Manager 관리자는 모든 조직의 모든 클라이언트에 대한 정기적 작업을 설정하고 편집할 수 있습니다. 관리  조직으로 이동하여 관리할 조직을 선택한 후 상태  정기적 작업 탭으로 이동하면 됩니다.

정기적 작업은 Salt 클라이언트에서만 사용할 수 있습니다. 그룹 또는 조직 내 기존 타 클라이언트는 무시됩니다.

2. 동작 체인

클라이언트에서 순차 작업을 여러 개 수행해야 하는 경우 작업 체인을 생성하면 순서대로 작업할 수 있습니다.

기본적으로 대부분의 클라이언트는 명령하는 즉시 작업을 실행합니다. 일부 경우에는 작업에 시간이 오래 걸리므로 이후에 실행된 작업이 실패할 수 있습니다. 예를 들어, 클라이언트에 재부팅을 명령한 후 두 번째 명령을 실행하면 재부팅이 아직 수행 중이므로 두 번째 작업이 실패할 수 있습니다. 작업이 올바른 순서로 발생하도록 하려면 작업 체인을 사용하십시오.

트랜잭션 업데이트 시스템의 경우 재부팅 작업이 남을 때까지 단일 스냅샷 내에서 작업 체인이 실행됩니다. 이로 인해 일부 제한이 발생할 수 있습니다.

자세한 내용은 SLE Micro 클라이언트 등록에서 확인할 수 있습니다.

기존 클라이언트와 Salt 클라이언트 모두에서 작업 체인을 사용할 수 있습니다. 순서와 관계없이 작업 체인에 포함될 수 있는 작업은 다음과 같습니다.

  • 시스템 세부 사항  원격 명령

  • 시스템 세부 사항  시스템 재부팅 예약

  • 시스템 세부 사항  상태  Highstate

  • 시스템 세부 사항  소프트웨어  패키지  목록/제거

  • 시스템 세부 사항  소프트웨어  패키지  설치

  • 시스템 세부 사항  소프트웨어  패키지  업그레이드

  • 시스템 세부 사항  소프트웨어  패치

  • 시스템 세부 사항  소프트웨어  소프트웨어 채널

  • 시스템 세부 사항  구성

  • 이미지  빌드

절차: 새 작업 체인 생성
  1. SUSE Manager Web UI에서 작업 체인에서 수행할 첫 번째 작업으로 이동합니다. 예를 들어, 클라이언트의 시스템 세부 정보로 이동하고 시스템 재부팅 예약을 클릭합니다.

  2. 추가 위치 필드를 확인하고 추가할 작업 체인 선택:

    • 첫 번째 작업 체인인 경우 새 작업 체인을 선택합니다.

    • 작업 체인이 이미 있는 경우 목록에서 선택합니다.

    • 기존 작업 체인이 이미 있지만 새 작업 체인을 생성하려면 새 작업 체인의 이름을 입력하여 생성합니다.

  3. 작업을 확인합니다. 작업은 즉시 수행하지는 않으며 새 작업 체인을 생성하고 이를 확인하는 파란색 막대가 화면 상단에 표시됩니다.

  4. 추가 위치 필드를 확인하고 추가할 작업 체인의 이름을 선택하여 작업 체인에 작업 추가를 계속 진행합니다.

  5. 작업 추가가 완료되면 일정  작업 체인으로 이동하여 목록에서 작업 체인을 선택합니다.

  6. 작업을 올바른 위치에 끌어다 놓아 작업을 다시 정렬합니다. 클라이언트 작업이 수행될 클라이언트를 살펴보려면 파란색 더하기 기호를 클릭합니다. 저장을 클릭하여 변경 사항을 저장합니다.

  7. 작업 체인이 실행될 시간을 예약하고 저장 및 예약을 클릭합니다. 저장 또는 저장 및 예약을 클릭하지 않고 페이지를 나가면 저장되지 않은 모든 변경 사항이 삭제됩니다.

작업 체인의 한 작업이 실패하면 작업 체인이 중지되고 더 이상 작업이 실행되지 않습니다.

일정  대기 중 작업으로 이동하여 작업 체인에서 예약된 작업을 볼 수 있습니다.

3. 원격 명령

원격으로 명령을 실행하도록 클라이언트를 구성할 수 있습니다. 이를 통해 클라이언트에 직접 액세스하지 않고도 스크립트 또는 개별 명령을 클라이언트에 실행할 수 있습니다.

이 기능은 Salt 클라이언트에서 자동으로 활성화되며 추가로 구성할 필요가 없습니다. 기존 타 클라이언트의 경우, 부트스트랩 스크립트를 사용하여 클라이언트를 등록하고 원격 명령을 활성화하면 기능이 활성화됩니다. 기능을 수동으로 활성화하려면 본 절차를 따릅니다.

클라이언트가 설치된 운영 체제에 적합한 도구 하위 채널에 등록되어 있는지 확인한 후 시작하십시오. 소프트웨어 채널 구독에 대한 자세한 내용은 소프트웨어 채널에서 확인할 수 있습니다.

트랜잭션 업데이트 시스템의 경우 단일 스냅샷 내에서 원격 명령이 실행된다는 점에 유의해야 합니다. 이로 인해 일부 제한이 발생할 수 있습니다.

자세한 내용은 SLE Micro 클라이언트 등록에서 확인할 수 있습니다.

절차: 원격 명령을 수락하도록 기존 타 클라이언트 구성하기
  1. 설치하지 않은 경우 클라이언트의 명령 프롬프트에서 패키지 관리자를 사용하여 rhncfg, rhncfg-clientrhncfg-actions 패키지를 설치합니다. 예:

    zypper in rhncfg rhncfg-client rhncfg-actions
  2. 루트 권한으로 클라이언트의 명령 프롬프트에서 로컬 구성 디렉토리에 다음 경로를 생성합니다.

    mkdir -p /etc/sysconfig/rhn/allowed-actions/script
  3. 새 디렉토리에 이름이 run인 빈 파일을 생성합니다. 이 파일은 원격 명령을 실행할 수 있는 SUSE Manager 서버 사용 권한 부여:

    touch /etc/sysconfig/rhn/allowed-actions/script/run

Salt 클라이언트의 경우 원격 명령은 클라이언트의 /tmp/ 디렉토리에서 실행됩니다. 원격 명령이 정확하게 작동하도록 하려면 noexec 옵션을 사용하여 /tmp를 마운트하지 마십시오. 자세한 내용은 문제 해결에서 확인할 수 있습니다.

원격 명령 페이지에서 실행되는 모든 명령은 클라이언트에서 root를 실행합니다. 와일드카드를 사용하여 여러 시스템에서 명령을 실행할 수 있습니다. 명령을 실행하기 전 항상 주의하십시오.

절차: 기존 클라이언트에서 원격 명령 실행
  1. SUSE Manager Web UI에서 시스템으로 이동하고 원격 명령을 실행할 클라이언트를 클릭한 후 세부 사항  원격 명령 탭으로 이동합니다.

  2. 다음 사용자 이름으로 실행 필드에 명령을 실행할 클라이언트의 사용자 ID(UID)를 입력합니다. 또는 그룹으로 실행 필드의 그룹 ID(GID)를 사용하여 명령을 실행할 그룹을 지정할 수도 있습니다.

  3. 선택 사항: 시간 제한 필드에 명령의 제한 시간을 초 단위로 입력합니다. 이 기간 내에 실행되지 않으면 명령이 실행되지 않습니다.

  4. 명령 레이블 필드에 명령의 이름을 입력합니다.

  5. 스크립트 필드에 실행할 명령 또는 스크립트를 입력합니다.

  6. 명령을 실행할 날짜와 시간을 선택하거나 작업 체인에 원격 명령을 추가합니다.

  7. 일정을 클릭하여 원격 명령을 예약합니다.

작업 체인에 대한 자세한 내용은 Action Chains에서 확인할 수 있습니다.

절차: Salt 클라이언트에서 원격 명령 실행
  1. Salt  원격 명령으로 이동합니다.

  2. 첫 번째 필드에서 @ 기호 앞에 실행할 명령을 입력합니다.

  3. 두 번째 필드에서 @ 기호 뒤에 명령을 실행할 클라이언트를 입력합니다. 개별 클라이언트의 minion-id를 입력하거나 와일드카드를 사용하여 클라이언트 범위의 대상을 지정할 수 있습니다.

  4. 대상 찾기를 클릭하여 대상으로 지정한 클라이언트를 확인하고 올바른 세부 사항을 사용했는지 확인합니다.

  5. 명령 실행을 클릭하여 대상 클라이언트로 명령을 실행합니다.