# 관리 안내서

# AFS 백업 시스템 구성

AFS 백업 시스템은 AFS 볼륨에서 데이터의 백업 사본을 작성하고, 그 데이터가 유실되었거나 손상된 경우 파일 시스템으로 데이터를 복원하는 데 도움이 됩니다. 이 장에서는 백업 시스템을 구성하는 방법에 대해 설명합니다. 데이터 백업과 복원, 덤프 레코드 표시에 대한 명령은 AFS 데이터 백업 및 복원의 내용을 참조하십시오.

## 명령어 요약

이 장에서는 표시된 명령을 사용하여 다음 타스크를 수행하는 방법에 대해 설명합니다.

테이프 용량 및 파일표시 크기 결정 | fms
백업 데이터베이스에서 테이프 조정자 항목 정의 | backup addhost
백업 데이터베이스에서 테이프 조정자 항목 제거 | backup delhost
백업 데이터베이스에서 테이프 조정자 항목 표시 | backup listhosts
볼륨 세트 작성 | backup addvolset
볼륨 세트로 볼륨 항목 추가 | backup addvolentry
볼륨 세트 및 항목 나열 | backup listvolsets
백업 데이터베이스에서 볼륨 세트 삭제 | backup delvolset
볼륨 세트에서 볼륨 항목 삭제 | backup delvolentry
덤프 레벨 정의 | backup adddump
기존 덤프 레벨의 만기 날짜 변경 | backup setexp
덤프 계층에서 덤프 레벨 삭제 | backup deldump
덤프 계층 표시 | backup listdumps
테이프 레이블 지정 | backup labeltape
테이프 레이블 읽기 | backup readlabel

## 백업 시스템 기능 소개

AFS 백업 시스템은 매우 유연성있는 시스템으로 백업 프로세스의 많은 측면들을 제어할 수 있으며, 여기에는 백업이 수행되는 빈도, 백업되는 볼륨, 볼륨에 있는 데이터 모두를 덤프할 것인 지 아니면 마지막 덤프 동작 이후 변경된 데이터만을 덤프할 것인 지 여부 등이 포함됩니다. 또한 많은 백업 프로세스들을 자동화하는 여러 기능들의 장점들을 이용할 수도 있습니다.

백업 시스템을 가장 효율적으로 관리하고 사용하기 위해, 다음 절에서 설명한 기본적인 기능들을 알아두는 것이 좋습니다. 사용자 셀에서 백업 시스템을 구성한 뒤 그 기능을 구현하는 명령에 대해서는 백업 시스템 구성의 개요의 내용을 참조하십시오.

### 볼륨 세트 및 볼륨 항목

AFS 데이터를 백업할 경우, 각 파일 대신 볼륨을 완성하기 위해 포함시킬 데이터를 지정합니다. 세부적으로 말하면, 볼륨 세트라는 볼륨 그룹을 정의합니다. 이 각각에는 단일한 작업으로 백업하려는 하나 이상의 볼륨들이 포함됩니다. 볼륨 세트내에 백업할 볼륨을 포함시켜야 합니다. 이는 데이터를 백업하는 명령(backup dump 명령)이 각 볼륨명들을 인정하지 않기 때문입니다.

볼륨 세트는 하나 이상의 볼륨 항목으로 구성되며, 이 볼륨 항목에서는 위치(파일 서버 시스템과 파티션)와 볼륨명을 기준으로 백업할 볼륨을 지정합니다. 와일드 카드 표시를 사용하여 위치, 이름에 있는 공용 문자열 또는 이 모두를 공유하는 모든 볼륨들을 포함시켜야 합니다.

볼륨 세트 및 볼륨 항목의 작성과 제거에 대한 명령은 볼륨 세트와 볼륨 항목의 정의 및 표시의 내용을 참조하십시오.

### 덤프 및 덤프 세트

덤프는 볼륨 세트에서 백업한 데이터 모음입니다. 전체 덤프에는 덤프 조작시 볼륨 세트에 있었던 모든 볼륨의 데이터 모두가 포함됩니다. 증분 덤프에는 볼륨 세트에 있는 볼륨의 데이터 일부만이 포함되며, 이전에 지정된 덤프 조작이 수행된 이후 변경된 파일들과 디렉토리 구조들입니다. 이전 덤프란 증분 덤프의 상위 덤프를 말하며, 이는 전체 덤프 또는 증분 덤프 자체가 될 수 있습니다.

덤프 세트는 하나 이상의 테이프에 함께 저장된 하나 이상의 덤프 모음입니다. 덤프 세트에 있는 첫번째 덤프는 초기 덤프이며, 기존 덤프 세트 끝에 추가된 후속 덤프는 추가 덤프입니다. 덤프 추가는 항상 선택적이지만, 테이프 용량을 최대로 이용합니다. 이와는 달리, 초기 덤프만을 작성하면 테이프가 여러개의 파티션으로 채워지며, 이는 초기 덤프가 항상 새로운 테이프에서 시작되지만 테이프 끝까지 확장할 필요는 없기 때문입니다. 추가된 덤프가 다른 추가 덤프나 초기 덤프와 관련될 필요는 없지만(동일한 볼륨 세트나 관련 볼륨 세트를 덤프할 필요는 없지만), 잘 계획하여 추가하면 복원하는 동안의 테이프 변경 횟수를 줄일 수 있습니다. 예를 들어, 단일 덤프 세트내에서 볼륨 세트의 증분 덤프 추가들을 감지할 수 있습니다.

덤프 세트의 모든 레코드들은 초기 덤프를 기초로 백업 데이터베이스에서 함께 색인화됩니다(백업 데이터베이스에 대해서는 백업 데이터베이스 및 백업 서버 프로세스의 내용 참조). 추가된 덤프의 데이터베이스 레코드를 삭제하려면, 초기 덤프 레코드를 삭제한 다음, 덤프 세트에 있는 모든 덤프 레코드들을 삭제할 수 있도록 해야 합니다. 이처럼, 덤프 세트에 있는 모든 테이프의 데이터베이스 레코드들을 삭제하지 않으면 덤프 세트에 있는 단 하나의 테이프도 다시 사용할 수 없습니다.

초기 덤프의 작성 명령에 대해서는 데이터 백업의 내용을, 덤프 추가 방법에 대해서는 기존 덤프 세트로 덤프 추가의 내용을 참조하십시오.

### 덤프 계층, 덤프 레벨 및 만기 날짜

덤프 계층은 전체 덤프와 증분 덤프간의 관계를 정의하는 논리 구조입니다. 즉, 어느 덤프가 증분 덤프의 상위 덤프로서 제공되는 지를 정의합니다. 계층은 덤프 레벨로 구성됩니다. backup dump 명령을 실행하여 덤프를 작성할 때, 볼륨 세트명과 덤프 레벨명을 지정합니다. 백업 시스템은 덤프 레벨을 사용하여 덤프가 전체 덤프인 지 또는 증분 덤프인 지, 증분 덤프인 경우는 어느 덤프 레벨이 상위 덤프로서 사용되는 지 여부를 결정합니다.

만기 날짜를 덤프 레벨과 연결시켜, 해당 레벨에서 작성된 덤프가 만기되는 때를 결정할 수 있습니다. 백업 시스템은 테이프가 속하는 덤프 세트내의 모든 덤프가 만기될 때 까지 테이프를 겹쳐쓰기하지 않으므로, 만기 날짜를 지정하면 자동으로 테이프의 재사용 시기가 결정됩니다. 절대 기간(예를 들면, 2000년 1월 13일)나 상대 기간(덤프가 작성되고 30일 동안) 어느 것으로든 만기 날짜를 정의할 수 있습니다. 또한 덤프 레벨과 연관된 만기 날짜를 변경할 수도 있습니다(해당 레벨에서 이미 작성된 실제 덤프와 관련된 만기 날짜는 변경할 수 없음).

덤프 계층 작성, 만기 날짜 지정 및 테이프 재사용 스케쥴 설정에 대해서는 덤프 계층 정의 및 표시의 내용을 참조하십시오.

### 덤프 이름과 테이프 이름

덤프 작성시 백업 시스템은 이에 대한 백업 데이터베이스 레코드를 작성하며, 이에 덤프 세트명과 덤프 레벨 경로명에 있는 마지막 구성요소로 구성된 이름을 지정합니다.

       volume_set_name.dump_level_name

예를 들어, 덤프 레벨 /sunday/friday에 있는 볼륨 세트 user의 덤프를 user.friday라고 합니다. 백업 시스템은 또한 덤프에 고유한 덤프 ID 번호를 지정하여 같은 이름을 가진 다른 덤프와 구분하기도 합니다.

백업 시스템은 덤프 세트가 들어있는 각 테이프에 AFS 테이프명을 지정하여, 덤프 세트의 초기 덤프에 대한 볼륨 세트와 덤프 레벨, 덤프 세트에서 테이프 위치에 관한 숫자 색인 및 고유한 덤프 ID 번호를 반영합니다.

       volume_set_name.dump_level_name.tape_index (dump ID)

예를 들어, 초기 덤프가 덤프 레벨 /sunday/friday의 볼륨 세트 uservol인 덤프 세트내의 두 번째 테이프인 경우, uservol.friday.2(914382400)와 같은 AFS 테이프 이름을 갖게 됩니다.

AFS 테이프 이름뿐만 아니라, 테이프에는 사용자가 선택적으로 지정한 영구적 이름이 있을 수도 있습니다. AFS 테이프 이름과는 달리, 영구적 이름이 볼륨 세트와 초기(또는 다른) 덤프의 덤프 레벨을 나타낼 필요는 없으므로, 테이프 내용에 따라 변경될 수 있습니다. 백업 시스템에서는 영구적 이름으로 일정한 포맷이 필요하지 않으므로, 각 테이프의 이름이 고유한 지 확인해야 합니다. 테이프에 영구적 이름이 있는 경우, 백업 시스템은 프롬프트에서 그리고 대부분의 backup 명령에 대한 출력으로서 테이프를 가리킬 때 AFS 테이프 이름대신 그 영구적 이름을 사용합니다.

### 테이프 레이블, 덤프 레이블 및 EOF 표시자

백업 시스템에 사용되는 모든 테이프에는 테이프의 이름, 용량 및 기타 정보를 기록하는 마그네틱 레이블이 처음에 있습니다. backup labeltape 명령을 사용하여 레이블을 기록하거나, 레이블이 지정되지 않은 테이프를 사용하는 경우 backup dump 명령을 사용하여 자동으로 하나를 작성할 수 있습니다. 레이블은 다음 정보를 기록합니다.

- 테이프의 영구적 이름, 이것은 사용자가 backup labeltape 명령에 -pname 인수를 사용하여 지정할 수 있습니다. 최대 32자의 문자열이 될 수 있습니다. 영구적 이름을 지정하지 않은 경우, 백업 시스템은 backup labeltape 명령을 사용하여 AFS 테이프 이름을 지정하거나, backup dump 명령을 사용하여 테이프에 덤프를 기록할 때 `<NULL>` 값을 기록합니다.
- 테이프의 AFS 테이프 이름, 세 가지 유형 값 중 하나가 될 수 있습니다.
  - 볼륨 세트, 덤프 세트의 초기 덤프의 덤프 레벨 그리고 덤프 이름과 테이프 이름에서 설명한 것처럼 일련의 테이프에서 덤프 세트의 테이프 위치를 반영하는 이름. 테이프에 영구적 이름이 없으면, backup labeltape 명령에 -name 인수를 사용하여 AFS 테이프 이름을 지정할 수 있습니다.
  - `<NULL>` 값, 이것은 영구적 이름을 지정하거나 backup labeltape 명령의 -name 인수에 값을 제공하지 않을 경우 발생합니다.
  - 어떤 AFS 테이프 이름도 없음, 이는 테이프에 레이블을 지정하지 않았거나 테이프에 덤프를 기록하지 않았음을 의미합니다.

  테이프에 덤프를 기록할 때 실제 AFS 테이프 이름이 아직 없는 경우, 백업 시스템은 적합한 AFS 테이프 이름을 작성하여 기록합니다. 테이프에 AFS 테이프 이름이 있고 초기 덤프를 작성한 경우, 그 이름은 덤프의 볼륨 세트와 덤프 레벨을 정확히 반영해야 합니다.

- 문자의 용량 또는 크기 다음에는 측정 단위를 나타내는 문자가 옵니다(킬로바이트는 `k` 또는 `K`, 메가바이트는 `m` 또는 `M`, 기가바이트는 `g` 또는 `G`, 테라바이트는 `t` 또는 `T`). 테이프 제조업체에서 테이프의 용량을 결정합니다. 백업 시스템이 용량 필드의 값을 사용하는 방법에 대해서는 tapeconfig 파일 구성의 내용을 참조하십시오.

테이프 레이블 지정에 대해서는 테이프 레이블 기록 및 읽기의 내용을 참조하십시오.

테이프 레이블과 함께, 백업 시스템은 모든 첨부 덤프마다 테이프에 하나의 덤프 레이블을 기록합니다(테이프 레이블과 덤프 레이블은 초기 덤프의 경우 동일합니다). 덤프 레이블은 다음 정보를 기록합니다.

- 덤프가 들어있는 테이프 이름
- 덤프 조작이 시작된 날짜와 시간
- 덤프에 있는 볼륨이 속하는 셀
- 덤프 크기(킬로바이트 단위)
- 덤프의 덤프 레벨
- 덤프의 덤프 ID

백업 시스템은 덤프에 있는 각 볼륨 데이터 사이에 파일표시(파일 끝 또는 EOF 표시자라고도 함)를 기록합니다. 테이프 장치의 제조업체가 파일표시 크기를 결정하며, 이는 보통 2KB와 2MB 사이입니다. 일반적으로 장치가 사용하는 테이프의 일반 용량이 커지면 파일표시 크기도 커집니다. 덤프에 많은 갯수의 볼륨 각각에 대한 데이터 중 소량만이 들어있으면, 증분 덤프가 자주 발생하므로, 파일표시 크기는 테이프에 적합한 볼륨 데이터 양을 결정하는 데 상당한 영향을 미칩니다. 백업 시스템이 덤프를 기록하면서 파일표시 크기를 결정할 수 있도록 하기 위해, 구성 파일에서 파일표시 크기를 기록할 수 있습니다. tapeconfig 파일 구성의 내용을 참조하십시오.

### 테이프 조정자 시스템, 포트 오프셋 및 백업 데이터 파일

테이프 조정자 시스템은 백업 조작에 사용되는 하나 이상의 접속 테이프 장치들을 구동시키는 시스템입니다. AFS 클라이언트 소프트웨어(캐쉬 관리 프로그램)를 실행해야 하지만 물리적으로 안전한 위치에 상주하여 콘솔에 대한 무허가 액세스를 예방해야 합니다. 백업 조작을 테이프 조정자 시스템에서 실행할 수 있으려면, 시스템에 있는 각 테이프 기계가 백업 데이터베이스에 등록되고, 몇몇 파일과 디렉토리들이 시스템의 로컬 디스크에 있어야 합니다. 명령에 대해서는 테이프 조정자 시스템 구성하기의 내용을 참조하십시오.

테이프 조정자 시스템에 있는 각 테이프 장치들은 다른 UNIX 포트로부터의 백업 요청을 인식합니다. 테이프 장치에 포트 오프셋 번호를 지정하여 간접적으로 포트를 선택합니다. 백업 시스템은 내부적으로 결정되는 기본 포트 번호에 포트 오프셋을 추가하여 장치의 실제 포트를 설정합니다. 포트 오프셋 번호 지정에 대해서는 tapeconfig 파일 구성의 내용을 참조하십시오.

테이프 장치가 백업 조작을 수행하려면, 장치 전용 백업 테이프 조정자(butc) 프로세스가 테이프 조정자 시스템에서 활동적으로 실행중이어야 합니다. 그러면 그 포트 오프셋 번호를 backup 명령의 -portoffset 인수와 함께 지정하여 백업 요청을 장치의 테이프 조정자로 전송할 수 있습니다.

테이프에 백업 데이터를 기록할 뿐만 아니라, 이를 테이프 조정자 시스템의 로컬 디스크에 있는 백업 데이터 파일로 전송할 수도 있습니다. 계층적 기억영역 관리(HSM) 시스템과 같은 데이터 아카이브 시스템으로 데이터를 전송할 수도 있습니다. 이러한 시스템은 AFS 및 백업 시스템과 함께 사용합니다. 백업 데이터 파일에는 테이프 장치와 유사한 포트 오프셋이 있습니다. 백업 데이터 파일 구성에 대해서는 백업 데이터 파일로 데이터 덤프의 내용을 참조하십시오.

### 백업 데이터베이스 및 백업 서버 프로세스

백업 데이터베이스는 셀의 데이터베이스 서버 시스템에서 백업 서버 프로세스가 관리하는 복제된 관리 데이터베이스입니다. 다른 AFS 데이터베이스 서버 프로세스처럼, 백업 서버는 Ubik 유틸리티를 사용하여 다양한 데이터베이스 사본들을 동시에 유지합니다(Ubik에 대해서는 AFS 관리 데이터베이스 복제의 내용을 참조하십시오).

