Oracle® Solaris 11.2의 이름 지정 및 디렉토리 서비스 작업: DNS 및 NIS

인쇄 보기 종료

업데이트 날짜: 2014년 7월
 
 

맵의 마스터 서버 변경

선택한 맵의 마스터 서버를 변경하려면 먼저 새 NIS 마스터에서 맵을 작성해야 합니다. 이전 마스터 서버 이름은 기존 맵에서 키-값 쌍으로 발생하기 때문에(이 쌍은 makedbm에 의해 자동으로 삽입됨) ypxfr을 사용하여 복사본을 새 마스터로 전송하거나 맵을 새 마스터에 복사하는 것만으로 충분하지 않습니다. 키를 새 마스터 서버 이름과 다시 연결해야 합니다. 맵에 ASCII 소스 파일이 있는 경우 이 파일을 새 마스터에 복사해야 합니다.

맵의 마스터 서버를 변경하는 방법

  1. NIS 마스터 서버의 관리자로 전환합니다.

    자세한 내용은 Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  2. 디렉토리를 변경합니다.
    newmaster# cd /var/yp
  3. 작성할 맵을 지정하기 전에 /var/yp/Makefile에 새 맵에 대한 항목이 있어야 합니다.

    그렇지 않은 경우 지금 Makefile을 편집합니다. 이 예에서는 sites.byname 맵의 항목을 추가합니다.

  4. 맵을 업데이트하거나 다시 만들려면 다음을 입력합니다.
    newmaster# make sites.byname
  5. 이전 마스터가 NIS 서버로 유지되는 경우 이전 마스터에 원격 로그인(ssh)하고 /var/yp/Makefile을 편집합니다.

    sites.byname 맵을 만든 Makefile 섹션을 주석 처리하여 맵이 더 이상 만들어지지 않도록 합니다.

  6. sites.bynamendbm 파일로만 존재할 경우 새 마스터 서버에 다시 만듭니다.

    먼저 ypcat 명령을 사용하여 sites.byname 파일의 복사본을 역어셈블합니다. 그런 다음 makedbm을 통해 역어셈블된 버전을 실행합니다.

    newmaster# cd /var/yp
    newmaster# ypcat sites.byname | makedbm domain/sites.byname 

    새 마스터에 맵을 만든 후 새 맵의 복사본을 다른 슬레이브 서버로 보내야 합니다. 다른 슬레이브는 새 마스터 대신 이전 마스터에서 새 복사본을 가져오기 때문에 yppush를 사용하지 마십시오. 이를 피하는 일반적인 방법은 새 마스터의 맵 복사본을 다시 이전 마스터로 전송하는 것입니다. 이전 마스터 서버에서 수퍼 유저 또는 동등한 역할의 사용자로 로그인하고 다음을 입력하면 됩니다.

    oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname

    이제 yppush를 실행해도 됩니다. 나머지 슬레이브 서버는 여전히 이전 마스터가 현재 마스터라고 간주하고 이전 마스터에서 현재 버전의 맵을 가져오려고 합니다. 클라이언트가 이 작업을 수행하면 새 마스터 이름을 현재 마스터로 지정하는 새 맵을 가져오게 됩니다.

    이 방법이 실패하면 각 NIS 서버에서 루트로 로그인하고 표시된 대로 ypxfr 명령을 실행할 수 있습니다.