백업 데이터베이스는 다음 정보를 기록합니다.

- 백업에 사용된 각 테이프 장치의 테이프 조정자 기계의 호스트 이름과 포트 오프셋 번호
- 덤프 계층, 각각은 구성요소 덤프 레벨 및 이들과 연관된 만기 날짜로 구성됩니다.
- 볼륨 세트 및 이들의 구성요소 볼륨 항목
- 각 덤프에 대한 레코드, 여기에는 레코드가 표시되는 각 테이프 이름, 데이터가 포함된 볼륨 목록, 덤프 레벨, 만기 날짜, 덤프와 연관된 초기 덤프의 덤프 ID
- 덤프된 데이터가 들어있는 각 테이프의 레코드

### 백업 시스템에 대한 인터페이스

명령의 백업 집합이 백업 시스템에 대한 관리적 인터페이스입니다. backup 2진 파일에 액세스할 수 있는 AFS 클라이언트나 서버 시스템의 명령 쉘에서 명령을 실행(또는 쉘 스크립트에서 명령을 호출)할 수 있습니다. 일반 구성에서, 2진 파일은 로컬 디스크에 있습니다.

backup 명령 집합에서는 대화식 모드를 제공하며, 여기에서는 백업 서버 및 볼륨 위치(VL) 서버에 대한 연속적인 연결을 통해 여러 명령을 실행할 수 있습니다. 대화식 모드에는 여러 편리한 기능이 있으며, 여기에는 다음 기능이 포함됩니다.

- 초기 backup 문자열은 삭제하고 조작 코드만을 입력해야 합니다.
- 대화식 모드로 전환하면서 다른 AFS ID를 가정하거나 외부 셀을 지정하는 경우, 이것은 이후 모든 명령에 적용됩니다.
- 쉘 메타문자들을 큰 따옴표로 묶을 필요는 없습니다.
- (backup) jobs 명령으로 현재 및 보류중인 동작들을 추적할 수 있으며, 이 명령은 이 모드에서만 사용할 수 있습니다.
- (backup) kill 명령으로 현재 및 보류중인 동작들을 취소할 수 있으며, 이 명령은 이 모드에서만 사용할 수있습니다.

테이프(또는 백업 데이터 파일) 읽기 또는 쓰기가 필요한 명령을 실행하려면, 관련 테이프 장치에 접속된(또는 그 로컬 디스크에 백업 데이터 파일이 있는) 테이프 조정자 시스템으로의 연결을 개설한 다음, butc 명령을 실행하여 테이프 조정자 프로세스를 시작해야 합니다. 프로세스를 연속적으로 실행되고, 연결은 백업용 테이프 장치나 파일을 사용해야 하는 동안은 계속해서 연결된 채로 남아 있습니다.

자세한 설명과 그 명령에 대해서는 백업 시스템의 인터페이스 사용의 내용을 참조하십시오.

## 백업 시스템 구성의 개요

백업 시스템을 사용하여 데이터를 백업하고 복원하려면, 기본 구성요소 중 몇몇을 구성해야 합니다. 이 장에 있는 섹션에서는 다음 구성 타스크의 수행 방법에 대해 설명합니다.

- 테이프의 용량과 테이프 장치의 파일표시 크기 결정, /usr/afs/backup/tapeconfig 파일에 이들 기록(tapeconfig 파일 구성 참조)
- 백업 동작에 관리 권한을 부여하는 방법 결정(백업 수행자에게 관리 특권 부여 참조)
- 테이프 조정자 시스템, 테이프 장치 및 백업 데이터 파일 구성(테이프 조정자 시스템 및 테이프 장치 구성 참조)
- 볼륨 세트 및 볼륨 항목 정의(볼륨 세트와 볼륨 항목의 정의 및 표시 참조)
- 덤프 계층을 작성할 덤프 레벨 정의(덤프 계층 정의 및 표시 참조)
- 테이프 레이블 지정(테이프 레이블 기록 및 읽기 참조)
- 백업 프로세스를 자동화하도록 장치 구성 파일 작성(백업 프로세스 자동화 및 효율성 증대 참조)

백업 덤프 및 복원 조작을 수행하는 데 필요한 모든 구성요소를 이미 구성했으면, 데이터 백업 및 데이터 복원 및 복구에 있는 명령으로 진행할 수 있습니다.

## tapeconfig 파일 구성

테이프 조정자가 테이프에서 채울 수 있는 데이터 양을 결정하려면 여러 요소들이 필요합니다.

- 테이프 제조업체에서 설정된 테이프 용량(크기)
- 테이프 장치 제조업체에서 설정한 테이프 장치의 파일표시 크기. 테이프 조정자가 덤프에 있는 각 볼륨의 데이터 사이에 파일표시를 기록하는 테이프 레이블, 덤프 레이블 및 EOF 표시자로부터의 재호출. 덤프에 많은 갯수의 볼륨 각각에 대한 데이터 중 소량만이 들어있으면, 증분 덤프가 자주 발생하므로, 파일표시 크기는 테이프에 적합한 볼륨 데이터 양을 결정하는 데 상당한 영향을 미칩니다.
- 테이프 장치의 압축 모드를 사용하는 지 여부

(백업 데이터 파일에서 채울 수 있는 데이터 양은 파티션에서 사용할 수 있는 공간양과 운영 체제의 최대 파일 크기에 의해 결정됩니다. 테이프 조정자는 백업 데이터 파일에 기록할 때 파일표시를 기록하지 않습니다. 백업 데이터 파일로 기록하도록 테이프 조정자를 구성하는 방법에 대한 자세한 내용은 백업 데이터 파일로 데이터 덤프의 내용을 참조하십시오.)

테이프 조정자(butc) 프로세스가 시작되면, 로컬 디스크에 있는 /usr/afs/backup/tapeconfig 파일을 읽고 덤프 동작에 사용할 테이프 용량과 파일 크기 표시(테이프 장치의 경우) 또는 파일 크기(백업 데이터 파일의 경우)를 알게 됩니다. 덤프 동작을 시작할 때, 테이프 조정자도 테이프나 백업 데이터 파일의 레이블을 읽고 다른 테이프 용량 또는 파일 크기가 기록되어 있지는 않은 지 점검합니다. 다른 값이 기록되어 있는 경우, 레이블에 있는 값이 tapeconfig 파일의 기록값을 덮어쓰기합니다.

덤프 동작중에 테이프 조정자는 테이프로 데이터를 기록하므로, 테이프 용량과 파일표시 정보를 사용하여 사용되는 테이프 용량과, 물리적 테이프 끝(EOT)까지 남아있는 용량을 추적합니다. EOT에 도달하기 전에 잠깐 테이프 조정자는 기록을 정지하고 새로운 테이프를 요청합니다. 이처럼, 백업 데이터 파일의 크기를 사용하여 파일 공간이 고갈되려고 하는 시기를 알 수 있습니다. 테이프 조정자가 예기치 못하게 EOT에 도달하면, 새로운 확보하고, EOT에 도달했을 때 기록중이던 볼륨의 전체 내용을 새로운 테이프로 기록하여 복구합니다. 인터럽트된 볼륨이 첫번째 테이프에 남아 있지만 사용되지는 않습니다.

많은 테이프 장치에서는 몇 기가바이트 심지어는 몇 테라바이트의 백업 데이터를 수용할 수 있는 테이프를 사용하며, 특히 장치의 압축 모드를 사용하는 경우 그러합니다. 그러한 장치와 테이프로 기록할 경우, 테이프 조정자가 예상치 못하게 EOT에 도달할 수 있도록 허용하는 것이 좋습니다. 장치들은 인터럽트된 볼륨을 새로운 테이프로 다시 기록하는 데 많은 시간이 소요되지 않도록 하기 위해 빠르게 데이터를 기록합니다. 이와 같이, 인터럽트된 볼륨 중 첫번째 테이프에 남아있는 데이터가 많은 테이프를 차지하지 않도록 데이터를 압축합니다.

적은 양의 데이터에 적합한 테이프로 기록하는 경우(2GB 이하), 테이프 조정자가 예기치 않게 EOT에 도달하지 않도록 하는 것이 좋습니다. AFS는 최대 2GB의 볼륨을 지원하므로, 실제로 인터럽트된 볼륨이 테이프 대부분을 차지할 수 있습니다. 그러한 테이프의 경우, 테이프 용량과 파일표시 크기에 대한 정확한 기록하면 테이프 사용 및 덤프 동작의 효율성을 극대화하는 데 도움이 됩니다. tapeconfig 파일의 필드에 대한 다음 설명에서는 적합한 값을 결정하는 방법에 대해 설명합니다.

문서 편집기를 사용하여, 테이프 조정자의 tapeconfig 파일에서 사용하는 각 테이프 장치나 백업 데이터 파일에 대한 항목을 작성합니다. 각 장치나 파일의 항목은 한 라인상에 있으며, 그 형식은 다음과 같습니다.

       [capacity   filemark_size]    device_name    port_offset

여기서,

capacity
  테이프 장치에 사용된 테이프 용량, 또는 백업 데이터 파일로 기록하는 데이터 양을 지정합니다. 뒤에 단위를 나타내는 문자가 오는 정수 값을 지정합니다. 중간에 공백은 없어야 합니다. k 또는 K는 킬로바이트를, m 또는 M은 메가바이트를, g 또는 G는 기가바이트를, t 또는 T는 테라바이트를 나타냅니다. 단위 문자가 생략되면, 기본값은 킬로바이트입니다.

  일반 모드(압축 모드가 아닌)에서 사용하려는 2 GB 이하의 테이프 용량을 결정하려면, 테이프 제조업체에서 테이프 포장에 지정한 값이나 이 절의 후반부에서 설명하는 fms 명령을 사용하여 그 용량을 결정할 수 있습니다. 테이프 조정자가 예상치 못하게 EOT에 도달하지 않도록 하려면, tapeconfig 파일이나 레이블에 테이프의 실제 용량보다 10% 작은 용량을 기록하는 것이 좋습니다. 압축 모드에서 사용된 소형 테이프에 적합한 값을 계산하기 위해, 테이프 용량(제조업체에서 기록한)에 장치의 압축 비율을 곱하는 것도 한가지 방법입니다.

  몇 기가바이트 또는 몇 테라바이트의 데이터를 수용하는 테이프의 경우, 테이프 드라이브의 압축 모드를 사용한다면 테이프의 최대 용량보다 큰 값(예를 들면 2배)을 기록하도록 구성하는 것이 좋습니다. 비압축 모드인 경우라도 대형 테이프에서 fms 명령을 사용하는 것은 좋지 않습니다. 명령은 압축 모드에 정확한 결과를 생성하지 않습니다. 테이프 조정자가 예상치 못하게 EOT에 도달할 수 있을 수 있지만, 인터럽트된 볼륨에서 버려진 데이터들이 많은 테이프 용량을 나타내지 않는 테이프의 많은 데이터에 적합합니다.

  백업 데이터 파일의 경우, 파티션에서 사용할 수 있는 양보다 약간 작은 값, 운영 체제의 최대 파일 크기보다는 상당한 작은 값을 기록하십시오. 또한 다른 프로세스들이 파티션에 기록하지 못하도록 그 기능을 제한하여 파티션에 있는 공간들을 최대로 사용하지 못하도록 하는 것도 좋습니다.

  이 필드가 비어있으면, 테이프 조정자는 수용할 수 있는 최대 값(2048 GB 또는 2TB)을 사용합니다. 이 필드와 filemark_size 필드 모두를 빈 채로 두거나, 이들 모두에 값을 입력하십시오.

filemark_size
  테이프 장치의 파일표시 크기를 지정합니다. 이는 보통 2KB와 2MB 사이입니다. capacity 필드에서와 같은 표기법을 사용하지만, 단위 문자가 생략되면 기본 단위가 킬로바이트가 아닌 바이트가 됨을 기억하십시오.

  일반(비압축) 모드에 있는 테이프 장치의 경우, fms 명령을 사용하여 파일표시 크기를 결정하거나, 장치의 제조업체에서 기록한 값을 사용할 수 있습니다. 테이프 조정자가 예기치 못하게 EOT에 도달하지 않도록 하려면, tapeconfig 파일에서 파일표시 크기를 기록할 때 10% 가량 값을 증가시키십시오.

  압축 모드에서 테이프 장치에 대해 권장되는 값은 0입니다. fms 명령은 압축 모드에서 정확한 결과를 생성하지 않으므로, 이를 사용하여 파일표시 크기를 결정할 수 없습니다.

  백업 데이터 파일에 대해 권장되는 값은 0입니다. 테이프 조정자는 파일로 기록할 때 파일 표시를 사용하지 않지만, 용량 필드에 값이 있는 경우라도 이 필드에 값이 표시되어야 합니다.

  이 필드가 비어 있으면, 테이프 조정자는 값 0을 사용합니다. 이 필드와 용량 필드 모두를 비어 두거나, 모두에 값을 입력하십시오.

device_name
  테이프 장치 또는 백업 데이터 파일에 대한 완전한 경로 이름을 지정합니다. 테이프 장치 이름의 형식은 운영 체제에 따라 달라지지만, UNIX 시스템에서 장치 이름들은 보통 /dev/ 문자열로 시작됩니다. 백업 데이터 파일의 경우, 이 필드에서 완전한 경로 이름을 정의하지만 백업 데이터 파일의 명명 방법에 대해서는 백업 데이터 파일로 데이터 덤프의 내용을 참조하십시오.

port_offset
  고유의 테이프 장치 또는 백업 데이터 파일에 대한 포트 오프셋 번호를 지정합니다. 각 테이프 장치들은 다른 UNIX 포트로부터의 백업 요청을 인식합니다. 이 필드에 값을 기록하여 간접적으로 포트를 선택합니다. 백업 시스템은 내부적으로 결정되는 기본 포트 번호에 포트 오프셋을 추가하여 장치의 실제 포트를 설정합니다.

  적합한 값은 0 - 58510 이내의 정수입니다(백업 시스템은 최대 58,511 포트 오프셋 번호를 추적할 수 있습니다). 각 값들은 셀의 테이프 조정자 사이에서 고유해야 하지만, 포트 오프셋 번호를 연속적으로 지정할 필요는 없으므로, 이들 번호들을 단일 시스템이나 테이프 장치와 연관시킬 수 있습니다. 예를 들어 압축 모드와 비압축 모드 모두에서 장치를 사용하려는 경우, 모드에 대해 적합한 테이프 용량 및 파일표시 값을 가진 두 개의 다른 포트 오프셋을 이 장치에 지정하십시오.

  백업 동작에 자주 사용하는 테이프 장치나 백업 데이터 파일용 테이프 조정자에 포트 오프셋 0을 지정하십시오. 그러면 backup 명령의 최대 번호에서 -portoffset 인수를 생략할 수 있습니다.

다음 예제 tapeconfig 파일에는 두 개의 테이프 장치 /dev/rmt0h 및 /dev/rmt1h에 대한 항목이 들어 있습니다. 각 항목에서는 용량이 2GB이고, 파일표시 크기가 1MB인 테이프를 사용합니다. 이들의 포트 오프셋 번호는 `0`과 `1`입니다.

       2g 1m /dev/rmt0h 0
       2G 1M /dev/rmt1h 1

fms 명령은 삽입한 테이프 용량과 테이프 장치의 파일표시 크기를 표준 출력 문자열(stdout)과 fms.log 파일 모두에 기록합니다. 이 파일은 현재 작업 디렉토리에서 기록됩니다. 명령 해석기는 데이터를 전체 테이프에 기록해야 하므로, 명령을 실행하는 데에는 테이프 크기에 따라 여러 시간에서 하루 이상씩 소요될 수 있습니다.

### 압축되지 않은 테이프 장치에서 fms 명령 실행하기

1. fms.log 파일이 현재 디렉토리에 없으면, 현재 디렉토리에 파일을 삽입하고 기록할 수 있는 지 여부를 확인하십시오. 로그 파일이 이미 있으면, 그 파일에 기록할 수 있어야 합니다.
2. 드라이브에 테이프를 넣으십시오. 명령을 완전히 실행하면 테이프가 겹쳐쓰기되므로, 공테이프나 다시 사용하려는 것을 사용하십시오.
3. fms 명령을 실행하십시오.

          % fms <tape special file>

   여기서

   fms
     모두를 입력해야 합니다.

   tape special file
     테이프 장치의 UNIX 장치명을 지정합니다(예: /dev/rmt0h).

다음 예제 출력에서는 장치에 있는 장치명이 /dev/rmt0h인 테이프의 용량이 2136604672 바이트(약 2GB)이고, 장치의 파일표시 크기가 1910205 바이트(약 2MB)임을 보고합니다.

       % fms /dev/rmt0h
       wrote block: 130408
       Finished data capacity test - rewinding
       wrote 1109 blocks, 1109 file marks
       Finished file mark test
       Tape capacity is 2136604672 bytes
       File marks are 1910205 bytes

## 백업 수행자에게 관리 특권 부여

사용자 셀에서 backup 및 butc 명령을 실행하는 사람들은 백업 데이터베이스 및 VLDB(Location Database)를 저장하는 모든 데이터베이스 서버 시스템과, 볼륨 세트에 포함된 볼륨이 있는 모든 시스템의 /usr/afs/etc/UserList 파일에 나열되어야 합니다. 규약에 따라, UserList 파일은 셀에 있는 모든 서버 시스템에서 같습니다. 본 문서의 명령에서는 사용자 셀이 이러한 방식으로 구성된 것으로 가정합니다. UserList 파일을 편집하려면, UserList 파일 관리에서 설명한 것처럼 bos adduser 및 bos removeuser 명령들을 사용하십시오.

UserList 파일에 나열될 뿐만 아니라, butc 명령을 실행하는 백업 작업자들은 각 테이프 조정자 시스템의 로컬 /usr/afs/backup 디렉토리에 저장된 파일에 기록할 수 있어야 합니다. 이 파일들은 UNIX 모드 비트로 보호됩니다. 사용자 셀의 첫번째 테이프 조정자 시스템을 구성하기 전에, 디렉토리 및 그 안에 들어갈 파일에 대한 소유자로서 지정될 로컬 사용자 및 그룹을 결정하십시오. 가능한 소유권 옵션은 다음과 같습니다.

- 로컬 수퍼유저 루트. 이 옵션을 사용하려면, butc 명령 실행자가 로컬 수퍼유저 루트로서 로컬 파일 시스템에 로그온해야 합니다. 테이프 조정자도 서버 시스템인 경우, -localauth 플래그가 butc 명령에서 사용되어 로컬 /usr/afs/etc/KeyFile 파일에서 서버 티켓을 생성합니다. 서버가 아닌 시스템에서, 실행자는 klog 명령을 실행하여 루트로서 로그인하는 동안 AFS 관리자로서 인증합니다.
- 단일 AFS 관리자. 로그인과 인증은 AFS 수정 로그인 유틸리티가 사용되는 경우 하나의 과정입니다. 관리자는 테이프 조정자를 시작할 수 있는 유일한 사용자입니다.
- 여러 운용자가 암호를 알고 있는 관리 계정. 이를 사용하면 여러 운용자 모두가 테이프 조정자를 시작할 수 있습니다.

또 다른 옵션은 모든 백업 운용자가 속하는 그룹을 로컬 그룹 파일(/etc/group 또는 이와 동등함)내에 정의하는 것입니다. 그런 다음, /usr/afs/backup 디렉토리 및 이에 들어있는 파일의 사용자 모드 비트 대신 w 모드 비트(쓰기 권한)를 온으로 설정합니다. 이전에 나열된 방법의 장점은 각 운용자가 감사시 각각에 대해 개별 관리 계정을 보유할 수 있다는 것입니다.

보호 방법의 구현에 대해서는 테이프 조정자 시스템 및 테이프 장치 구성의 내용을 참조하십시오.

## 테이프 조정자 시스템 및 테이프 장치 구성

이 절에서는 시스템을 테이프 조정자로서 구성하는 방법, 단일 테이프 장치 또는 백업 데이터 파일과 연관된 테이프 조정자를 구성하거나 제거하는 방법에 대해 설명합니다.

주: | AIX 시스템에 접속된 테이프 장치를 구성할 경우, 장치의 테이프 블록 크기를 0으로 설정하여 가변 블록 크기를 표시해야 합니다. 그렇지 않으면, 시스템 유형이 다른 시스템에 연결된 장치는 AIX 시스템에서 작성된 테이프를 읽을 수 없게 될 수 있습니다. AIX smit 프로그램을 사용하여 3 과정에서 설명한 것처럼 테이프 장치에 대한 테이프 블록 크기값을 확인하거나 변경하십시오.

### 테이프 조정자 시스템 구성하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

3. 제조업체의 지시에 따라 테이프 조정자 시스템에 하나 이상의 테이프 장치를 설치하십시오. 백업 시스템은 셀당 최대 58,511개의 테이프 장치나 백업 데이터 파일을 추적할 수 있습니다.

   테이프 조정자 시스템이 AIX 시스템인 경우, 다음 명령을 실행하여 테이프 장치의 테이프 블록 크기를 0으로 변경하십시오. 이것은 가변 블록 크기를 나타냅니다. 각 테이프 장치마다 이를 반복하십시오.

          # chdev -l 'device_name' -a block_size='0'

   여기서 device_name은 테이프 장치의 장치 이름입니다(예: /dev/rmt0h).

4. backup, butc 및 fms 명령의 2진 파일을 로컬 디스크에서 사용할 수 있는 지 확인하십시오. 시스템이 AFS 클라이언트인 경우, 원래 위치는 /usr/afsws/etc 디렉토리입니다.

          # ls /usr/afsws/etc

5. /usr/afs 디렉토리를 작성하십시오(테이프 조정자 시스템도 파일 서버 시스템으로 구성된 경우, 이 디렉토리는 항상 존재합니다). 그런 다음 /usr/afs/backup 디렉토리를 작성하십시오.

          # mkdir /usr/afs
          # mkdir /usr/afs/backup

6. 문서 편집기를 사용하여 /usr/afs/backup/tapeconfig 파일을 작성하십시오. 각 테이프 장치나 백업 데이터 파일에 한 행을 포함시켜, 표시된 순서로 다음 정보를 지정하십시오. 각 필드에서 사용할 값의 구문 세부사항 및 제안에 대해서는 tapeconfig 파일 구성의 내용을 참조하십시오.
   - 장치에 사용될 테이프 용량, 또는 백업 데이터 파일의 크기
   - 장치의 파일 표시 크기
   - 장치의 장치 이름, 문자열 /dev/로 시작함
   - 장치의 포트 오프셋 번호
7. 백업 수행자에게 관리 특권 부여에 있는 제안에 따라, /usr/afs/backup 디렉토리 및 /usr/afs/backup/tapeconfig 파일을 소유할 사용자와 그룹을 결정하십시오. 필요한 디렉토리와 파일에서 UNIX 모드 비트를 수정하십시오.

          # chown admin_owner /usr/afs/backup
          # chown admin_owner /usr/afs/backup/tapeconfig
          # chgrp admin_group /usr/afs/backup
          # chgrp admin_group /usr/afs/backup/tapeconfig
          # chmod 774 /usr/afs/backup
          # chmod 664 /usr/afs/backup/tapeconfig

8. backup addhost 명령을 실행하여 백업 데이터베이스에서 테이프 조정자 항목을 작성하십시오. 각각의 테이프 조정자에 대해 명령을 반복하십시오.

          # backup addhost <tape machine name> [<TC port offset>]

   여기서

   addh
     addhost에 대해 수용할 수 있는 축약명입니다.

   tape machine name
     테이프 조정자 시스템의 완전한 호스트 이름을 지정합니다.

   TC port offset
     테이프 장치의 포트 오프셋 번호를 지정합니다. tapeconfig 파일에서 장치에 대해 지정한 것과 같은 값을 입력하십시오. 기본값 0이 적합하지 않으면 이 인수를 제공해야 합니다.

### 기존 테이프 조정자 시스템에서 추가 테이프 조정자 구성하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

3. 제조업체의 지시에 따라 테이프 조정자 시스템에 테이프 장치를 설치하십시오.

   테이프 조정자 시스템이 AIX 시스템인 경우, 다음 명령을 실행하여 테이프 장치의 테이프 블록 크기를 0으로 변경하십시오. 이것은 가변 블록 크기를 나타냅니다.

          # chdev -l 'device_name' -a block_size='0'

4. 포트 오프셋 번호를 선택하여 테이프 장치에 지정하십시오. 필요하면, backup listhosts 명령을 사용하여 이미 사용했던 포트 오프셋 번호를 표시하십시오. 출력에 대해서는 구성된 테이프 조정자 목록 표시하기의 내용을 참조하십시오.

          # backup listhosts

   여기서 listh는 listhosts에 대한 축약명입니다.

5. 문서 편집기를 사용하여 장치에 대한 하나 이상의 항목을 /usr/afs/backup/tapeconfig 파일로 추가하십시오. 표시된 순서로 다음 정보를 지정하십시오. 각 필드에서 사용할 값의 구문 세부사항 및 제안에 대해서는 tapeconfig 파일 구성의 내용을 참조하십시오.
   - 장치에 사용될 테이프 용량, 또는 백업 데이터 파일의 크기
   - 장치의 파일표시 크기
   - 장치의 장치 이름, 문자열 /dev/로 시작함
   - 장치의 포트 오프셋 번호
6. backup addhost 명령을 실행하여 테이프 조정자에 대한 항목을 백업 데이터베이스에서 작성하십시오. 완전한 구문에 대해서는 테이프 조정자 시스템 구성하기에 있는 8 과정을 참조하십시오.

          #
       backup addhost <tape machine name> [<TC port offset>]

### 테이프 조정자 구성해제하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 문서 편집기를 사용하여, /usr/afs/backup/tapeconfig 파일에서 테이프 조정자 항목 각각을 제거하십시오.
3. backup delhost 명령을 실행하여 테이프 조정자의 백업 데이터베이스 항목을 삭제하십시오.

          % backup delhost <tape machine name> [<TC port offset>]

   여기서

   delh
     delhost에 대한 축약명입니다.

   tape machine name
     테이프 조정자 시스템의 완전한 인터넷 호스트 이름입니다.

   TC port offset
     tapeconfig 파일에서 제거된 것과 같은 포트 오프셋 번호입니다. 기본값 0이 적합하지 않으면 이 인수를 제공해야 합니다.

### 구성된 테이프 조정자 목록 표시하기

1. backup listhosts 명령을 실행하여 백업 데이터베이스에서 현재 구성되어 있는 테이프 조정자와 포트 오프셋 번호를 나열하십시오.

          % backup listhosts

   여기서

   listh
     listhosts에 대한 축약명입니다.

출력에서는 백업 데이터베이스에서 각각의 테이프 조정자 시스템 및 각각에 할당된 포트 오프셋 번호를 나열합니다. 포트 오프셋 번호가 표시된다고 해서 연관된 테이프 조정자가 실제로 실행중임을 의미하는 것은 아닙니다. 시스템 이름은 backup addhost 명령으로 지정했던 형식으로 나타납니다.

다음 예제 출력에서는 ABC 회사 셀의 백업 데이터베이스에서 정의된 테이프 조정자를 나열합니다.

       % backup listhosts
       Tape hosts:
           Host backup1.example.com, port offset 0
           Host backup1.example.com, port offset 2
           Host backup2.example.com, port offset 1
           Host backup2.example.com, port offset 3

## 볼륨 세트와 볼륨 항목의 정의 및 표시

백업 시스템은 개별 파일이 아닌 볼륨 레벨에서 데이터를 처리합니다. 백업 동작을 수행하기 전에 backup addvolset 명령을 사용하여 volume sets이라는 볼륨 그룹을 정의해야 합니다. 볼륨 세트 이름은 최대 31자까지 가능하며, 점(.) 이외의 모든 문자가 포함될 수 있지만, 셀에 있어 특별한 의미를 갖는 메타문자의 사용은 피하는 것이 좋습니다.

볼륨 세트를 작성한 다음, backup addvolentry 명령을 사용하여 하나 이상의 볼륨 항목을 놓으십시오. 이들은 위치(파일 서버 시스템 및 파티션)와 이름으로, 볼륨 세트에 속하는 볼륨을 정의합니다. 명령의 필수 -server 인수를 사용하여, 파티션을 지정하기 위한 관련 볼륨 및 필수 -partition 인수가 들어갈 파일 서버 시스템을 지정하십시오. 두 가지 유형의 값을 사용할 수 있습니다.

- 한 시스템의 완전한 호스트 이름 또는 한 파티션의 완전한 이름(예: /vicepm)
- 일반 표현식 .*(점과 별표). 이것은 VLDB에 있는 모든 시스템명이나 파티션 이름에 대응됩니다.

볼륨명(필수 -volume 인수)의 경우, 영숫자와 하나 이상의 메타문자를 조합하여 와일드 카드로 볼륨 이름의 파트 또는 모두를 지정하십시오. 볼륨 이름 필드에 다음의 메타문자를 사용할 수 있습니다.

.
  점은 단일 문자와 일치합니다.

*
  별표는 연속적인 문자의 0 또는 2자 이상에 대응됩니다. 다른 영숫자나 메타문자로 이를 조합하십시오.

[ ]
  문자 목록 주위에 있는 대괄호는 문자의 단일 인스턴스와 대응되지만, 다른 문자에는 해당되지 않습니다. 예를 들어 [abc]는 하나의 a 또는 b 또는 c와 대응되지만, d 또는 A에는 대응되지 않습니다. 이 표현식을 별표와 조합할 수 있습니다.

^
  캐럿, 괄호로 묶여진 세트에서 첫번째 문자로 사용될 경우는 캐럿 다음에 오는 문자들을 제외한 단일 문자와 대응되도록 지정합니다. 예를 들어 [^a]는 소문자 a를 제외한 모든 단일 문자와 대응됩니다. 이 표현식을 별표와 조합할 수 있습니다.

\
  이 목록에서 메타문자 앞에 오는 역슬래쉬는 문자상수 값에만 대응되도록 합니다. 예를 들어, 표현식 \.(역슬래쉬와 점)은 하나의 점에 대응되며, \*는 하나의 별표에 대응되며, \\는 하나의 역슬래쉬에 대응됩니다. 이러한 표현식을 별표와 조합할 수 있습니다(예를 들어 \.*는 몇 개의 점에 대응됩니다).

대부분의 일반 표현식에서는 점 다음에 별표가 옵니다(.*). 이 표현식은 임의 길이의 문자열에 대응되며, 이는 점이 임의 문자에 대응되고, 별표는 그 문자의 임의 갯수를 의미하기 때문입니다. 이미 설명한 바와 같이, 파일 서버 및 볼륨 항목의 파티션 필드에서 수용할 수 있는 유일한 일반 표현식입니다. 볼륨 이름 필드에서, 독립적으로 사용되거나(이런 경우 VLDB에 나열된 모든 볼륨에 대응됩니다), 영숫자와 조합될 수 있습니다. 예를 들어 user.*\.backup 문자열은 user로 시작하고 .backup으로 끝나는 볼륨 이름에 대응됩니다.

대화식 모드에서 backup addvolentry 명령을 실행하는 것이 가장 간단합니다. 쉘 프롬프트에서 이 명령을 실행하려면, 일반 표현식이 들어있는 문자열을 큰 따옴표(" ")로 묶어 쉘이 이 문자열을 해석하지 않고 해석되지 않은 채로 backup 명령 해석기에 전달할 수 있도록 합니다.

다양한 볼륨 조합을 정의하려면, backup addvolentry 명령의 3개 인수에 대해 다음 유형의 값들을 제공하십시오. 목록에서는 대화식 모드에 적합한 표기법을 사용합니다. 대신 쉘 프롬프트에서 명령을 실행하는 경우, 일반 표현식이 들어있는 문자열을 큰 따옴표로 묶으십시오. 포함되는 볼륨 항목과 작성 방법은 다음과 같습니다.

- VLDB에 나열된 모든 볼륨, 3개의 모든 인수(-server .* -partition .* -volume .*)에 대해 일반 표현식 .*를 사용합니다.
- 특정 파일 서버 시스템에 있는 모든 볼륨, -server 인수로서 완전한 호스트 이름을 지정하고 -partition 및 -volume 인수에 대해 일반 표현식 .*를 사용합니다(예를 들어 -server fs1.example.com -partition .* -volume .*).
- 여러 파일 서버 시스템의 파티션에 있는 이름이 같은 모든 볼륨, -partition 인수에 완전한 파티션 이름을 지정하고 -server 및 -volume 인수에 대해 일반 표현식 .*를 사용합니다(예: -server .* -partition /vicepd -volume .*).
- 이름에 공통 문자열이 있는 모든 볼륨, -server 및 -partition 인수에 일반 표현식 .*를 사용하고, -volume 인수로서 영숫자와 메타문자 조합을 제공합니다(예를 들어 -server .* -partition .* -volume .*\.backup에는 .backup 문자열로 이름이 끝나는 모든 볼륨이 포함됩니다).
- 한 파티션에 있는 모든 볼륨, -server 인수로서 시스템의 완전한 호스트 이름을, -partition 인수로서 완전한 파티션 이름을 지정하며, -volume 인수에 대해 .* 일반 표현식을 사용합니다(예를 들면 -server fs2.example.com -partition /vicepb -volume .*).
- 단일 볼륨, -volume 인수로서 완전한 이름을 지정합니다. 대응되는 항목을 찾기 위해 VLDB를 통한 시간이 소요되는 탐색을 통과하려면, -server 및 -partition 인수 각각에 대해 실제 시스템과 파티션 이름을 지정할 수 있습니다. 그러나 앞으로 볼륨을 이동해야 하는 경우, 시스템 및 파티션 이름에 일반 표현식 .*를 사용하는 것이 좋습니다.

볼륨 세트를 작성하고 난 뒤, 같은 시간(예를 들면 주 또는 일)에 같은 테이프로, 같은 방식(전체 또는 증분)으로 덤프하려는 볼륨 그룹을 정의하십시오. 일반적으로, 내용이 비슷한 볼륨이 들어있는 볼륨 세트(비슷한 이름으로 표시됨)는 공통 위치를 공유하는 볼륨을 포함하는 볼륨 세트보다 훨씬 유용합니다. 특히 로드 균형 또는 공간상의 이유로 볼륨을 자주 이동해야 하는 경우 해당됩니다. backup addvolentry 명령에서 -server 및 -partition 인수에 대해 일반 표현식 .*(점 다음 역슬래쉬)를 사용하는 것이 좋습니다.

일반적으로 볼륨 항목에 제한된 수의 볼륨을 포함하는 것이 효율적입니다. 많은 수의 볼륨이 들어있는 볼륨 세트를 덤프하려면 시간이 오래 소요될 수 있으며, 서비스 중단 또는 부족으로 인한 동작 장애의 가능성이 늘어납니다.

볼륨 세트에서 볼륨 항목을 제거하려면, backup delvolentry 명령을 사용하십시오. 백업 데이터베이스에서 볼륨 세트 및 구성요소 볼륨 항목 모두를 제거하려면, backup delvolset 명령을 사용하십시오. 볼륨 세트에 있는 볼륨 항목들을 표시하려면, backup listvolsets 명령을 사용하십시오.

기본적으로, 새로운 볼륨 세트에 대한 백업 데이터베이스 레코드가 작성됩니다. 때때로 백업 데이터베이스에서 볼륨 세트들을 영구적으로 기록하지 않고 기록하는 것이 편리합니다. 예를 들어 backup volsetrestore 명령을 사용하여 함께 백업하지 않아도 되는 볼륨 그룹들을 복원하는 경우(자세한 설명은 backup volsetrestore 명령 사용 내용 참조). 임시 볼륨 세트를 작성하려면, -temporary 플래그를 backup addvolset 명령에 넣으십시오. 임시 볼륨 세트는 현재 대화식 세션이 수행되는 동안에만 존재하므로, 플래그는 대화식 세션 동안(backup(대화식) 명령을 실행하여 세션을 열어) 사용될 경우에만 유효합니다. backup delvolset 명령을 사용하여 대화식 세션을 종류하기 전에 임시 볼륨 세트를 삭제할 수 있습니다. 원하면 세션을 종료할 때 자동으로 삭제할 수도 있습니다. 임시 볼륨 세트의 장점 중 하나는 backup addvolset 명령과, 이후 볼륨 항목을 추가하는 데 사용되는 backup addvolentry 명령들이 일반 볼륨 세트의 경우보다 빠르게 수행되는 것으로, 이는 백업 데이터베이스 레코드를 작성하지 않기 때문입니다.

### 볼륨 세트 작성하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. (선택적) backup 명령을 실행하여 대화식 모드가 되도록 하십시오. backup addvolentry 명령으로 볼륨 항목을 정의하려는 경우, 이렇게 하면 메타문자 표현식을 큰 따옴표로 묶지 않아도 됩니다. 임시 볼륨 세트를 작성하는 경우 대화식 모드가 되어야 합니다.

          % backup

3. (backup) addvolset 명령을 실행하여 볼륨 세트를 작성하십시오. (backup) addvolentry 명령을 실행하여 이에 있는 볼륨 항목들을 정의해야 합니다.

          backup>  addvolset <volume set name> [-temporary]

   여기서

   addvols
     addvolset에 대한 축약명입니다.

   volume set name
     볼륨 세트의 이름을 지정합니다. 이름에는 최대 31자까지 기능하며, 점이 포함될 수 없고 백업 데이터베이스내에서 고유해야 합니다(임시 볼륨 세트의 이름이 기존 영구 볼륨 세트와 같을 수 있지만, 혼동될 수 있으므로 좋지 않습니다).

   -temporary
     임시 볼륨 세트를 작성하며, 이는 현재의 대화식 세션에 있는 동안에는 존재합니다.

### 볼륨 세트에 볼륨 항목 추가하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. (선택적) backup 명령을 실행하여 대화식 모드가 아니라면 대화식 모드로 들어가십시오. 그러면 메타문자 표현식을 큰 따옴표로 묶지 않아도 되므로 사용하기가 쉬워 집니다. 항목을 임시 볼륨 세트로 추가하는 경우, 볼륨 세트를 작성하기 전에 이미 대화식 모드로 되어 있어야 합니다.

          % backup

3. (backup) addvolentry 명령을 발행하여 기존 볼륨 세트에서 볼륨 항목들을 정의하십시오. 백업 시스템은 볼륨 세트내에서 각각의 백업 항목에 색인을 지정하며, 1부터 시작합니다.

          backup>
       addvolentry  -name <volume set name>  \
                               -server <machine name>  \
                               -partition <partition name>  \
                               -volumes <volume name (regular expression)>

   여기서

   addvole
     addvolentry에 대한 축약명입니다.

   -name
     볼륨 항목을 추가할 볼륨 세트의 이름입니다. 이미 존재해야 합니다(backup addvolset 명령을 사용하여 작성하십시오).

   -server
     볼륨 항목내에 볼륨들이 있는 하나 이상의 파일 서버 시스템 세트를 정의합니다. 하나의 완전한 호스트 이름(fs1.example.com과 같은)이나 메타문자 표현식 .*(점과 별표)을 입력하십시오. 이것은 VLDB에 있는 모든 시스템 이름에 대응합니다.

   -partition
     볼륨 항목내의 볼륨들이 상주하는 하나 이상의 파티션 세트를 정의합니다. 하나의 완전한 파티션 이름(/vicepa와 같은)이나 메타문자 표현식 .*(점과 별표)을 입력하십시오. 이것은 모든 파티션 이름에 대응합니다.

   -volumes
     볼륨 항목에 포함된 하나 이상의 볼륨 세트를 정의하며, 그 이름으로 식별됩니다. 이 인수에는 영숫자와, 이 절의 소개 부분에서 설명했던 하나 이상의 메타문자 표현식의 조합이 포함될 수 있습니다.

### 볼륨 세트 및 볼륨 항목 표시하기

1. backup listvolsets 명령을 실행하여 특정 볼륨 세트에 있는 볼륨 항목이나 모든 볼륨 항목들을 표시합니다. 임시 볼륨 세트를 표시하려면, 계속 임시 볼륨 세트가 작성되었던 대화식 세션에 있어야 합니다.

          % backup listvolsets [<volume set name>]

   여기서

   listv
     listvolsets에 대한 축약명입니다.

   volume set name
     표시할 볼륨 세트의 이름을 지정합니다. 이 인수를 생략하면 정의된 모든 볼륨 세트가 표시됩니다.

   명령의 출력에서는 볼륨 항목이 작성될 때 사용되었던 와일드 카드 표시를 사용합니다. 문자열 `(temporary)`는 임시 볼륨 세트를 나타냅니다. 다음 예에서는 셀의 백업 데이터베이스에서 정의된 볼륨 세트 3가지 모두와, 현재 대화식 세션에서 작성한 임시 볼륨 세트 pat+jones를 표시합니다.

          backup> listv
          Volume set pat+jones (temporary):
            Entry 1: server fs1.example.com, partition /vicepe, volumes: user.pat.backup
            Entry 2: server fs5.example.com, partition /viceph, volumes: user.jones.backup
          Volume set user:
            Entry 1: server .*, partition .*, volumes: user.*\.backup
          Volume set sun:
            Entry 1: server .*, partition .*, volumes: sun4x_55\..*
            Entry 2: server .*, partition .*, volumes: sun4x_56\..*
          Volume set rs:
            Entry 1: server .*, partition .*, volumes: rs_aix42\..*

### 볼륨 세트 삭제하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. backup delvolset 명령을 실행하여 하나 이상의 볼륨 세트와, 이들내에 들어있는 구성요소 볼륨 항목 모두를 삭제하십시오. 임시 볼륨 세트를 삭제하려면, 계속 임시 볼륨 세트가 작성되었던 대화식 세션에 있어야 합니다.

          % backup delvolset <volume set name>+

   여기서

   delvols
     delvolset의 축약명입니다.

   volume set name
     삭제할 각 볼륨 세트의 이름입니다.

### 볼륨 세트에서 볼륨 항목 삭제하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. backup 명령을 실행하여 대화식 모드로 들어가십시오.

          % backup

3. 볼륨 세트에 하나 이상의 볼륨 항목이 들어있으면, (backup) listvolsets 명령을 실행하여 각각과 연관된 색인 번호를 표시하십시오(하나의 볼륨 항목만 있는 경우, 색인은 1입니다). 명령 출력에 대한 자세한 내용은 볼륨 세트 및 볼륨 항목 표시하기의 내용을 참조하십시오.

          backup> listvolsets <volume set name>

   여기서

   listv
     listvolsets에 대한 축약명입니다.

   volume set name
     볼륨 항목을 표시할 볼륨 세트의 이름입니다.
4. (backup) delvolentry 명령을 실행하여 볼륨 항목을 삭제하십시오.

          backup> delvolentry <volume set name>  <volume entry index>

   여기서

   delvole
     delvolentry에 대한 축약명입니다.

   volume set name
     볼륨 항목을 삭제할 볼륨 세트의 이름입니다.

   volume entry index
     삭제할 볼륨 항목의 색인 번호를 지정합니다.

## 덤프 계층 정의 및 표시

덤프 계층은 전체 덤프와 증분 덤프간의 관계를 정의하는, 백업 데이터베이스내의 논리 구조입니다. 즉, 어느 덤프가 증분 덤프의 상위 덤프로서 제공되는 지를 정의합니다. 계층의 각 구성요소들은 덤프 레벨입니다.

backup adddump 명령으로 덤프 레벨을 정의하므로, 다음 규칙과 제안을 기억해야 합니다.

- 각각의 전체 덤프 레벨은 계층의 맨 위 레벨입니다. 필요한 만큼의 많은 계층을 작성하여 다른 스케줄에 있는 다른 볼륨 세트들을 덤프할 수 있습니다.
- 전체 덤프 레벨 이름은 초기 슬래시(/) 다음에 최대 28자의 영숫자로 구성된 문자열이 옵니다.
- 증분 덤프 레벨의 이름은 경로명과 유사합니다. 전체 덤프 레벨의 이름에서 시작하여 첫번째 증분 레벨, 두 번째 증분 레벨 등등 최종 증분 레벨까지 계속됩니다. 각 레벨 이름 앞에는 슬래시가 와서 앞 레벨과 구분합니다. 전체 레벨 처럼, 이름에 있는 각 구성요소 레벨에는 슬래쉬를 제외하고 최대 28개의 영숫자가 있을 수 있습니다.
- 계층에는 여러개의 레벨이 있을 수 있지만, 완전한 덤프 레벨 이름의 길이는 슬래쉬를 포함하여 최대 256자입니다.
- 제공된 증분 레벨을 정의하려면, 계층에서 이 레벨 위에 있는 모든 레벨들을 정의해야 합니다.
- 덤프 레벨 이름에서 점(.)을 사용하지 마십시오. 백업 시스템은 덤프 이름과 AFS 테이프 이름을 작성할 때 덤프의 볼륨 세트명과 덤프 레벨명 사이의 분리자로서 점을 사용합니다. 기타 영숫자와 구두문자는 허용되지만 메타문자는 피하는 것이 좋습니다. 메타문자가 들어있으면, 이것 앞에 역슬래쉬(\)를 넣거나 전체 덤프 레벨 이름을 큰 따옴표(" ")로 묶으십시오.
- 일수나 실제 다른 시간에 대한 덤프 레벨에 이름을 지정하면 덤프를 수행하는 시기를 기억하기 쉽고, 다른 레벨에서 수행된 덤프간의 관계를 추적하기가 쉬워 집니다. 그러나, 이름은 백업 시스템에게 아무런 의미가 없습니다. 백업 시스템은 이름에 따라 자동으로 덤프를 작성하지 않으며 예를 들어 화요일 덤프를 작성할 때 /sunday 레벨을 사용하는 못하도록 하지도 않습니다.
- 계층에서 하나 이상의 구성요소 레벨에 같은 이름을 사용하지 않는 것이 좋습니다. 이는 그 결과 덤프 이름이 더 이상 사용된 레벨을 나타내지 않게 되기 때문입니다. 예를 들어 덤프 레벨 /full/incr/incr의 이름을 지정하면, 첫번째 증분 레벨(/full/incr)에서 볼륨 세트를 덤프한 결과 발생한 덤프 이름 및 AFS 테이프 이름이 두 번째 증분 레벨(/full/incr/incr)에서의 덤프 결과 발생한 이름과 같아 보입니다.
- 다른 계층에 있는 각 레벨들은 같은 이름을 갖을 수 있지만, 완전한 이름은 고유해야 합니다. 예를 들어 /sunday1/monday 및 /sunday2/monday는 최종 레벨에서 같은 이름을 공유하지만, 전체 레벨(다른 계층에 속하는)에서 다른 이름을 사용하므로 고유한 것입니다. 그러나 여러 계층에서 같은 이름을 사용한다는 것은 덤프와 AFS 테이프 이름이 사용된 계층을 나타내기에 모호함을 의미합니다.

다음 예에서는 3개의 계층을 보여줍니다. 각각은 맨 위에서 전체 덤프로 시작됩니다. 첫번째 계층의 sunday1, 두 번째 계층의 sunday2, 세 번째 계층의 sunday_bin. 3가지 모든 계층에서, 기타 덤프 레벨 각각은 증분 레벨입니다.

       /sunday1
               /monday
               /tuesday
               /wednesday
               /thursday
               /friday
       /sunday2
               /monday
                      /tuesday
                              /wednesday
                                        /thursday
                                                 /friday
        /sunday_bin
                   /monday
                          /wednesday
                                    /friday

첫번째 계층에서, 각 증분 덤프 레벨은 그 상위 레벨로서 전체 레벨 /sunday1을 참조합니다. 예를 들어 /sunday1/wednesday 레벨에서 볼륨 세트를 덤프할 때, /sunday1 레벨에서 볼륨 세트가 덤프된 이후 변경되었던 데이터가 포함됩니다.

반대로, 두 번째 계층에 있는 각각의 증분 덤프 레벨은 그 상위 레벨로서 바로 앞 덤프 레벨입니다. 두 번째 계층(/sunday2/monday/tuesday/wednesday)에 있는 해당 레벨에서 볼륨 세트를 덤프할 때, 덤프 세트가 /sunday2/monday/tuesday 레벨(전날로 가정함)에서 볼륨 세트가 덤프되었던 이후 변경된 데이터만이 포함됩니다. 표시된 날짜에 덤프를 작성했다고 가정하면, 이 계층을 사용하여 작성한 증분 덤프에는 첫번째 계층에 있는 해당 레벨에서 작성한 증분 덤프보다 적은 데이터가 들어갑니다.

세 번째 계층은 데이터가 자주 변경되지 않으므로 매일 백업이 필요없는 볼륨 덤프에 적합합니다(예를 들면 시스템 2진 파일).

### 테이프 재사용 스케줄 작성

셀이 대부분의 셀과 유사하면, 백업 테이프를 저장하기 위한 공간도 제한되고 새로운 테이프에 대한 예산도 제한이 있습니다. 가장 쉬운 방법은 테이프에 있는 백업 데이터가 더 이상 필요하지 않을 때 이들을 겹쳐쓰기하여 테이프를 다시 사용하는 것입니다. 백업 시스템은 사용자가 만기 날짜를 각각의 덤프 레벨과 연관시키도록 함으로써 재사용 스케줄을 구현하는 데 도움이 됩니다. 만기 날짜는 해당 레벨에서 작성된 덤프가 종료되는 시기를 정의합니다. 해당 시간까지는 백업 시스템이 덤프가 들어있는 테이프를 겹쳐쓰기하지 않습니다. 그러므로 만기 날짜를 지정하면 자동으로 테이프 재사용 빈도가 결정됩니다.

테이프 재사용 스케줄을 설계할 때, 과거의 기간과 데이터를 백업하도록 액세스를 허용하려는 밀도를 결정해야 합니다. 예를 들어 사용자의 홈 볼륨을 최근 2주내의 어느 날짜 상태로 복원할 수 있도록 허용하려는 경우 , 이 덤프를 작성한 뒤 적어도 2주 동안 지정된 일일 덤프가 들어있는 테이프는 재사용할 수 없습니다. 이와 같이 홈 볼륨을 지난달의 지정된 주초 상태로 복원할 수 있도록 허용하려면, 최근 4주동안 주 덤프가 들어있는 덤프 세트에서 테이프들을 재사용할 수 없습니다. 다음 예 덤프 계층은 일일 증분 덤프의 만기 날짜에 13일을, 주별 전체 덤프의 만기 날짜에 27일을 설정하여 이 재사용 스케줄을 구현합니다.

/sunday1 계층의 일일 증분 레벨에서 작성된 덤프를 저장하는 데 사용된 테이프들은 /sunday3 계층에 있는 일일 덤프용으로 재사용되는 시기에 맞추어 만기되며, /sunday2와 /sunday4 계층도 유사한 관계가 있습니다. 이처럼, /sunday1 레벨의 전체 덤프가 들어잇는 테이프는 다음 달 첫번째 일요일의 전체 덤프용으로 사용되는 시기에 맞추어 만기됩니다.

       /sunday1   expires in 27d
               /monday1  expires in 13d
               /tuesday1  expires in 13d
               /wednesday1  expires in 13d
               /thursday1  expires in 13d
               /friday1  expires in 13d
       /sunday2   expires in 27d
               /monday2  expires in 13d
               /tuesday2  expires in 13d
               /wednesday2  expires in 13d
               /thursday2  expires in 13d
               /friday2  expires in 13d
       /sunday3   expires in 27d
               /monday1  expires in 13d
               /tuesday1  expires in 13d
               /wednesday1  expires in 13d
               /thursday1  expires in 13d
               /friday1  expires in 13d
       /sunday4   expires in 27d
               /monday2  expires in 13d
               /tuesday2  expires in 13d
               /wednesday2  expires in 13d
               /thursday2  expires in 13d
               /friday2  expires in 13d

셀에서 추가된 덤프를 사용하는 경우, 덤프 세트에 있는 모든 덤프는 대표 덤프와 연관된 최후(마지막) 만기 날짜를 갖기 쉽습니다. 모든 덤프들이 만기 날짜에 도달할 때 까지 덤프 세트가 들어있는 어떤 테이프도 재사용할 수 없습니다. 기존 덤프 세트로 덤프 추가의 내용을 참조하십시오.

대부분의 테이프 제조업체에서는 테이프를 제한된 횟수만큼 기록하도록 권장하므로, 테이프를 재사용할 때 이 한계를 초과하지 않는 것이 좋습니다. 테이프 이용 정도를 추적하는 데 도움을 주기 위해, 백업 시스템은 테이프 레이블에 `useCount` 계수를 기록합니다. 테이프 레이블이 다시 기록될 때 마다(backup labeltape 또는 backup dump 명령을 사용할 때 마다) 계수를 증가시킵니다. `useCount` 계수를 표시하려면, backup readlabel이나 backup scantape 명령을 사용하고, 아니면 backup dumpinfo 명령을 실행할 때 -id 및 -verbose 옵션을 넣으십시오. 명령에 대해서는 테이프 레이블 기록 및 읽기 또는 백업 덤프 레코드 표시의 내용을 참조하십시오.

### 테이프 보존

테이프를 여러번 재사용한 경우라도, 장기간(또는 무한대로) 보존해야 하는 백업 데이터가 있을 수 있습니다. 백업 시스템을 사용하여 일반 스케줄로 데이터를 보존할 수 있으며, 이전에 재사용할 것으로 예상했던 테이프에서 데이터를 보존하도록 선택할 수도 있습니다.

일반 기준으로 데이터를 보존하려는 경우, 덤프 계층에서 날짜별 덤프 레벨을 작성할 수 있습니다. 예를 들어 2000년 각 분기초에 셀에 있는 모든 데이터의 전체 덤프를 보존하도록 하려면, 덤프 계층에서 다음 레벨을 정의할 수 있습니다.

       /1Q2000
       /2Q2000
       /3Q2000
       /4Q2000

이전에 재사용하도록 계획했던 테이프에 들어있는 데이터를 보존하려면, 전체와 증분 모두를 포함하여 관련 덤프가 들어있는 모든 테이프들을 수집해야 합니다. 갑작스런 삭제를 예방하기 위해, 테이프를 보존 저장영역에 두기 전에 읽기 전용으로 만드는 스위치를 온으로 설정하는 것이 좋습니다. 테이프에 보존하고 싶지 않은 기타 데이터가 많은 경우, 관련 데이터만을 새로운 임시 볼륨에 복원하고, 그 볼륨을 가능한 최소 갯수의 테이프로 백업할 수 있습니다. 덤프 세트를 소형으로 보존하는 이유는 덤프 세트에서 보존하지 않아도 되는 필요없는 데이터의 양을 최소화하기 위한 것입니다.

보존된 데이터를 파일 시스템으로 복원할 것 같지 않으면, backup deletedump 명령을 사용하여 백업 데이터베이스에서 연관된 덤프 레코드들을 제거하도록 고려할 수 있습니다. 이것은 백업 데이터베이스를 효율적인 크기로 보존하는 데 도움이 됩니다. 데이터를 복원해야 하는 경우는 backup scantape 명령에서 -dbadd 플래그를 사용하여 덤프 레코드를 데이터베이스에 다시 삽입할 수도 있습니다. 명령에 대해서는 테이프 내용 검색하기의 내용을 참조하십시오.

### 만기 날짜 정의

만기 날짜를 사용자가 작성한 덤프 레벨과 연관시키려면, backup adddump 명령에서 -expires 인수를 사용하십시오. 기본 덤프 레벨의 만기 날짜를 변경하려면, backup setexp 명령에 대해 -expires 인수를 사용하십시오(이미 그 레벨에서 작성된 실제 덤프의 만기 날짜를 변경할 수는 없음을 기억하십시오). 이 명령들을 사용하면 절대 조건(예를 들면 2000년 1월 13일)으로 또는 상대 조건(예를 들면 덤프가 작성된 때부터 30일간)으로 만기 날짜를 정의할 수 있습니다.

- 절대 만기 날짜를 정의하려면, 다음 형식으로 -expires 인수 값을 입력하십시오.

         [at] mm/dd/yyyy [hh:MM]

  여기서 덤프가 만기되는 mm은 월, dd는 일, yyyy는 년을 나타냅니다. 년에 대해 유효한 값은 1970 - 2037 범위내에 있습니다(UNIX 시계에서 표현할 수 있는 마지막 값은 2038년 초입니다). 시간을 입력하는 경우, 24시 형식이어야 하며 hh는 시간, MM은 분입니다(예를 들어 21:50은 오후 9:50임). 시간을 생략하는 경우, 기본값은 표시된 날짜의 00:00(12시 자정)입니다.

- 상대 만기 날짜를 정의하려면, 다음 형식으로 -expires 인수값을 입력하십시오.

         [in] [yearsy] [monthsm] [daysd]

  여기서 years, months 및 days 각 값은 정수입니다. 해당 단위 문자와 함께 이들 중 적어도 하나를 입력하십시오(y, m 또는 d 각각). 중간에 공백은 허용되지 않습니다. 3개 중 하나 이상이 제공되면, 표시된 순서로 이들을 나열하십시오.

  백업 시스템은 표시된 상대값을 덤프 동작의 시작 시간에 추가하여 덤프의 실제 만기 날짜를 계산합니다. 예를 들어 연관된 만기 날짜 in 1y 6m 2d를 사용하여 만기 날짜 앞으로 1년 6개월 2일을 덤프 레벨에서 작성된 덤프에 지정합니다.

- 해당 덤프 레벨에서 백업된 덤프가 만기되지 않음을 나타내려면, 날짜와 시간 대신 NEVER 값을 입력하십시오. 그러한 레벨에서 작성된 덤프가 들어있는 테이프를 다시 사용하려면, backup readlabel 명령을 사용하여 테이프 레이블을 덮어쓰기하십시오.

backup adddump 명령에서 -expires 인수를 생략하면, 만기 날짜는 UNIX 시간 0(00:00은 1970년 1월 1일임)으로 설정됩니다. 백업 시스템은 그러한 덤프 레벨에서 작성된 덤프가 이 작성 시간에서 만기되는 것으로 간주합니다. 덤프 세트에 만기 날짜가 지정된 덤프가 없어도, 백업 시스템이 덤프 세트가 들어있는 테이프의 재사용을 제한하지는 않습니다. 덤프 세트가 들어있는 테이프의 재사용을 금지해야 하는 경우, 직접 추적 시스템을 사용해야 합니다.

### 덤프 계층으로 덤프 레벨 추가하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 선택적. backup 명령을 실행하여 대화식 모드로 들어가십시오.

          % backup

3. backup adddump 명령을 실행하여 하나 이상의 덤프 레벨을 정의하십시오. 증분 레벨을 정의하는 경우, 경로 이름에서 증분 레벨 앞에 오는 상위 레벨 모두가 이미 있어야 하며, 그렇지 않으면 명령행에서 이를 입력해야 합니다.

          backup> adddump -dump <dump level name>+
       [-expires <expiration date>+]

   여기서

   addd
     adddump에 대한 축약명입니다.

   -dump
     추가된 각 덤프 레벨의 이름입니다. 하나 이상의 덤프 레벨 이름을 지정하면, -dump 스위치를 포함시켜야 합니다.

     덤프 레벨의 전체 경로 이름을 입력하고, 경로명에서 각 레벨 앞에 슬래쉬(/)를 입력하십시오. 각 구성요소 레벨은 최대 28자까지 가능하며, 경로명에는 슬래쉬를 포함하여 256자가 포함될 수 있습니다.

   -expires
     각 덤프 레벨과 연관된 만기 날짜를 설정합니다. 만기 날짜 정의에서 설명한 바와 같이 상대 또는 절대 만기 날짜를 지정하고, 그렇지 않으면 이 인수를 생략하여 덤프 레벨에 만기 날짜를 지정하지 않도록 하십시오.

     주: | 명령의 구문 명령문에서 이 인수 다음에는 플러스 기호가 오며, 이것은 다른 분리문자나 큰 따옴표로 묶지 않아도 되는 여러 단어 값을 사용할 수 있기 때문이며, 여러 날짜를 사용하기 때문은 아닙니다. -dump 인수에서 지정한 각각의 덤프 레벨과 연관될 하나의 날짜(및 선택적으로 시간) 정의만을 입력합니다.

### 덤프 레벨의 만기 날짜 변경하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 선택적. backup 명령을 실행하여 대화식 모드로 들어가십시오.

          % backup

3. (backup) setexp 명령을 실행하여 하나 이상의 덤프 레벨과 연관된 만기 날짜를 변경하십시오.

          backup>
       setexp -dump <dump level name>+ [-expires
       <expiration date>+]

   여기서

   se
     setexp의 축약명입니다.

   -dump
     만기 날짜를 변경하려는 기존의 덤프 레벨 이름입니다.

   -expires
     각 덤프 레벨과 연관된 만기 날짜를 설정합니다. 만기 날짜 정의에서 설명한 바와 같이 상대 또는 절대 만기 날짜를 지정하고, 그렇지 않으면 이 인수를 생략하여 각각의 덤프 레벨과 현재 연관된 만기 날짜를 제거하십시오.

     주: | 명령의 구문 명령문에서 이 인수 다음에는 플러스 기호가 오며, 이것은 다른 분리문자나 큰 따옴표로 묶지 않아도 되는 여러단어 값을 사용할 수 있기 때문이며, 여러 날짜를 사용하기 때문은 아닙니다. -dump 인수에서 지정한 각각의 덤프 레벨과 연관될 하나의 날짜(및 선택적으로 시간) 정의만을 입력합니다.

### 덤프 계층에서 덤프 레벨 삭제하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 선택적. backup 명령을 실행하여 대화식 모드로 들어가십시오.

          % backup

3. (backup) deldump 명령을 실행하여 덤프 레벨을 삭제하십시오. 명령은 지정된 레벨이 상위 레벨로서 제공되는 모든 증분 덤프 레벨들을 직접 또는 간접적으로 자동 제거함을 기억하십시오.

          backup> deldump <dump level name>

   여기서

   deld
     deldump의 축약명입니다.

   dump level name
     삭제할 덤프 레벨의 완전 경로 이름을 지정합니다.

### 덤프 계층 표시하기

1. backup listdumps 명령을 실행하여 덤프 계층을 표시하십시오.

          % backup listdumps

   여기서 listd는 listdumps의 축약명입니다.

   이 명령의 출력에서는 덤프 계층을 표시하여, 다음 예제에서처럼 각 덤프와 연관된 만기 날짜를 보고합니다.

           % backup listdumps
          /week1  expires in  27d
                /tuesday  expires in  13d
                        /thursday  expires in  13d
                /sunday  expires in  13d
                       /tuesday expires in  13d
                               /thursday expires in  13d
          /week3  expires in  27d
                /tuesday  expires in  13d
                        /thursday  expires in  13d
                /sunday  expires in  13d
                       /tuesday  expires in  13d
                               /thursday  expires in  13d
          sunday1   expires in  27d
                 /monday1  expires in  13d
                 /tuesday1  expires in  13d
                 /wednesday1  expires in  13d
                 /thursday1  expires in  13d
                 /friday1  expires in  13d
          sunday2   expires in  27d
                 /monday2  expires in  13d
                 /tuesday2  expires in  13d
                 /wednesday2  expires in  13d
                 /thursday2  expires in  13d
                 /friday2  expires in  13d
          sunday3   expires in  27d
                 /monday1  expires in  13d
                 /tuesday1  expires in  13d
                 /wednesday1  expires in  13d
                 /thursday1  expires in  13d
                 /friday1  expires in  13d
          sunday4   expires in  27d
                 /monday2  expires in  13d
                 /tuesday2  expires in  13d
                 /wednesday2  expires in  13d
                 /thursday2  expires in  13d
                 /friday2  expires in  13d

## 테이프 레이블 기록 및 읽기

덤프 이름과 테이프 이름 및 테이프 레이블, 덤프 레이블 및 EOF 표시자에서 설명한 바와 같이, 백업 시스템에서 사용하는 테이프에 AFS 테이프 이름이나 영구적 이름을 지정할 수 있습니다. 이름들은 테이프 용량 표시와 함께 테이프의 마그네틱 레이블에 기록됩니다.

영속적 이름이나 AFS 테이프 이름 중 모두가 아닌 하나만을 지정할 수 있습니다. 일반적으로, AFS 테이프 이름이 아닌 영구적 이름을 지정하면 백업 프로세스가 단순화되며, 이는 백업 시스템이 영구적 이름의 형식을 설명하지 않기 때문입니다. 테이프에 영구적 이름이 없는 경우, 기본적으로 백업 시스템은 AFS 테이프 이름 필드에서 확실하게 정의된 3개의 값만을 사용하고, AFS 테이프 이름이 적합하지 않은 테이프로의 덤프는 거부합니다. 사용할 수 있는 값들은 초기 덤프의 볼륨 세트 및 덤프 레벨과 대응되는 이름, `<NULL>` 값, 필드에 값이 없음입니다.

테이프에 영구적 이름이 있는 경우, 백업 시스템은 AFS 테이프 이름을 점검하지 않으며, 덤프 동작의 일부로서 해당 AFS 테이프 이름 자체를 생성하고 이를 레이블에 기록합니다. 이것은 영구적 이름을 지정할 경우, 백업 시스템이 AFS 테이프 이름 자체를 지정하고, 테이프에 AFS 테이프 이름과 영구적 이름 모두를 갖게 됨을 의미합니다. 반대로, 테이프에 AFS 테이프 이름은 있지만 영구적 이름은 없는 경우 먼저 AFS 테이프 이름을 지우지 않으면 영구적 이름을 지정할 수 없습니다.

(영구적 이름이 없는 경우라도 장치 구성 파일에서 NAME_CHECK 명령문에 NO 값을 지정하여 백업 시스템이 테이프의 AFS 테이프 이름을 점검하지 못하도록 할 수도 있습니다. AFS 테이프 이름 체크 삭제의 내용을 참조하십시오.)

백업 시스템은 레이블이 지정되지 않은 테이프를 사용하므로, 처음 테이프를 사용하기 전에 먼저 테이프에 레이블을 지정할 필요는 없습니다. 처음 사용한 뒤, 덤프를 테이프에 기록하기 위해 테이프에 레이블을 다시 기록해야 하는 경우가 있습니다.

- 테이프에 영구적 이름이 없고, 이것의 AFS 테이프 이름은 작성하려는 새로운 초기 덤프 세트와 대응되지 않습니다(볼륨 세트와 덤프 레벨의 이름이 다르거나, 색인이 틀립니다).
- 테이프에 있는 모든 덤프들이 만기되기 전에 테이프를 다시 사용하려 합니다. 백업 시스템은 원하지 않는 덤프로 테이프를 겹쳐쓰기하지 않습니다. 재사용할 수 있도록 테이프에 레이블을 재지정하는 경우, 백업 데이터베이스에서 테이프에 대한 모든 덤프 레코드들을 삭제합니다. 이렇게 하면 테이프에 있는 어떤 데이터도 복원할 수 없게 됨을 기억하십시오.

주: | 덤프 데이터가 들어있는 테이프에 레이블을 지정하면 복원 동작시 그 데이터를 사용할 수 없게 됩니다. 이는 레이블 지정 동작이 백업 데이터베이스에서 덤프의 레코드들을 삭제하기 때문입니다. 테이프 레이블에 영구적 이름을 기록하려면, 테이프로 데이터를 덤프하기 전에 이를 수행해야 합니다.

### 레이블에 이름 기록

테이프의 레이블에 영구적 이름을 기록하려면, -pname 인수를 포함시켜 최대 32자의 문자열을 지정하십시오. 셀에서 백업 시스템과 함께 사용된 다른 테이프 중에는 사용자가 지정한 영구적 이름을 가진 테이프가 없습니다. 이는 백업 시스템이 같은 이름을 여러 테이프에 지정하지 못하도록 하지 않기 때문입니다. 백업 시스템은 기존의 AFS 테이프 이름을 `<NULL>` 값으로 겹쳐쓰기합니다. 테이프에 영구적 이름이 있는 경우, 백업 시스템은 대부분의 프롬프트에서 그리고 backup 명령의 출력에서 테이프를 말할 때 AFS 테이프 이름 대신 이 영구적 이름을 사용합니다. 영구적 이름은 -pname 인수를 backup labeltape 명령에 다시 포함시킬 때 까지 지속되며, 테이프 내용과 테이프 재사용 빈도 또는 backup labeltape 명령을 -pname 인수없이 사용하는 빈도에 관계없이 지속됩니다.

레이블에 AFS 테이프 이름을 기록하려면, 테이프로 기록하려는 초기 덤프의 덤프 레벨 경로명에서 볼륨 세트명과 최종 구성요소에 대응하는 -name 인수값과, 덤프 세트에 대한 일련의 테이프에서 테이프 위치를 나타내는 색인을 입력하십시오. 형식은 다음과 같습니다.

       volume_set_name.dump_level_name.tape_index

-name 인수를 생략하면, 백업 시스템은 AFS 테이프 이름을 `<NULL>`로 설정합니다. 백업 시스템은 backup dump 또는 backup savedb 명령을 사용하여 나중에 테이프로 초기 덤프를 기록할 때 적합한 이름을 자동으로 생성하고 기록합니다.

테이프이 이미 영구적 이름이 있으면 -name 인수를 사용할 수 없습니다. 테이프의 영구적 이름을 지우려면, 다음 명령을 실행하여 -pname 인수에 널 값을 입력하십시오.

       % backup labeltape -pname ""

### 레이블에 용량 기록

레이블에 테이프 용량을 기록하려면, -size 인수로서 킬로바이트 수를 지정하십시오. 테이프에 레이블을 처음으로 지정할 때 이 인수를 생략하면, 백업 시스템은 테이프 조정자 시스템에 /usr/afs/backup/tapeconfig 파일에서 지정된 포트 오프셋과 연관된 기본 테이프 용량을 기록합니다. 테이프 용량이 tapeconfig 파일에서 기록된 용량과 다른 경우(특히 큰 경우), 테이프를 사용하기 전에 레이블에 용량을 기록하는 것이 좋습니다. 한번 설정되면, 사용자가 -size 인수를 backup labeltape 명령에서 다시 사용할 때까지 레이블의 용량 필드 값은 계속됩니다. 테이프 레코드의 적합한 용량에 대해서는 tapeconfig 파일 구성의 내용을 참조하십시오.

테이프 레이블을 읽으려면 backup readlabel 명령을 사용하십시오.

대부분의 테이프에는 외부 포장에 적용할 수 있는 접착 레이블이 있습니다. 테이프를 쉽게 식별할 수 있도록 하려면, 접착 레이블에 최소한 테이프의 영구적 이름과 AFS 테이프 이름을 기록하십시오. 사용할 재사용 설계에 따라, 덤프 ID, 덤프 작성 날짜, 테이프에 기록할 각 덤프의 만기 날짜와 같은 다른 정보를 기록하는 것이 유용할 수 있습니다.

### 테이프에 레이블 지정하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 동작을 수행할 테이프 장치에 대한 테이프 조정자가 아직 실행되고 있지 않으면, 해당 테이프 조정자에 연결하고, butc 명령을 실행하십시오. 이에 대한 완전한 명령은 테이프 조정자 프로세스 시작하기에 있습니다.

          % butc [<port offset>] [-noautoquery]

3. 장치에 테이프를 붙이십시오.
4. 선택적. 여러 테이프에 레이블을 지정하거나 테이프에 레이블을 지정한 뒤 추가로 명령을 발행하려는 경우 backup 명령을 실행하여 대화식 모드로 전환하십시오. 대화식 프롬프트는 다음 단계에서 나타납니다.

          % backup

5. (backup) labeltape 명령을 실행하여 테이프에 레이블을 지정하십시오.

          backup> labeltape [-name <tape name, defaults to NULL>]  \
             [-size <tape size in Kbytes, defaults to size in tapeconfig>]  \
             [-portoffset <TC port offset>]
       [-pname <permanent tape name>]

   여기서

   la
     labeltape의 축약명입니다.

   -name
     레이블에 기록할 AFS 테이프 이름을 지정합니다. 이 인수나 -pname 인수 중 하나만을 포함하십시오. 이 인수를 생략하면, AFS 테이프 이름은 `<NULL>`로 설정됩니다. 인수를 제공하면, 다음 형식으로

         volume_set_name.dump_level_name.tape_index

     backup dump 동작에 테이프가 사용될 수 있도록 하십시오. volume_set_name은 테이프에 기록될 초기 덤프의 볼륨 세트명과 대응되어야 하며, dump_level_name은 볼륨 세트가 덤프될 덤프 레벨 경로명의 마지막 구성요소에 대응되어야 하며, tape_index는 덤프 세트가 들어있는 일련의 테이프에서 테이프 위치를 정확하게 나타내어야 합니다. 색인은 숫자 1에서 부터 시작됩니다.

   -size
     레이블에 기록할 테이프 용량을 지정합니다. 처음 테이프에 레이블을 지정하는 경우, 테이프 포함이 테이프 조정자 시스템에 있는 /usr/afs/backup/tapeconfig 파일의 지정된 포트 오프셋에 연관된 용량과 다른 경우에만 이 인수를 포함시켜야 합니다.

     값을 입력하면, 이것은 뒤에 단위를 나타내는 문자가 오는 정수값이며, 중간에 공백은 허용되지 않습니다. 단위 값 k 또는 K는 킬로바이트를, m 또는 M은 메가바이트를, g 또는 G는 기가바이트를 나타냅니다. 단위 문자를 생략하면, 기본값은 킬로바이트입니다.

   -portoffset
     이 동작을 위해 테이프나 백업 데이터 파일을 처리하는 테이프 조정자의 포트 오프셋 번호를 지정합니다. 기본값 0이 적합하지 않으면 이 인수를 제공해야 합니다.

   -pname
     레이블에 기록할 영구적 이름을 지정합니다. 최대 32자까지 가능하며, 영숫자도 포함될 수 있습니다. 쉘에 대해 특별한 의미를 갖는 메타문자의 사용을 피하면 쉘 프롬프트에서 발행된 명령에서 이 메타문자를 문자상수로서 작성하지 않아도 됩니다.

     이 인수나 -name 인수 중 하나만을 포함하십시오. 이 인수를 제공하면, AFS 테이프 이름이 `<NULL>`로 설정됩니다. 이 인수를 생략하면, 기존의 영구적 이름이 유지됩니다.

6. butc 명령을 실행할 때 -noautoquery 플래그를 포함시키지 않았거나 장치의 장치 구성 파일에 명령문 AUTOQUERY YES가 들어있으면, 테이프 조정자는 장치 드라이브에 테이프를 놓도록 프롬프트합니다. 이미 이것을 수행한 경우에는, <Return>을 눌러 테이프에 레이블을 지정할 준비가 되었음을 나타내어야 합니다.

### 테이프에서 레이블 읽기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 동작을 수행할 테이프 장치에 대한 테이프 조정자가 아직 실행되고 있지 않으면, 해당 테이프 조정자에 연결하고, butc 명령을 실행하십시오. 이에 대한 완전한 명령은 테이프 조정자 프로세스 시작하기에 있습니다.

          % butc [<port offset>] [-noautoquery]

3. 장치에 테이프를 붙이십시오.
4. 선택적. 여러 테이프에 레이블을 지정하거나 테이프에 레이블을 지정한 뒤 추가로 명령을 발행하려는 경우 backup 명령을 실행하여 대화식 모드로 전환하십시오. 대화식 프롬프트는 다음 단계에서 나타납니다.

          % backup

5. (backup) readlabel 명령을 실행하여 테이프의 레이블을 읽으십시오.

          backup> readlabel [<TC port offset>]

   여기서

   rea
     readlabel의 축약명입니다.

   TC port offset
     이 동작을 위해 테이프나 백업 데이터 파일을 처리하는 테이프 조정자의 포트 오프셋 번호를 지정합니다. 기본값 0이 적합하지 않으면 이 인수를 제공해야 합니다.
6. butc 명령을 실행할 때 -noautoquery 플래그를 포함시키지 않았거나 장치의 장치 구성 파일에 명령문 AUTOQUERY YES가 들어 있으면, 테이프 조정자는 장치 드라이브에 테이프를 놓도록 프롬프트합니다. 이미 수행있으면, <Return>을 눌러 테이프를 읽을 준비가 되었음을 나타내어야 합니다

테이프 레이블에 대한 정보는 backup 명령 창과 테이프 조정자 창 모두에 나타납니다. 명령 창에 있는 출력의 형식은 다음과 같습니다.

       Tape read was labelled: tape_name (initial_dump_ID)
            size: size KBytes

여기서 tape_name은 테이프의 영구적 이름(있는 경우) 또는 AFS 테이프 이름이며, initial_dump_ID는 테이프에 있는 초기 덤프의 덤프 ID이며, size는 레이블에 기록된 킬로바이트 단위의 용량입니다.

테이프 조정자 창에 있는 정보는 좀 더 확장가능합니다. 테이프의 영구적 이름은 `tape name` 필드에, 그 AFS 테이프 이름은 `AFS tape name` 필드에 나타납니다. 어느 이름이든 정의되지 않으면, `<NULL>` 값이 필드에 대신 나타납니다. 레이블에 기록된 용량은 `size` 필드에 나타납니다. 출력에 있는 다른 필드들은 테이프에 있는 초기 덤프의 작성 시기, 덤프 레벨 이름 및 덤프 ID(`creationTime`, `dump path` 및 `dump id` 각각)를 보고합니다. `cell` 필드에서는 덤프 동작이 수행되는 셀을 알려주고, `useCount` 필드에서는 backup labeltape 명령을 사용하여 또는 덤프 동작중에 테이프에 레이블이 재지정된 횟수를 알려줍니다. 자세한 내용은 AFS Administration Reference에 있는 명령의 참조 페이지를 참조하십시오.

테이프에 레이블이 없거나 드라이브가 비어 있는 경우, 명령 쉘에 다음 메시지가 나타납니다.

       Failed to read tape label.

다음 예에서는 포트 오프셋이 1인 장치에서 테이프에 대한 명령 쉘의 출력을 설명합니다.

       % backup readlabel 1
       Tape read was labelled: monthly_guest (917860000)
            size: 2150000 KBytes

다음 출력은 테이프 조정자 창에 동시에 나타납니다.

       Tape label
       ----------
       tape name = monthly_guest
       AFS tape name = guests.monthly.3
       creationTime =  Mon Feb  1 04:06:40 1999
       cell = example.com
       size = 2150000 Kbytes
       dump path = /monthly
       dump id = 917860000
       useCount = 44
       -- End of tape label --

## 백업 프로세스 자동화 및 효율성 증대

백업 시스템에는 셀에서 백업 프로세스를 자동화하고 이를 보다 효율적으로 만드는 여러 선택적 기능들이 있습니다. 여러 기능들을 혼합하면 대부분의 경우 간섭을 최소한으로 줄이고 볼륨 데이터를 테이프에 덤프할 수 있습니다. 이 많은 기능들을 이용시 장점은 자동화된 동작에 포함된 각 테이프 장치 각각에 대해 /usr/afs/backup 디렉토리에서 장치 구성 파일을 작성하는 것입니다. 장치 구성 파일 작성에 대한 일반 명령은 장치 구성 파일 작성의 내용을 참조하십시오. 다음 목록에서는 좀 더 세부적으로 각 기능에 대해 설명하는 절을 참조하도록 합니다.

- 테이프 스태커와 주크 박스를 사용하여 백업 동작을 수행할 수 있습니다. 이들은 여러 테이프들을 저장하는 장치가 접속되어 있어서 실제로 사람의 동작없이도 테이프 리더(테이프 드라이브)에 테이프를 삽입하고 제거할 수 있는 테이프 드라이브입니다. 이는 여러 테이프가 필요한 백업 동작에서도 운용자가 필요하지 않음을 의미합니다. 백업 시스템에서 스태커가 주크 박스를 사용하려면, 그 장치 구성 파일에 MOUNT 및 UNMOUNT 명령문을 포함하십시오. 장치의 테이프 마운트 및 마운트해제 루틴 호출을 참조하십시오.
- 백업 동작에 필요한 초기 테이프에 대해 테이프 조정자의 기본 프롬프트가 표시되지 않도록 할 수 있으므로, 백업 동작이 시작될 때 운용자가 없어도 됩니다(그래도 동작이 시작되기 전에는 몇몇 시점에서 드라이브에 정확한 테이프를 삽입해야 합니다). 초기 프롬프트가 표시되지 않도록 하려면, -noautoquery 플래그를 butc 명령에 포함시키고, 그렇지 않으면 장치 구성 파일에 있는 AUTOQUERY 명령문에 NO 값을 지정하십시오. 초기 테이프에서 탐색 또는 프롬프트 삭제를 참조하십시오.
- 여러 테이프 오류를 발견할 때 테이프 조정자가 생성하는 프롬프트를 표시하지 않도록 할 수 있습니다. 이 기능을 사용할 경우, 테이프 조정자는 대신 기본 방식으로 오류에 반응하며, 일반적으로 이 방법은 인간의 간섭없이 동작이 계속될 수 있도록 합니다. 오류 조건에 대한 프롬프트가 표시되지 않도록 하려면, 장치 구성 파일에 있는 ASK 명령문에 NO 값을 지정하십시오. 오류 상황에 대한 기본 응답 가능을 참조하십시오.
- 영구적 이름이 없는 테이프의 AFS 테이프 이름이 백업 시스템이 테이프에 기록중인 초기 덤프의 볼륨 세트 및 덤프 레벨 이름에서 생성된 이름과 대응되었는 지에 관한 백업 시스템의 기본 검증을 수행하지 않도록 할 수 있습니다. 그러면 테이프에 있는 모든 덤프가 만기 되는 동안 처음 레이블을 다시 지정하지 않고도 테이프를 다시 사용할 수 있습니다. 이름 확인을 억제하도록 하려면, 장치 구성 파일에 있는 NAME_CHECK 명령문에 NO 값을 지정하십시오. AFS 테이프 이름 체크 삭제를 참조하십시오.
- 파일 시스템과 장치 사이에서 볼륨 데이터를 전송할 때 테이프 조정자가 사용하는 메모리 버퍼 크기를 설정하여 테이프 스트림화(테이프 장치가 작동하는 가장 효과적인 방식)하도록 할 수 있습니다. 버퍼 크기를 설정하려면, 장치 구성 파일에 BUFFERSIZE문을 포함하십시오. 테이프 스트림화를 위한 메모리 버퍼 설정을 참조하십시오.
- 테이프 대신 테이프 조정자 시스템의 로컬 디스크에 있는 백업 데이터 파일로 덤프를 기록할 수 있습니다. 그런 다음 AFS 및 백업 시스템과 함께 사용하는 계층형 저장영역 관리(HSM) 시스템과 같은 데이터 보존 시스템으로 백업 데이터 파일을 전송할 수 있습니다. vos dump 명령을 실행하여 덤프를 파일로 기록하는 것이 좀 더 효과적입니다. 덤프를 파일로 기록하려면, 장치 구성 파일에 FILE문을 포함하십시오. 백업 데이터 파일로 데이터 덤프를 참조하십시오.

장치 구성 파일에 포함되지 않은 백업 자동화 및 효율성을 증대시키는 두 가지 다른 방법이 있습니다.

- 지정된 시간에 수행하도록 하나 이상의 backup dump 명령들을 스케줄할 수 있습니다. 이렇게 하면 운용자없이도 시스템 자원을 적게 사용하면서 백업을 작성할 수 있습니다. 앞으로 수행할 한번의 덤프 동작 또는 앞으로 여러번에 걸쳐 수행할 여러 동작을 스케줄할 수 있습니다. 덤프 스케줄을 참조하십시오.
- 이미 다른 덤프가 들어있는 테이프에 덤프를 추가할 수 있습니다. 그러면 테이프 용량을 가능한 많이 사용할 수 있습니다. 추가된 덤프가 테이프에 있는 다른 덤프 또는 초기 덤프와 관련될 필요는 없지만, 덤프가 제대로 그룹화되면 복원 동작중 테이프 변경 횟수가 줄어들 수 있습니다. 덤프를 추가하려면, -append 인수를 backup dump 명령에 포함시키십시오. 기존 덤프 세트로 덤프 추가를 참조하십시오.

### 장치 구성 파일 작성

백업 동작을 자동화시키는 많은 기능을 사용하려면, 장치를 구동시키는 테이프 조정자 시스템의 로컬 디스크에 있는 /usr/afs/backup 디렉토리에 각 테이프 장치에 대한 구성 파일을 작성하십시오. 파일 이름의 양식은 다음과 같습니다.

CFG_device_name

여기서 device_name은 테이프 장치 또는 백업 데이터 파일의 이름입니다(테이프 대신 파일로 덤프를 기록하는 방법에 대해서는 백업 데이터 파일로 데이터 덤프 참조).

테이프 장치의 경우, 초기 /dev/ 문자열에서 모든 UNIX 장치명에서 시작되는 문자열을 제거하고 이름에 있는 다른 슬래쉬를 밑줄로 대체하여 이름의 device_name 부분을 생성하십시오. 예를 들어 CFG_rmt_4m은 /dev/rmt/4m이라는 장치에 적합한 파일 이름입니다.

백업 데이터 파일의 경우, 초기 슬래쉬(/)를 제거하고 이름에 있는 다른 슬래쉬(/)를 밑줄로 대체하여 device_name 부분을 생성하십시오. 예를 들어 CFG_var_tmp_FILE은 /var/tmp/FILE이라는 백업 데이터 파일에 적합한 파일 이름입니다.

장치 구성 파일 작성은 선택적입니다. 파일에서 제공하는 이들 기능을 이용하지 않으려면, 작성하지 않아도 됩니다.

장치 구성 파일에 임의 순서대로 다음 명령문 중 하나를 포함시킬 수 있습니다. 모두는 선택적입니다. 자신의 행에 각 명령문을 놓지만, 명령문내에 신규행(<Return>) 문자를 놓지는 마십시오.

MOUNT and UNMOUNT
  필요하면 테이프 스태커나 주크 박스의 드라이브에서 마운트 및 마운트해제를 위한 루틴 스크립트를 식별합니다. 장치의 테이프 마운트 및 마운트해제 루틴 호출을 참조하십시오.

AUTOQUERY
  테이프 조정자가 백업 동작에 필요한 첫번째 테이프를 프롬프트할 지 여부를 제어합니다. 초기 테이프에서 탐색 또는 프롬프트 삭제를 참조하십시오.

ASK
  테이프 조정자가 어떤 오류 조건에 대해 반응하는 방법을 사용자에게 물을 지 여부를 제어합니다. 오류 상황에 대한 기본 응답 가능을 참조하십시오.

NAME_CHECK
  테이프 조정자가 AFS 테이프 이름이 테이프에 기록중인 초기 덤프와 대응되는 지 여부 확인을 제어합니다. AFS 테이프 이름 체크 삭제를 참조하십시오.

BUFFERSIZE
  테이프 장치와 볼륨 사이에서 데이터를 전송할 때 테이프 조정자가 사용하는 메모리 버퍼 크기를 설정합니다. 테이프 스트림화를 위한 메모리 버퍼 설정을 참조하십시오.

FILE
  테이프 조정자가 테이프 장치나 백업 데이터 파일로 덤프를 기록하는 지 또는 데이터를 복원하는 지 여부를 제어합니다. 백업 데이터 파일로 데이터 덤프를 참조하십시오.

### 장치의 테이프 마운트 및 마운트해제 루틴 호출

테이프 스태커나 주크 박스는 사람이 일부러 작동시키지 않아도 동작되는 동안 여러 테이프를 호출할 수 있으므로 백업 동작을 자동화하는 데 도움이 됩니다. 이 기능을 이용하려면, 스태커나 주크 박스용으로 기록하는 장치 구성 파일에 MOUNT 및 선택적으로 UNMOUNT 명령문을 삽입하십시오. 명령의 구문은 다음과 같습니다.

       MOUNT filename
       UNMOUNT filename

여기서 filename은 장치 제조업체에서 장치의 테이프 드라이브를 마운트하거나 마운트해제하기 위해 정의한 루틴을 호출하는 스크립트나 프로그램의 로컬 디스크에 있는 경로 이름입니다(편의를 위해, 다음 설명에서는 스크립트와 프로그램 모두에 대해 스크립트라는 용어를 사용합니다). 스크립트에는 주로 오류 상황을 처리하고, 백업 동작이 수행되는 지 여부에 따라 스크립트의 동작을 수정하는 추가 논리가 들어있습니다.

MOUNT 또는 UNMOUNT 명령문으로 다른 스크립트를 참조하거나, 마운트 및 마운트해제 루틴 모두를 호출하는 단일 스크립트를 참조할 수도 있습니다. 스크립트는 butc 명령 실행자에게 연관된 로컬 ID와 AFS 토큰을 계승합니다.

모든 테이프 장치에 대한 장치 구성 파일에 MOUNT 명령문을 포함해야 하지만, UNMOUNT 명령문은 장치 제조업체에서 제공하는 테이프 처리 루틴에 따라 그 필요 여부가 결정됩니다. 몇몇 장치 주로 스태커에는 테이프를 마운트하기 위한 하나의 단일 루틴이 있으며, 이것은 필요한 새 테이프의 삽입을 방해하는 테이프를 자동으로 마운트해제합니다. 이런 경우, UNMOUNT 명령은 필요없습니다. 마운트 및 마운트해제 루틴이 별도로 존재하는 장치의 경우, 테이프 조정자가 이에 대한 조작을 완료할 때 테이프를 제거하기 위해 UNMOUNT 명령문을 삽입해야 합니다. 그렇지 않으면 이후 MOUNT 명령문 실행이 오류로 실패합니다.

장치 구성 파일에 MOUNT 명령문이 들어있으면, 백업 동작을 수행하기 전에 스태커나 주크 박스에 필요한 테이프를 쌓아 두어야 합니다. 대부분의 주크 박스들은 테이프에 있는 외부 레이블(바코드와 같은)을 읽고 필요한 테이프를 탐색할 수 있지만, 대부분의 스태커들은 순서대로 테이프 사이를 전환하고 어떤 경우는 한 방향으로만 전환할 수 있습니다. 후자의 경우, 정확한 순서로 테이프를 쌓아야 합니다.

테이프 장치에 테이프들을 미리 쌓아둘 수 있또록 복원 동작에 필요한 테이프 목록을 구하려면, -n 플래그를 적합한 백업 명령(backup diskrestore, backup volrestore, 또는 backup volsetrestore)에 포함시키십시오. 덤프 동작의 경우, 보통 동작에 필요한 것보다 충분히 많은 테이프를 장치에 두는 것이 좋습니다. 영구적 이름이나 AFS 테이프 이름으로 테이프에 미리 레이블을 지정할 수 있지만, 이 이름들 모두를 지정할 필요는 없습니다. 덤프 동작용 테이프에 AFS 테이프 이름으로 레이블을 지정하는 경우, 테이프 색인 순으로 스태커로 테이프를 로드하는 것이 가장 간단합니다. 그러나, 영구적 테이프 이름으로 테이프에 미리 레이블을 지정하거나 레이블이 없는 테이프를 사용하는 것이 좀 더 간단할 수도 있습니다. 이런 경우, 백업 시스템은 덤프 동작중에 제대로 색인화된 AFS 테이프 이름을 생성하고 적용합니다.

#### 테이프 조정자가 MOUNT 및 UNMOUNT 명령을 사용하는 방법

butc 명령을 실행하여 제공된 테이프 장치에 대해 테이프 조정자를 시작할 경우, 테이프 조정자는 로컬 디스크에서 /usr/afs/backup/CFG_device_name 장치 구성 파일을 찾습니다. 여기서 device_name의 형식은 장치 구성 파일 작성에서 설명한 바와 같습니다. 파일이 있고 MOUNT 명령문이 들어있으면, 테이프 조정자에 테이프가 필요할 때 마다 명령문의 filename 인수가 지정한 스크립트를 실행합니다.

장치 구성 파일이 없거나 MOUNT 명령문이 들어있지 않으면, 테이프 조정자에 테이프가 필요할 때마다 운용자가 필요한 테이프를 삽입하도록 하는 프롬프트를 창에서 생성합니다. 테이프 조정자가 백업 동작을 계속하려면 운용자가 테이프를 넣고 <Return>을 눌러야 합니다.

그러나 장치 구성 파일에 있는 AUTOQUERY 명령문을 NO로 설정하거나 -noautoquery 플래그를 butc 명령에 삽입하여, 동작에 필요한 첫번째 테이프에 대한 테이프 조정자의 동작을 수정할 수도 있음을 기억하십시오. 이런 경우, 테이프 조정자는 MOUNT 명령문을 실행하지 않거나 동작 시작시 테이프에 대해 프롬프트를 표시하지 않습니다. 이는 드라이브에서 필요한 첫번째 테이프를 찾을 것으로 기대하기 때문입니다. 초기 테이프에서 탐색 또는 프롬프트 삭제를 참조하십시오.

장치 구성 파일에 UNMOUNT 명령문이 있으면, 테이프 조정자가 테이프 장치를 닫을 때 마다 명령문의 filename 인수에서 지정한 스크립트를 실행합니다. 스크립트를 한번만 실행하며, 장치에서 close 동작이 성공했는 지 여부에 관계없이 실행됩니다. 장치 구성 파일에 UNMOUNT 명령문이 없으면, 테이프 조정자는 아무런 조치도 수행하지 않습니다.

#### 사용가능한 매개변수 및 필수 종료 코드

테이프 조정자가 MOUNT 스크립트를 실행할 때, 다음 순서대로 5개의 매개변수를 전달합니다. 스크립트에 있는 매개변수들을 사용하여 백업 동작시 발생할 수 있는 여러 상황에 대한 반응을 결정할 수 있습니다.

1. 테이프 장치 또는 백업 데이터 파일의 경로 이름, /usr/afs/backup/tapeconfig 파일에서 기록된 바와 같음.
2. 테이프 동작, (다음 목록에서 설명하는 예외는 제외하고) 이것은 동작을 시작하는 데 사용된 backup 명령 동작 코드와 일치합니다.
   - appenddump (backup dump 명령에 -append 플래그가 포함되어 있는 경우)
   - dump (backup dump 명령에 -append 플래그가 포함되지 않는 경우)
   - labeltape
   - readlabel
   - restore (backup diskrestore, backup volrestore 또는 backup volsetrestore 명령의 경우)
   - restoredb
   - savedb
   - scantape
3. 테이프 조정자가 테이프 장치 또는 백업 데이터 파일을 열려고 시도한 횟수. 열기 시도에서 오류가 리턴되면, 테이프 조정자는 1씩 이 값을 증가시키고 MOUNT 명령문을 다시 호출합니다.
4. 테이프 이름. 몇몇 동작에서는 테이프 조정자가 `none` 문자열을 전달하며, 이는 테이프 이름을 모르거나(예를 들어 backup scantape 또는 backup readlabel을 실행할 때), 테이프에 이름이 필요없기 때문입니다(예를 들어 backup labeltape 명령을 실행할 때).
5. 백업 데이터베이스에 기록된 테이프 ID. 테이프 이름에서처럼, 백업 시스템은 테이프 ID를 모르거나 테이프에 ID가 필요없는 동작에 대해서는 `none` 문자열을 전달합니다.

MOUNT 스크립트는 다음 종료 코드 중 하나를 리턴하여 테이프 조정자에게 테이프가 성공적으로 마운트되었는 지 여부를 알려주어야 합니다.

- 코드 0은 마운트 성공을 표시하므로, 테이프 조정자는 계속해서 백업 동작을 수행합니다. MOUNT 명령문이 호출한 스크립트나 프로그램이 이 종료 코드를 리턴하지 않으면, 테이프 조정자는 UNMOUNT 명령문을 호출하지 않습니다.
- 코드 1은 마운트 실패를 나타냅니다. 테이프 조정자는 백업 동작을 종료합니다.
- 다른 코드들은 스크립트가 정확한 테이프에 액세스할 수 없음을 나타냅니다. 테이프 조정자는 운용자에게 테이프를 삽입하도록 합니다.

테이프 조정자가 UNMOUNT 스크립트를 실행할 때, 다음 순서로 두 개의 매개변수를 전달합니다.

1. 테이프 장치의 경로 이름(/usr/afs/backup/tapeconfig 파일에서 지정됨)
2. 테이프 동작. 항상 unmount

다음 예 스크립트에서는 백업 시스템이 전달한 두 개의 매개변수(`tries` 및 `operation`)를 사용합니다. 이것은 `tries` 매개변수 값이 1보다 클 경우 종료하는 예제 다음에 옵니다. 1은 스태커에 테이프가 없음을 의미하기 때문입니다.

backup dump 또는 backup savedb 동작의 경우, 루틴은 스태커 제조업체에서 제공하는 예제 stackerCmd_NextTape 기능을 호출합니다. 파일에 있는 마지막 행은 운용자가 테이프를 삽입하도록 하는 종료 코드를 리턴하며, 이들 행들은 스태커가 테이프를 로드할 수 없거나 수행되는 동작이 파일에서 명시적으로 설명한 것 중 하나가 아닐 경우(예를 들어 복원 동작) 호출됨을 기억하십시오.

       #! /bin/csh -f

       set devicefile = $1
       set operation = $2
       set tries = $3
       set tapename = $4
       set tapeid = $5
       set exit_continue = 0
       set exit_abort = 1
       set exit_interactive = 2
       #--------------------------------------------
       if (${tries} > 1) then
          echo "Too many tries"
          exit ${exit_interactive}
       endif
       if (${operation} == "unmount") then
          echo "UnMount: Will leave tape in drive"
          exit ${exit_continue}
       endif
       if ((${operation} == "dump")     |\
           (${operation} == "appenddump")     |\
           (${operation} == "savedb"))  then
           stackerCmd_NextTape ${devicefile}
           if (${status} != 0)exit${exit_interactive}
           echo "Will continue"
           exit ${exit_continue}
       endif
       if ((${operation} == "labeltape")    |\
           (${operation} == "readlabel")) then
          echo "Will continue"
          exit ${exit_continue}
       endif
       echo "Prompt for tape"
       exit ${exit_interactive}

### 초기 테이프에서 탐색 또는 프롬프트 삭제

기본적으로, 테이프 조정자는 해당 테이프 장치에 대한 장치 구성 파일을 읽어 백업 동작에 필요한 첫번째 테이프를 구합니다. 파일에 MOUNT 명령문이 있으면, 테이프 조정자는 참조되는 스크립트를 실행합니다. 장치 구성 파일이 없거나 여기에 MOUNT 명령문이 없는 경우, 테이프 조정자는 정확한 테이프를 삽입하고 <Return>을 누르도록 합니다.

동작에 테이프가 필요함을 알게 되면, backup 명령을 실행하기 전에 드라이브에 필요한 테이프를 놓고 테이프 조정자에게 초기 테이프 확보 과정을 건너뛰도록 알려줌으로써 효율성을 증가시킬 수 있습니다. 이것으로 동작은 보다 신속하게 시작되므로 테이프를 삽입하지 않아도 됩니다.

테이프 조정자의 초기 테이프 확보 단계를 통과하는 두 가지 방법이 있습니다.

1. 장치 구성 파일에 AUTOQUERY NO 명령문을 삽입합니다.
2. -noautoquery 플래그를 butc 명령에 삽입합니다.

운용자 주의가 필요한 오류 상황을 예방하려면, 드라이브에 놓은 테이프에 원하지 않는 덤프가 들어있지 않도록 하고 쓰기 보호되어 있지 않도록 해야 합니다. 테이프 레이블에 영구적 이름이 없는 상태에서 초기 덤프를 작성하는 경우, AFS 테이프 이름이 볼륨 세트 및 덤프 세트 이름과 대응되거나 아니면 `<NULL>`이 되도록 하십시오. 또는, AFS 테이프 이름 체크 삭제에서 설명한 것처럼 장치 구성 파일에 있는 NAME_CHECK 명령문에 NO 값을 지정하여 테이프 조정자의 이름 검증을 억제하십시오.

### 오류 상황에 대한 기본 응답 가능

기본적으로, 테이프 조정자는 사용자에게 오류 상황이 발생했을 때의 반응 방법을 묻습니다. 프롬프트를 억제하고 테이프 조정자가 미리 결정된 방식으로 오류를 처리하도록 하려면, 장치 구성 파일에 ASK NO 명령문을 삽입하십시오. YES 값을 지정하거나 ASK 명령문을 완전히 생략한 경우, 테이프 조정자는 오류 중 하나가 발생했을 때에 대한 지침을 입력하도록 합니다.

다음 목록에서는 오류 환경과, 이에 대한 테이프 조정자의 반응에 대해 대해 설명합니다.

- 백업 시스템은 backup dump 명령을 실행하는 동안 볼륨을 덤프할 수 없습니다. NO 값을 지정하면, 테이프 조정자가 덤프에서 볼륨을 누락시키고 계속해서 동작합니다. YES 값을 지정하면, 즉시 다시 볼륨을 덤프할 것인 지, 덤프에서 볼륨을 삭제하지만 계속해서 작업할 것인 지, 또는 동작을 종료할 것인 지 묻습니다.
- 백업 시스템은 backup diskrestore, backup volrestore 또는 backup volsetrestore 명령을 실행하는 동안 볼륨을 복원할 수 없습니다. NO를 지정하면, 테이프 조정자는 계속해서 동작하고, 문제가 있는 볼륨을 삭제하지만 나머지 볼륨들은 복원합니다. YES 값을 지정하면 , 볼륨을 삭제하고 동작을 계속할 것인 지, 또는 동작을 종료할 것인 지 묻습니다.
- 백업 시스템은 backup scantape 명령을 실행하는 동안 덤프 세트에 임의 테이프를 포함할 것인 지 결정할 수 없습니다(AFS Administration Reference에 있는 명령의 참조 페이지에서는 이 문제점에 관한 이유에 대해 설명합니다). NO 값을 지정하면, 테이프 조정자는 테이프가 좀 더 있는 것처럼 진행하고 장치 구성 파일에서 명명한 MOUNT 스크립트를 호출하거나, 운용자가 다음 테이프를 삽입하도록 합니다. YES 값을 지정하면, 검색할 테이프가 더 있는 지 묻습니다.
- 백업 시스템은 backup labeltape 명령을 실행하는 동안 테이프에 원하지 않는 덤프가 들어 있는 지 결정합니다. NO 값을 지정하면, 테이프에 레이블을 다시 지정하지 않고 동작을 종료합니다. YES 값을 사용하면, 테이프 조정자는 방법에 관계없이 테이프에 레이블을 다시 지정할 것인 지 묻습니다.

### AFS 테이프 이름 체크 삭제

테이프에 영구적 이름이 없는 상태에서 초기 덤프를 기록하는 경우, 기본적으로 백업 시스템은 테이프의 AFS 테이프 이름이 수용할 수 있는 것인 지 여부를 확인합니다. 3가지 유형의 값을 승인합니다.

- 덤프 이름과 테이프 이름에서 설명한 것처럼, 초기 덤프의 볼륨 세트 및 덤프 레벨을 반영하는 이름과, 일련의 테이프에서 덤프 세트에 대한 테이프 위치. 테이프에 아직 영구적 이름이 없으면, -name 인수를 backup labeltape 명령에서 사용하여 AFS 테이프 이름을 지정할 수 있습니다.
- `<NULL>` 값, 영구적 이름을 지정할 때 또는 backup labeltape 명령의 -name 인수에 값이 없는 경우 발생합니다.
- 어떤 AFS 테이프 이름도 없음, 이는 테이프에 레이블을 지정하지 않았거나 테이프에 덤프를 기록하지 않았음을 의미합니다.

이름 확인을 통과하려면, 장치 구성 파일에 NAME_CHECK NO 명령문을 삽입하십시오. 그러면 테이프에 있는 모든 덤프가 만기되는 동안 처음 레이블을 다시 지정하지 않고도 테이프를 다시 사용할 수 있습니다(테이프에 만기되지 않은 덤프가 있지만 이 테이프를 다시 사용하려는 경우, backup labeltape 명령을 사용하여 레이블을 다시 지정해야 합니다. 이렇게 하려면, ASK NO 명령문이 장치 구성 파일에 나타날 수 없습니다).

### 테이프 스트림화를 위한 메모리 버퍼 설정

기본적으로, 테이프 조정자는 덤프 동작중에 16KB 메모리 버퍼를 사용합니다. 볼륨 서버로부터 볼륨 데이터를 수신하므로, 테이프 조정자는 16KB 전체를 테이프 장치로 전송하기 전에 버퍼에서 데이터 16KB를 수집합니다. 이와 유사하게, 복원 작업중에 테이프 조정자는 파일 시스템으로의 복원을 위해 32KB 전체를 볼륨 서버로 전송하기 전에 테이프 장치에서 기본적으로 32KB 데이터를 버퍼화합니다. 버퍼링으로 인해 테이프 장치와의 데이터 볼륨 이동이 좀 더 빈번해지므로 테이프 스트림화가 증진됩니다. 이것은 테이프 장치가 동작하는 가장 효과적인 방법입니다.

표준 네트워크 구성에서, 기본 버퍼 크기는 주로 테이프 스트림화를 촉진하기에 충분히 큽니다. 테이프 조정자 시스템과 파일 서버 시스템 사이의 네트워크 속도가 느린 경우, 버퍼 크기를 증가시키는 것이 도움이 될 수 있습니다.

사용자 구성을 위해 버퍼 크기를 변경하는 것이 유용한 지 여부를 결정하려면, 스트림화되었는 지 테이프 장치를 관찰하고, 그렇지 않으면 제조업체에 문의하십시오. 버퍼 크기를 설정하려면, 장치 구성 파일에 BUFFERSIZE 문을 포함하십시오. 다음 형식으로 된 정수값과 선택적인 단위값을 사용합니다.

       BUFFERSIZE size[{k | K | m | M | g | G}]

여기서 size는 덤프와 복원 동작을 수행하는 동안 버퍼로서 사용하기 위해 테이프 조정자가 할당한 메모리 양을 지정합니다. 기본 단위는 바이트이지만, 킬로바이트를 지정하려면 k 또는 K, 메가바이트는 m 또는 M, 기가바이트는 g 또는 G를 사용하십시오. size 값과 단위 문자 사이에는 공백이 없습니다.

### 백업 데이터 파일로 데이터 덤프

테이프 대신 백업 데이터 파일로 덤프를 기록할 수 있습니다. 이것은 예를 들어 계층적 기억영역 관리(HSM) 시스템과 같은 데이터 보존 시스템으로 데이터를 전송하는 경우 유용할 수 있습니다. 이 시스템은 AFS 및 백업 시스템과 함께 사용합니다. 백업 데이터 파일에서 파일 시스템으로도 데이터를 복원할 수 있습니다. 백업 데이터 파일을 사용하는 것은 여러 볼륨에 대해 동등한 vos dump 및 vos restore 명령을 실행하는 것보다 효과적입니다.

테이프 조정자 시스템의 로컬 디스크에 있는 경우 백업 데이터 파일로 기록하는 것이 가장 간단하지만, 원격 시스템에 있는 NFS 마운트 파티션으로 파일을 기록할 수도 있습니다. AFS에서는 파일에 작성할 수도 있으며, 상위 디렉토리에 있는 액세스 제어 목록(ACL)에 필요한 권한을 허용할 수 있지만, AFS 데이터에서 AFS 자체로 다시 백업하는 것이 다소 순환적일 수 있습니다.

테이프 조정자가 백업 데이터 파일로 덤프를 기록할 때 백업 데이터 파일이 없으면, 이 파일을 작성합니다. 복원 동작을 수행하려면, 파일이 있어야 하고 backup dump 동작 도중 이전에 파일로 기록했던 볼륨 데이터가 들어 있어야 합니다.

백업 데이터 파일로 기록할 때, 테이프 조정자는 16KB 오프셋으로 데이터를 기록합니다. 제공된 데이터 블록(볼륨 시작 또는 끝에 신호를 지정하는 표시자와 같은)이 16KB 전체를 채우지 않으면, 테이프 조정자는 다음 블록을 기록하기 전에 다음 오프셋으로 건너뜁니다. -id 옵션으로 실행된 backup dumpinfo 명령 출력에서, `Pos` 컬럼 값은 볼륨 데이터가 시작되는 16KB 단위의 서수이고 테이프로 덤프하기 위한 것이므로 보통 이전 행에 있는 위치 번호보다 하나 더 큰 것은 아닙니다.

백업 데이터 파일로 기록하기 위해, 테이프 장치인 것처럼 파일을 구성해야 합니다.

주: | 테이프 장치 이름 대신 파일 경로 이름은 FILE YES 명령문이 장치 구성 파일에 나타날 때 /usr/afs/backup/tapeconfig 파일의 세 번째 필드에 표시되어야 하며, 반대의 경우도 해당됩니다. tapeconfig 파일이 대신 테이프 장치를 참조할 때, 덤프 동작이 성공한 것으로 표시되지만 동작하지는 않습니다. FILE 명령문이 YES로 설정되어 있는 동안은 갑자기 테이프 장치로 덤프될 때 데이터를 복원할 수 없습니다. 같은 방식으로 FILE 명령문이 NO로 설정되어 있으면, tapeconfig 항목은 실제 테이프 장치를 참조해야 합니다.

### 백업 데이터 파일 구성하기

1. /usr/afs/etc/UserList 파일에 나열된 사용자로서 인증받았는 지 확인하십시오. 필요하면 UserList 파일에서 사용자를 표시하려면에서 자세히 설명되어 있는 bos listusers 명령을 실행하십시오.

          % bos listusers <machine name>

2. 시스템에서 로컬 수퍼유저 루트가 아닌 경우 su 명령을 실행하여 이러한 권한을 얻으십시오.

          % su root
          Password: root_password

3. 선택적. backup 명령을 실행하여 대화식 모드로 들어가십시오.

          # backup

4. 포트 오프셋 번호를 선택하여 파일에 지정하십시오. 필요하면, (backup) listhosts 명령을 실행하여 이전에 지정했던 포트 오프셋을 표시하십시오. 이 명령은 구성된 테이프 조정자 목록 표시하기에서 자세하게 설명합니다.

          backup> listhosts

   테이프 장치에서 처럼, 사용할 수 있는 값은 0 - 58510 이내의 정수입니다(백업 시스템은 최대 58,511개의 포트 오프셋 번호를 추적할 수 있습니다). 각 포트 오프셋은 셀 내에서 고유해야 하지만, 임의 번호를 단일 테이프 조정자 시스템과 연관시킬 수 있습니다. 포트 오프셋 번호들을 연속적으로 지정할 필요는 없습니다.

5. (backup) addhost 명령을 실행하여 백업 데이터베이스에서 백업 데이터 파일의 포트 오프셋을 등록하십시오.

          backup>
       addhost <tape machine name> [<TC port offset>]

   여기서

   addh
     addhost에 대해 수용할 수 있는 축약명입니다.

   tape machine name
     백업 데이터 파일로 기록하기 위해 호출하는 테이프 조정자 시스템의 완전한 호스트 이름을 지정합니다.

   TC port offset
     파일의 포트 오프셋 번호를 지정합니다. 기본값 0이 적합하지 않으면 이 인수를 제공해야 합니다.
6. 문서 편집기를 사용하여, 로컬 /usr/afs/backup/tapeconfig 파일에서 백업 데이터 파일의 항목을 표준 구문으로 작성하십시오.

          [capacity  filemark_size]  device_name   port_offset

   여기서

   capacity
     파일용으로 사용하려는 백업 데이터 파일이 있는 파티션의 공간양을 지정합니다. 파티션을 채워 발생하는 복잡도를 피하기 위해서는, 덤프 동작이 실행될 때 사용할 수 있을 것으로 예상하는 실제 공간양보다 약간 적은 값을 제공하는 것이 좋습니다. 운용 체제에서 허용하는 최대 파일 크기보다 커서는 안됩니다.

     단위를 나타내는 문자가 뒤에 오는 숫자값을 지정하십시오. 중간에 공백은 허용되지 않습니다. 문자 k 또는 K는 킬로바이트를, m 또는 M은 메가바이트를, g 또는 G는 기가바이트를 나타냅니다. 단위 문자를 생략하면, 기본값은 킬로 바이트입니다. 이 필드가 비어있으면, 테이프 조정자는 수용할 수 있는 최대 값(2048 GB 또는 2TB)을 사용합니다. 그런 경우 filemark_size 필드를 비워 두십시오.

   filemark_size
     0 값을 지정하거나, 이 필드와 capacity 필드 모두를 비워 두십시오. 후자의 경우, 테이프 조정자는 0 값도 사용합니다.

   device_name
     백업 데이터 파일의 완전한 경로 이름을 지정합니다. 그러나, 실제 경로 이름을 지정하는 대신 /dev 디렉토리에서 실제 파일 경로 이름을 지적하는 기호 링크를 작성하고, 기호 링크를 이 필드에 기록하는 것이 좋습니다. 이 구성을 사용하면 다음과 같은 장점이 있습니다.
     - CFG_device_name, TE_device_name, TL_device_name 파일명의 device_name 부분을 가능한 짧게 하십시오. 기호 연결은 테이프 장치인 것처럼 /dev 디렉토리에 있으므로, 초기 슬래쉬(/) 대신 파일 이름을 작성할 때 /dev/ 접두어 전체를 제거하십시오. 예를 들어 기호 연결이 /dev/FILE인 경우, 장치 구성 파일의 이름은 CFG_FILE인 반면, 실제 경로명 /var/tmp/FILE이 tapeconfig 파일에 있으면, 구성 파일의 이름은 CFG_var_tmp_FILE이어야 합니다.
     - 테이프 조정자가 완전한 덤프를 백업 데이터 파일로 기록할 수 없는 경우(예를 들면 백업 데이터 파일이 들어있는 파티션이 가득차게 되므로) 좀 더 매끄럽고 자동화된 복구를 위해 제공됩니다. 이러한 문제점에 대한 테이프 조정자의 대응 방법은 MOUNT 스크립트를 호출하거나, MOUNT 명령이 구성 파일에 없는 경우 프롬프트를 표시하는 것입니다.
       - MOUNT 스크립트가 있으면, 사용가능한 공간이 있는 파티션의 다른 백업 데이터 파일을 지적하도록 기호 연결을 변경하는 스크립트로 서브루틴을 추가하여 이 상황을 준비할 수 있습니다.
       - MOUNT 명령문이 없으면, 프롬프트를 사용하여 다른 백업 데이터 파일을 지적하도록 직접 기호 연결을 변경한 다음 <Return>을 눌러 테이프 조정자가 계속 운영될 수 있는 지 신호를 지정할 수 있습니다.

       이 필드 이름이 실제 파일로서 명명되면, 파티션에서 공간이 없어질 때 복구할 수 없습니다. 동작 중에는 tapeconfig 파일을 변경할 수 없습니다.

   port_offset
     백업 데이터 파일용으로 선택한 포트 오프셋 번호를 지정합니다.
7. 테이프 조정자 시스템의 /usr/afs/backup 디렉토리에서 장치 구성 파일 CFG_device_name을 작성하십시오. 파일에 FILE YES 명령문을 삽입하십시오.

   6 단계에서 tapeconfig 파일에 기록된 장치 이름을 근거로 이름의 device_name 부분을 생성하십시오. 권장한 대로 기호 연결 이름을 기록했으면, /dev/ 문자열을 제거하고 이름에 있는 다른 슬래쉬(/)들을 밑줄(_)로 대체하십시오. 예를 들어, CFG_FILE은 기호 연결이 /dev/FILE인 경우 적합한 이름입니다. 실제 파일의 이름을 기록했으면, 앞에 있는 슬래쉬 만을 제거하고 이름에 있는 다른 슬래쉬들을 밑줄로 대체하십시오. /var/tmp/FILE 백업 데이터 파일의 경우, 적합한 장치 구성 파일 이름은 CFG_var_tmp_FILE입니다.

8. 6 단계에서 tapeconfig 항목의 device_name 필드에 기호 연결 이름을 기록하도록 선택했으면, 다음 중 하나를 수행해야 합니다.
   - ln -s 명령을 사용하여 /dev 디렉토리에서 적합한 기호 연결을 작성하십시오.
   - 이러한 방식으로 백업 데이터 파일을 초기설정하는 스크립트를 기록한 다음 장치 구성 파일에 MOUNT 명령문을 삽입하여 스크립트를 호출하십시오. 이러한 명령 다음에 예 스크립트가 나타납니다.

백업 데이터 파일 자체를 작성할 필요는 없습니다. 이는 덤프 동작이 수행될 때 파일이 없으면 테이프 조정자가 이를 수행하기 때문입니다.

다음 예 스크립트에서는 파일로의 기록 준비 단계에서 백업 데이터 파일에 대한 기호 연결을 자동으로 작성하는 방법에 대해 설명합니다. 테이프 조정자가 backup dump, backup restore, backup savedb 또는 backup restoredb 동작을 실행하는 경우, 루틴은 UNIX ln -s 명령을 호출하여 tapeconfig 파일에서 명명된 백업 데이터 파일로부터 사용할 실제 파일로의 기호 연결을 작성합니다(이것은 권장되는 방법입니다). 파일 이름을 생성할 때 백업 시스템이 전달한 `tapename` 및 `tapeid` 매개변수 값들을 사용합니다.

루틴에서는 두 개의 다른 매개변수 `tries` 및 `operation`도 사용합니다. `tries` 매개변수는 테이프 조정자가 파일에 액세스하려고 했던 횟수를 추적합니다. 1 이상의 값은 테이프 조정자가 파일에 액세스할 수 없고 루틴은 종료 코드 2(`exit_interactive`)를 나타냄을 나타내며, 이 종료 코드로 인해 운용자가 테이프를 로드하도록 합니다. 운용자는 이 때 tapeconfig 파일에서 지정한 백업 데이터 파일의 이름을 변경할 수 있습니다.

       #! /bin/csh -f
       set devicefile = $1
       set operation = $2
       set tries = $3
       set tapename = $4
       set tapeid = $5
       set exit_continue = 0
       set exit_abort = 1
       set exit_interactive = 2
       #--------------------------------------------
       if (${tries} > 1) then
          echo "Too many tries"
          exit ${exit_interactive}
       endif
       if (${operation} == "labeltape") then
          echo "Won't label a tape/file"
          exit ${exit_abort}
       endif
       if ((${operation} == "dump")   |\
           (${operation} == "appenddump")   |\
           (${operation} == "restore")   |\
           (${operation} == "savedb")    |\
           (${operation} == "restoredb")) then
          /bin/rm -f ${devicefile}
          /bin/ln -s /hsm/${tapename}_${tapeid} ${devicefile}
          if (${status} != 0) exit ${exit_abort}
       endif
       exit ${exit_continue}

[ 페이지의 맨 위 | 이전 페이지 | 다음 페이지 | 목차 | 색인 ]

© IBM Corporation 2000. All Rights Reserved