이 장에서는 파일 서버 시스템에 저장된 볼륨을 관리하는 방법을 설명합니다. 볼륨은 AFS에서 관리 단위로 지정되어 있으므로 이 작업은 관리자의 업무 중 많은 부분을 차지합니다.
이 장에서는 지정된 명령을 사용하여 다음 타스크를 수행하는 방법을 설명합니다.
| 읽기/쓰기 볼륨 작성 | vos create |
| 읽기 전용 볼륨 작성 | vos addsite 및 vos release |
| 백업 볼륨 작성 | vos backup |
| 한 번에 여러 백업 볼륨 작성 | vos backupsys |
| VLDB 항목 검토 | vos listvldb |
| 볼륨 헤더 검토 | vos listvol |
| VLDB 항목과 볼륨 헤더 검토 | vos examine |
| 볼륨의 이름 표시 | fs listquota 또는 fs examine |
| 볼륨 ID 번호 표시 | fs examine 또는 vos examine 또는 vos listvol |
| 파티션 크기 및 여유 공간 표시 | vos partinfo |
| 볼륨 위치 표시 | fs whereis 또는 vos examine |
| 마운트 포인트 작성 | fs mkmount |
| 마운트 포인트 제거 | fs rmmount |
| 마운트 포인트 표시 | fs lsmount |
| 읽기/쓰기 볼륨 이동 | vos move |
| 볼륨 헤더와 VLDB 동기화 | vos syncvldb 및 vos syncserv |
| 볼륨 할당량 설정 | fs setvol 또는 fs setquota |
| 볼륨 할당량 표시 | fs quota 또는 fs listquota 또는 fs examine |
| 볼륨 현재 크기 표시 | fs listquota 또는 fs examine |
| 시스템/파티션의 볼륨 목록 표시 | vos listvol |
| 읽기/쓰기 볼륨 제거 | vos remove 및 fs rmmount |
| 읽기 전용 볼륨 제거 | vos remove |
| 백업 볼륨 제거 | vos remove 및 fs rmmount |
| 볼륨 제거, VLDB 변경사항 없음 | vos zap |
| 읽기 전용 사이트 정의 제거 | vos remsite |
| VLDB 항목 제거, 볼륨 변경사항 없음 | vos delentry |
| 볼륨 덤프 | vos dump |
| 덤프된 볼륨 복원 | vos restore |
| 볼륨 이름 변경 | vos rename, fs rmmount 및 fs mkmount |
| 볼륨 잠금 해제 | vos unlock |
| 다중 볼륨 잠금 해제 | vos unlockvldb |
| 볼륨 잠금 | vos lock |
AFS 볼륨은 AFS 디렉토리의 파일에 대한 컨테이너와 같이 기능하는 디스크 공간의 논리적 단위로 파일들을 파일 서버 시스템의 한 파티션에 모두 보관합니다. 볼륨의 내용을 셀의 파일 트리에서 볼 수 있게 하고 사용자가 액세스할 수 있게 하려면 AFS 파일 공간의 디렉토리 위치로 볼륨을 마운트해야 합니다. 볼륨과 파일 공간에서의 그 위치와의 관계를 마운트 포인트라고 합니다. 왜냐하면 볼륨이 작동하는 AFS 내부가 표준 디렉토리 요소와 같이 보이고 수행되기 때문입니다. 사용자는 표준 UNIX 디렉토리의 내용을 액세스하고 처리하는 것과 같은 방식으로 볼륨의 내용을 액세스하고 처리할 수 있습니다. 볼륨과 디렉토리 간의 관계에 대한 자세한 정보를 보려면 볼륨 마운트에 대하여를 참조하십시오.
관리자들의 일상적인 작업 중 많은 부분은 기본적인 기억영역이며 AFS의 관리 단위인 볼륨을 처리하는 작업과 관련되어 있습니다. 볼륨이 어떤 방식으로 작업을 보다 용이하게 해줄 수 있는가에 대한 설명을 보려면 볼륨이 AFS 효율을 높이는 방법을 참조하십시오.
AFS에는 다음 목록에서 설명하는 것처럼 세 가지 유형의 볼륨이 있습니다.
| 주: | 백업 볼륨은 볼륨의 백업 버전이 보통 볼륨을 테이프로 백업하는 프로세스의 한 단계에 해당한다고 해도 AFS 백업 시스템을 사용하여 테이프에 전송되는 볼륨의 백업과 동일하지 않습니다. AFS 백업 시스템을 사용한 볼륨 백업에 대한 정보를 보려면 데이터 백업을 참조하십시오. |
앞서 설명한 것처럼 세 가지 유형의 볼륨은 서로 관련되어 있습니다. 즉 읽기 전용 및 백업 볼륨은 모두 클론이라는 프로세스를 통해 읽기/쓰기 볼륨으로부터 생성된 것입니다. 읽기 전용 및 백업 볼륨은 작성되었을 때의 읽기/쓰기 원본의 정확한 사본에 해당합니다.
볼륨을 사용하면 다음의 세 가지 방식으로 셀을 보다 쉽게 관리하고 보다 효율적으로 만들 수 있습니다.
백업은 또한 AFS 백업 시스템을 사용하여 볼륨의 내용 사본을 테이프나 특수 백업 데이터에 영구히 저장는 것을 나타내기도 합니다. AFS 백업 시스템 구성 및 AFS 데이터 백업 및 복원을 참조하십시오.
VLDB(Location Database)에는 셀의 모든 볼륨에 대한 항목이 들어 있습니다. 항목에서 가장 중요한 정보는 AFS 데이터를 가시적으로 액세스하는 데 있어서 핵심적인 요소인 볼륨 위치일 것입니다. 사용자가 파일을 열면 캐쉬 관리 프로그램은 VLDB를 유지 관리하는 볼륨 위치(VL) 서버에 해당 파일을 포함하는 볼륨이 있는 파일 서버 시스템의 목록을 문의합니다. 그런 다음 캐쉬 관리 프로그램은 해당 파일 서버 시스템에서 실행되는 파일 서버로부터 파일을 요청합니다. 파일 위치는 사용자가 볼 수 없으며 사용자는 파일의 경로 이름만 알면 됩니다.
읽기/쓰기 볼륨에 대한 VLDB 볼륨 항목에는 자체의 VLDB 항목을 가지고 있지 않은 읽기 전용 및 백업 버전에 대한 정보도 들어 있습니다(드문 예외로 읽기 전용 원본이 제거되었으므로 자체의 VLDB 항목을 가지고 있는 읽기 전용 볼륨을 들 수 있습니다). 볼륨의 VLDB 항목은 볼륨 이름, 각 버전(읽기/쓰기, 읽기 전용, 백업 및 releaseClone)에 대한 고유한 볼륨 ID 번호, 읽기/쓰기 또는 읽기 전용 버전을 저장하는 사이트의 수, 사이트의 목록을 기록합니다.
하나 이상의 볼륨에 대해 VLDB 항목을 표시하려면 VLDB 항목을 표시하려면에서 설명하는 것처럼 vos listvldb 명령을 사용하십시오. 그 볼륨 헤더와 함께 단일 볼륨에 대한 VLDB 항목을 표시하려면 볼륨의 VLDB 항목 및 볼륨 헤더를 표시하려면에서 설명하는 것처럼 vos examine 명령을 사용하십시오(볼륨 헤더에 대한 설명을 보려면 다음 절을 참조하십시오).
볼륨의 모든 버전이 하나의 VLDB 항목을 공유하는 반면 한 AFS 서버 파티션의 각 볼륨은 볼륨의 파일 및 디렉토리를 이들이 저장되어 있는 파티션에 대한 실제 메모리 주소에 맵핑하는 데이터 구조인 자체의 볼륨 헤더를 가집니다. 볼륨 헤더는 볼륨을 연속 메모리 블록에 저장되도록 요구하지 않으면서 볼륨의 내용을 논리 장치로 바인드합니다. 볼륨 헤더는 또한 볼륨에 대한 다음 정보를 제공합니다. 일부 항목은 VLDB 항목과 중복됩니다. 이름, 볼륨 ID 번호, 유형, 크기, 상태(온라인, 오프라인, 사용중), 공간 할당량, 작성 날짜와 마지막 수정 날짜에 대한 시간 소인 및 현재 날짜 중의 액세스 횟수.
하나 이상의 파티션에 볼륨 헤더를 표시하려면 볼륨 헤더를 표시하려면에서 설명하는 것처럼 vos listvol 명령을 사용하십시오. 그 볼륨 헤더와 함께 단일 볼륨에 대한 VLDB 항목을 표시하려면 볼륨의 VLDB 항목 및 볼륨 헤더를 표시하려면에서 설명하는 것처럼 vos examine 명령을 사용하십시오.
VLDB의 정보는 서버에 있는 가능한한 많은 수의 실제 볼륨의 상태(볼륨 헤더에 기록)와 일치하는 것이 중요합니다. VLDB에 있는 볼륨의 위치 정보가 잘못되면 캐쉬 관리 프로그램은 그 내용을 액세스할 수 없습니다. 볼륨의 상태를 변경하는 vos 명령을 실행할 때마다 볼륨 서버와 VL 서버는 공조하여 볼륨 헤더와 VLDB를 동기화 상태로 유지합니다. 드문 경우지만 vos 조작이 미리 중단된 경우와 같이 헤더와 VLDB가 달라지는 상황도 발생할 수 있습니다. 이들의 재동기화에 대한 지침을 보려면 VLDB 및 볼륨 헤더 동기화를 참조하십시오.
볼륨의 내용을 셀의 파일 트리에서 볼 수 있게 하고 사용자가 액세스할 수 있게 하려면 AFS 파일 공간의 디렉토리 위치로 볼륨을 마운트해야 합니다. 볼륨과 파일 공간에서의 그 위치와의 관계를 마운트 포인트라고 합니다. AFS 마운트 포인트는 보통의 UNIX 파일 시스템 디렉토리와 같이 보이고 기능도 하지만 구조적으로는 캐쉬 관리 프로그램에 디렉토리와 연관된 볼륨의 이름을 알려 주는 기호 연결에 가깝습니다. 마운트 포인트는 캐쉬 관리 프로그램이 그 마운트 포인트를 해석하는 방법을 알고 있을 때만 디렉토리로 보이고 작동할 수 있습니다.
캐쉬 관리 프로그램이 응용프로그램에서 요청한 파일을 검색해야 하는 일반적인 경우를 고려해 보십시오. 캐쉬 관리 프로그램은 AFS 루트(보통 /afs 디렉토리에 마운트되어 있음)에서 해당 파일까지 계속되는 파일의 완전한 경로 이름을 따라 진행합니다. 캐쉬 관리 프로그램이 진행 도중에 마운트 포인트를 만나면(또는 가로지르면) 마운트 포인트를 읽고 해당 디렉토리 위치에 마운트된 볼륨의 이름을 알아 냅니다. 캐쉬 관리 프로그램은 볼륨 위치(VL) 서버에 대한 위치 정보를 얻은 후에 지정된 볼륨을 페치하고 루트 디렉토리를 엽니다. 볼륨의 루트 디렉토리는 포함되어 있는 모든 파일, 하위 디렉토리 및 마운트 포인트를 나열합니다. 캐쉬 관리 프로그램은 경로 이름의 그 다음 요소에 대한 루트 디렉토리 목록을 스캔합니다. 또한 경로를 계속 따라가면서 요청된 파일이 있는 볼륨에 도착할 때까지 이 방법을 사용하여 다른 마운트 포인트를 해석합니다.
마운트 포인트는 AFS 파일 공간을 연결하는 실마리가 되어 볼륨이 여러 다른 파일 서버 시스템에 잇는 경우에도 하나의 심리스(seamless) 파일 트리 형태를 작성합니다. 볼륨의 내용은 볼륨이 디렉토리 위치에 마운트될 때 보고 액세스할 수 있으며 볼륨이 마운트되지 않으면 절대 액세스할 수 없습니다.
파일 트리의 둘 이상의 위치에 볼륨을 마운트할 수 있으나 이것은 두 가지 이유로 권장되지 않습니다. 먼저 파일 공간의 계층적 성향을 파괴할 수 있습니다. 둘째, 캐쉬 관리 프로그램은 파일에 도달하기 위해 추적하는 경로 이름에 혼동을 일으킬 수 있습니다 (예를 들어 pwd 명령의 예측치 못한 출력 야기). 그러나 둘 이상의 디렉토리에 볼륨을 마운트하면 해당 볼륨의 루트 디렉토리와 연관된 액세스 제어 목록(ACL)이 모든 마운트 포인트에 적용됩니다.
여러 유형의 마운트 포인트가 있으며 캐쉬 관리 프로그램은 각 마운트 포인트를 다른 방식으로 처리하며 각 마운트 포인트는 다른 목적에 적합합니다. 볼륨 마운트를 참조하십시오.
읽기/쓰기 볼륨의 이름은 최대 22자까지 사용할 수 있습니다. 볼륨 서버는 자동으로 .readonly 및 .backup 확장자를 각각 읽기 전용 볼륨과 백업 볼륨에 추가합니다. 적절한 경우에도 볼륨 이름에 확장자를 명시적으로 추가하지 마십시오.
일반적으로 볼륨이 포함하는 데이터의 유형이 볼륨 이름에 지정됩니다. 예를 들어 모든 사용자 볼륨을 user.username으로 명명하는 것이 일반적이며 여기서 username은 사용자의 로그인 이름입니다. 이와 마찬가지로 많은 셀들은 시스템 유형 코드로 시작되는 이름을 가진 볼륨에 시스템 2진 파일을 추가합니다. 다른 명명 규칙에 대한 목록을 보려면 볼륨을 작성하여 관리 간편화하기를 참조하십시오.
읽기/쓰기 볼륨은 가장 기본적인 볼륨 유형으로 읽기 전용 또는 백업 버전을 작성하기 위해 반드시 먼저 존재해야 합니다. vos create 명령을 실행하여 읽기/쓰기 볼륨을 작성할 경우 VL 서버는 사용자가 지정한 이름을 기록하는 VLDB 항목을 작성하고, 읽기/쓰기 볼륨 ID 번호를 지정하고, 나중에 작성될 수 있는 읽기 전용 및 백업 버전에 대한 두 개의 연속 볼륨 ID 번호를 예약해 둡니다. 동시에 볼륨 서버는 사용자가 지정하는 사이트에 볼륨 헤더를 작성하고 디스크에 볼륨 루트 디렉토리의 이름을 기록할 공간을 할당합니다. 이 이름은 사용자가 fs mkmount 명령을 실행하여 볼륨을 마운트할 때 채워지고 마운트 포인트 이름과 일치합니다. 다음은 볼륨 헤더에도 기록됩니다.
작성 후에 할당량을 변경하려면 볼륨 할당량과 현재 크기 설정 및 표시에서 설명하는 것처럼 fs setquota 명령을 사용하십시오.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
| 주: | 이 명령의 출력에서 파티션 관련 통계가 항상 표준 UNIX df 명령 출력의 해당 값과 일치하는 것은 아닙니다. 이 명령에서 보고한 통계는 캐쉬 관리 프로그램이 5분 간격으로 파티션 정보에 대해 파일 서버를 폴링하므로 생성된 이후에 최대 5분까지 경과될 수 있습니다. 또한 일부 운영 체제에서 df 명령의 파티션 크기 보고에는 이 명령의 계산에는 포함되어 있지 않은 예약된 공간이 포함되므로 약 10%가 더 커질 수 있습니다. |
% vos partinfo <machine name> [<partition name>]
여기서
% vos create <machine name> <partition name> <volume name> \
[-maxquota <initial quota (KB)>]
여기서
% fs mkmount <directory> <volume name>
% fs lsmount <directory>
% fs setvol <dir/file path> -offlinemsg <offline message>
여기서
마운트 포인트에 대한 읽기/쓰기 경로를 지정하여 읽기 전용 볼륨을 변경하려고 할 때 발생하는 장애를 피하십시오. 일반적으로 경로 이름의 두 번째 레벨의 셀 이름 앞에 마침표를 사용하여 읽기/쓰기 경로를 나타내십시오(예를 들어 /afs/.abc.com). 파일 경로를 통한 읽기/쓰기 및 읽기 전용 경로의 개념에 대해 좀더 살펴 보려면 마운트 포인트 통과 규칙을 참조하십시오.
백업 또는 읽기 전용 볼륨을 작성하기 위해 볼륨 서버는 읽기/쓰기 원본 볼륨을 클로닝하여 클론을 작성하기 시작합니다. 볼륨 서버는 vos backup 또는 vos backupsys 명령(백업 볼륨의 경우) 또는 vos release 명령(읽기 전용 볼륨의 경우)을 실행하여 자동으로 클론을 작성합니다. 사용자가 해야 할 특정 작업은 없습니다.
클론은 읽기/쓰기 원본 볼륨의 데이터 사본이 아니고 읽기/쓰기 볼륨의 vnode 색인 사본입니다. vnode 색인은 데이터가 있는 파티션의 물리적 디스크 블록과 볼륨에 있는 파일 및 디렉토리 간의 포인터의 테이블입니다. 다음 방식으로 클론으로부터 백업 및 읽기 전용 볼륨이 작성됩니다.
그림 1. 읽기/쓰기 원본 및 클론 볼륨 간의 파일 공유
![]() |
복제는 읽기/쓰기 볼륨의 읽기 전용 사본의 작성과 이 복사본을 하나 이상의 추가 파일 서버 시스템에 분배하는 것을 의미합니다. 복제를 수행하면 둘 이상의 파일 서버 시스템에서 볼륨의 내용을 액세스할 수 있으므로 데이터 사용 효율이 증가됩니다. 또한 네트워크 및 파일 서버의 작업 로드를 줄임으로써 시스템 효율성을 증가시킬 수 있습니다. 클라이언트 시스템의 서버 선호도에 따라 캐쉬 관리 프로그램이 가장 가까운 파일 서버 시스템에 저장된 볼륨 사본을 액세스하게 되는 경우 네트워크 로드가 줄어듭니다. 파일 서버 상의 로드는 읽기/쓰기 볼륨으로부터 페치된 각 파일에 대한 콜백의 경우와 반대로 읽기 전용 볼륨에서 페치된 모든 데이터에 대한 한 번의 콜백만 실행하므로 역시 줄어듭니다. 볼륨이 관리자 조치에 따라 달라지는 경우를 제외하고 변경되지 않으므로 전체 읽기 전용 볼륨에 대해 단일 콜백만으로도 충분합니다.
볼륨을 복제할 때는 두 가지 명령을 실행해야 합니다. 먼저 vos addsite 명령을 실행하여 볼륨의 VLDB 항목에 하나 이상의 사이트 정의를 추가하십시오(사이트는 파일 서버 시스템의 특정 파티션임). 그런 다음 vos release 명령을 사용하여 읽기/쓰기 원본 볼륨을 복제하고 클론을 정의된 읽기 전용 사이트에 분배하십시오. 각 읽기 전용 사이트에 대해 한번씩만 vos addsite 명령을 실행하면 되지만 읽기/쓰기 볼륨의 내용이 변경되고 사용자가 읽기 전용 볼륨을 갱신하기 원할 때마다 vos release 명령을 재실행해야 합니다.
사용자가 일관된 파일 시스템 보기를 원하는 경우 읽기 전용 사이트에 대해 갱신된 볼륨의 릴리스가 원자 형태여야 합니다. 즉 모든 읽기 전용 사이트는 새 버전의 볼륨을 받거나 모든 사이트가 현재 가지고 있는 버전을 그대로 유지해야 할 것입니다. vos release 명령은 볼륨의 읽기 전용 버전의 모든 사본이 읽기/쓰기 원본 및 서로 간에 일치할 수 있게 만들도록 설계되었습니다. 시스템 또는 서버 프로세스 작동 중지와 같은 문제점이 릴리스 조작의 성공적인 완료를 방해하는 경우 AFS는 두 가지 메카니즘을 사용하여 사용자에게 경고합니다.
첫째로 명령 인터프리터는 새 볼륨 버전을 수신하지 못한 각 읽기 전용 사이트를 명명하는 표준 오류 스트림에 오류 메시지를 생성합니다. 둘째로 릴리스 조작 중에 볼륨 위치(VL) 서버는 해당 사이트가 새 볼륨 버전을 가지고 있는지 여부를 나타내는 플래그(New release 및 Old release)로 VLDB 항목의 사이트 정의를 표시합니다. 조작이 완료된 후에 플래그가 남아 있으면 작업은 성공적으로 완료되지 못한 것입니다. 캐쉬 관리 프로그램은 New release 플래그로 표시된 사이트보다 더 큰 작업 부하를 초래할 수 있으므로 Old release 플래그로 표시된 읽기 전용 사이트의 액세스를 거부합니다. 장애의 원인을 조사하여 없앤 다음 오류 없이 릴리스가 완료되는 데 필요한 만큼 vos release 명령을 실행하는 것은 중요합니다.
실패한 릴리스 조작 이후에 볼륨의 VLDB 항목에 남아 있는 사이트 플래그의 패턴은 조작이 실패하는 시점을 알아내는 데 도움이 될 수 있습니다. vos examine 또는 vos listvldb 명령을 사용하여 VLDB 항목을 표시하십시오. VL 서버는 볼륨 서버의 조작과 관련하여 다음과 같이 플래그를 설정합니다.
기본적으로 볼륨 서버는 새 ReleaseClone을 작성해야 할지 여부를 자동적으로 결정합니다.
기본 동작을 무시하고 강제로 볼륨 서버가 새로운 ReleaseClone을 작성하여 읽기 전용 사이트에 릴리스하게 하려면 -f 플래그를 포함시키십시오. 이것은 예를 들어 읽기/쓰기 사이트의 데이터가 기존의 ReleaseClone이 이전의 릴리스 조작 중에 작성된 이후에 변경되었을 때 적절합니다.
최대 효율을 위해 두 가지 기준을 만족하는 볼륨만 복제하십시오.
읽기 전용 볼륨을 명시적으로 마운트하는 것은 (.readonly 확장자를 사용하여 볼륨을 명명하는 마운트 포인트를 작성) 일반적으로 불필요하며 적절하지 않습니다. 캐쉬 관리 프로그램은 가능할 때마다 복제된 볼륨의 읽기 전용 볼륨을 액세스하는 기본적인 성향을 가지고 있습니다. 마운트 포인트 통과 규칙에서 좀더 자세히 설명하는 것처럼 캐쉬 관리 프로그램은 내부에서 볼륨 이름을 읽을 때 마운트 포인트를 만날 때 VL 서버에 접속하여 해당 볼륨이 있는 사이트의 목록을 확인합니다. 정상적인 경우에 마운트 포인트가 읽기 전용 볼륨에 있고 읽기/쓰기 볼륨을 명명하면 (.readonly 또는 .backup 확장자를 가지지 않는 볼륨) 캐쉬 관리 프로그램은 항상 볼륨의 읽기 전용 사본을 액세스하려고 합니다. 따라서 강제로 읽기 전용 볼륨을 마운트함으로써 캐쉬 관리 프로그램이 읽기 전용 볼륨을 액세스하게 할 필요가 없습니다.
몇 가지 이유로 인해 읽기/쓰기 사이트에 읽기 전용 볼륨을 두는 것이 좋습니다. 먼저 읽기/쓰기 사이트의 읽기 전용 볼륨은 모든 데이터의 사본에 해당하는 클론이므로 적은 디스크 공간만 요구합니다(클론 및 클로닝에 대하여 참고). 읽기/쓰기 볼륨에서 많은 수의 파일이 제거되거나 변경되는 경우에만 읽기 전용 사본이 많은 디스크 공간을 차지합니다. 이러한 상황은 복제된 읽기/쓰기 볼륨의 변경에 대한 대처 방안이 이 볼륨을 재복제하는 것이므로 별로 자주 발생하지 않습니다. 읽기/쓰기 사이트에 읽기 전용 볼륨을 두는 또 다른 이유는 캐쉬 관리 프로그램이 모든 읽기 전용 사본을 액세스할 수 없게 되는 경우 복제된 볼륨의 읽기/쓰기 버전을 액세스하려고 시도하지 않는다는 것입니다. 읽기/쓰기 볼륨이 있는 파일 서버 시스템만 액세스가 가능한 유일한 시스템인 경우 캐쉬 관리 프로그램은 읽기/쓰기 사이트에 읽기 전용 사본이 있을 때만 이 데이터를 액세스할 수 있습니다.
정의할 읽기 전용 사이트의 수는 여러 요소에 따라 달라집니다. 볼륨의 내용에 대한 요구 수준과 사용자가 볼륨의 여러 사본에 대해 사용하려는 디스크 공간의 크기를 통해 사이트 수가 결정될 것입니다. 물론 예상되는 각 읽기 전용 사이트에는 볼륨을 포함하는데 사용할 수 있는 충분한 공간이 있어야 합니다. 볼륨의 읽기 전용 사본 수에 대한 제한은 AFS 릴리스 노트에 정의되어 있는 볼륨의 VLDB 항목에 있는 최대 사이트 수 정의에 의해 결정됩니다. 볼륨의 읽기/쓰기 및 백업 버전을 포함하는 사이트는 하나의 사이트로 계산되고 각 읽기 전용 사이트는 추가 사이트로 계산됩니다(읽기/쓰기 사이트와 동일한 파일 서버 시스템 및 파티션에 정의된 읽기 전용 사이트는 별도의 사이트로 계산됨). 또한 볼륨 서버가 파일 서버 시스템 당 하나의 읽기 전용 볼륨 사본만 허용한다는 사실을 알아 두십시오.
다음 절의 지침은 읽게 전용 사이트가 현재 정의되어 있지 않은 볼륨을 복제하는 방법을 설명합니다. 그러나 다른 일반적인 상황에서 이 지침을 사용할 수도 있습니다.
% bos listusers <machine name>
% vos examine <volume name or ID>
출력의 마지막 행에는 VLDB로부터의 볼륨 사이트 정의가 표시됩니다.
파일 서버 시스템의 파티션에서 사용할 수 있는 공간의 양을 표시하려면 읽기/쓰기 볼륨 작성에서 자세히 설명하는 것처럼 vos partinfo 명령을 사용하십시오.
% vos partinfo <machine name> [<partition name>]
% vos addsite <machine name> <partition name> <volume name or ID>
여기서
% bos status <machine name> fs vlserver
% vos release <volume name or ID> [-f]
여기서
% vos examine <volume name or ID>
단계 6의 출력에 플래그가 나타나는 경우 볼륨 서버가 릴리스 조작 중에 오류 메시지를 생성하지 않고 플래그가 더 이상 나타나지 않을 때까지 단계 4 및 5를 반복하십시오. 네트워크, 시스템 또는 서버 프로세스 작동 중지로 인해 읽기/쓰기 사이트나 읽기 전용 사이트를 액세스할 수 없다는 사실을 알고 있을 경우에는 vos release 명령을 실행하지 마십시오.
백업 볼륨은 읽기/쓰기 원본이 있는 동일한 사이트에 있는 클론입니다(클로닝 개념을 살펴 보려면 클론 및 클로닝에 대하여를 참조하십시오). 다음의 두 가지 목적으로 볼륨의 백업 버전을 작성하게 됩니다.
vos backupsys 명령을 사용하면 한 번에 여러 읽기/쓰기 볼륨의 백업 버전이 작성됩니다. 이 명령은 AFS 백업 시스템을 사용하여 테이프로의 대규모의 백업을 계획할 때 유용합니다.
VLDB에 나열된 모든 읽기/쓰기 볼륨을 클론하려면 모든 명령 옵션을 생략하십시오. 그렇지 않은 경우 다양한 볼륨 그룹을 클론하도록 명령 옵션을 조합하십시오. 옵션은 볼륨을 선택할 때 두 가지 기본적인 기준 중 하나를 사용합니다. 기준에는 위치(-server 및 -partition 인수) 또는 볼륨 이름에서 지정된 문자 스트링 집합 중 하나가 존재하는지 여부(-prefix, -exclude 및 -xprefix 옵션)가 있습니다.
하나의 파일 서버 시스템에 위치하는 볼륨만 클론하려면 -server 인수를 포함시키십시오. 하나의 파티션에 위치하는 볼륨만 클론하려면 -server 및 -partition 인수를 조합하여 사용하십시오. -partition 인수는 모든 파일 서버 시스템의 지정된 파티션에 위치하는 볼륨을 클론하는데도 단독으로 사용할 수 있습니다. 이들 인수는 그 이름에 기반하여 볼륨을 선택하는 인수와 함께 사용할 수 있습니다.
이름에 포함된 문자 스트링에 기반하여 볼륨을 선택하려면 지정된 방식으로 -prefix, -exclude 및 -xprefix 옵션을 조합하여 사용하십시오( -server 및 -partition 인수 사용 여부에 관계 없음).
-exclude 플래그를 -prefix 및 -xprefix 인수와 조합해서 사용하면 명령은 -prefix 인수에 해당하지 않는 모든 볼륨의 목록을 작성한 다음 이 목록에 -xprefix 인수에 해당하는 볼륨을 추가합니다. -exclude 플래그가 사용되지 않을 때는 -xprefix 인수에서 지정한 문자 스트링이 -prefix 인수에서 지정한 볼륨의 서브세트를 지정하는 경우에만 결과가 효과적이 됩니다.
-prefix 및 -xprefix 인수는 모두 여러 개의 값을 허용하며 볼륨 그룹을 해체하는 데 사용할 수 있습니다. 각 값은 다음의 두 가지 유형 중 하나를 가집니다.
-prefix '^.*aix'
실제로 볼륨을 클론하지는 않으면서 클론될 볼륨 목록을 표시하려면 -dryrun 플래그를 포함시키십시오. 볼륨을 선택하는 데 사용되는 기준을 요약하는 문장을 표시하려면 -verbose 플래그를 포함시키십시오.
단일 볼륨을 백업하려면 vos backup 명령을 사용하십시오. 이 명령은 단일 볼륨을 찾기 위한 보다 간편한 기술을 제공합니다.
대부분의 셀은 매일 관련된 볼륨의 새로운 백업 버전을 작성하는 것이 바람직한 일이라는 것을 알고 있습니다. 백업 조작은 읽기/쓰기 볼륨을 일시적으로 사용 불가능하게 하므로 사용도가 낮을 때 백업 버전을 작성하는 것이 좋습니다.
콘솔에서 vos backupsys 또는 vos backup 명령을 실행하거나 파일 서버 시스템의 BosConfig 파일에 클론 항목을 작성하여 관리자가 백업 조작을 초기화할 필요를 없앨 수 있습니다.
다음 예제 명령은 시스템 fs3.abc.com의 /usr/afs/local/BosConfig 파일에 backupusers라는 cron 프로세스를 작성합니다. 이 프로세스는 매일 새벽 1시에 실행되어 그 이름이 문자열 user.로 시작하는 모든 볼륨의 백업 버전을 셀에 작성합니다. -localauth 플래그를 사용하면 프로세스는 인증을 받지 못한 상태에서 권한 있는 vos backupsys 명령을 호출할 수 있게 됩니다. -cmd 인수는 BOS 서버(로컬 수퍼유저 루트로 실행)에 대한 PATH 환경 변수에 보통 AFS 2진 파일로의 경로가 들어 있지 않으므로 vos 2진 파일에 대한 완전한 경로 이름을 지정한다는 점을 알아 두십시오.
% bos create fs3.abc.com backupusers cron \
-cmd "/usr/afs/bin/vos backupsys -prefix user -localauth" "1:00"
앞서 설명한 것처럼 백업 볼륨은 백업이 작성되었을 때의 읽기/쓰기 원본의 상태를 보존합니다. 많은 셀은 사용자가 관리자의 도움을 요청하지 않고 마지막 백업이 작성된 후에 실수로 삭제했거나 변경한 데이터를 액세스하고 복원할 수 있도록 백업 볼륨을 마운트하도록 선택합니다. 사용자 볼륨의 백업 버전을 마운트하기 가장 적절한 위치는 사용자의 홈 디렉토리의 하위 디렉토리입니다. 이 디렉토리에 대한 적절한 이름에는 OldFiles와 Backup이 포함됩니다. 이 하위 디렉토리는 백업이 작성되었을 때의 형태 그대로 사용자 자신의 홈 디렉토리와 같은 모양을 가지며 모든 파일과 디렉토리가 동일한 상대적 위치에 있습니다.
사용자를 위한 백업 볼륨을 작성하여 마운트하는 경우 사용자에게 백업 볼륨이 작성되었음을 알리십시오. AFS 사용자 안내서에서는 사용자가 백업 볼륨을 사용할 수 있게 하는지 여부가 선택적이므로 백업 볼륨을 언급하지 않습니다. 새 백업을 생성하는 빈도를 사용자에게 알려서 복구할 수 있는 볼륨을 알 수 있게 하십시오. 백업 볼륨의 데이터는 변경될 수 없다는 점을 상기시켜 표준 UNIX cp 명령을 사용하여 홈 볼륨으로 그 데이터를 복사하고 거기에서 수정할 수 있게 하십시오. 백업 볼륨에 데이터가 읽기/쓰기 볼륨 할당량에 포함되지 않는다는 점을 다시 한번 알려 주십시오.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% vos backup <volume name or ID> Created backup volume for volume name or ID
여기서
% fs mkmount <directory> <volume name>.backup
여기서
% fs lsmount <directory>
% bos listusers <machine name>
% vos backupsys [-prefix <common prefix on volume(s)>+] \
[-server <machine name>]
[-partition <partition name>] \
[-exclude] [-xprefix <negative prefix on volume(s)>+]
[-dryrun] [-verbose]
여기서
마운트 포인트는 볼륨 마운트에 대하여에서 설명하는 것처럼 AFS 파일 공간에서 AFS 볼륨의 내용을 볼 수 있고 액세스할 수 있게 해 줍니다. 이 절에서는 캐쉬 관리 프로그램이 파일 공간을 지나갈 때 마운트 포인트를 처리하는 방법을 좀 더 자세히 설명합니다. 또한 세 가지 유형의 마운트 포인트, 그 목적 및 이들 유형을 구별하는 방법을 설명하고 마운트 포인트를 작성, 제거 및 검토하는 지침을 제공합니다.
캐쉬 관리 프로그램은 AFS 파일을 통과하여 마운트 포인트를 만났을 때 다음의 세 가지 기본 규칙을 준수합니다.
캐쉬 관리 프로그램이 .readonly 또는 .backup 확장자를 사용하여 볼륨을 지정하는 마운트 포인트를 만날 때 해당 유형의 볼륨만 액세스합니다. 마운트 포인트에 .backup 또는 .readonly 확장자가 없으면 캐쉬 관리 프로그램은 규칙 2와 3을 사용합니다.
예를 들어 캐쉬 관리 프로그램은 마운트 포인트가 백업 버전을 명명하는 경우 볼륨의 읽기/쓰기 버전을 절대로 액세스하지 않습니다. 지정된 버전을 액세스할 수 없는 경우 캐쉬 관리 프로그램은 오류를 보고합니다.
마운트 포인트가 읽기 전용 볼륨에 위치하고 참조하는 볼륨이 복제되면 캐쉬 관리 프로그램은 볼륨의 읽기 전용 사본을 액세스하려고 합니다. 참조된 볼륨이 복제되지 않으면 캐쉬 관리 프로그램은 읽기/쓰기 사본을 액세스합니다. 따라서 캐쉬 관리 프로그램은 파일 공간을 통한 읽기 전용 경로를 선호하여 가능할 때 읽기 전용 볼륨을 액세스합니다.
캐쉬 관리 프로그램은 root.afs 볼륨의 읽기 전용 사본이 있는 경우 이 사본을 항상 액세스하므로 처음에는 읽기 전용 경로에서 시작합니다. 볼륨은 셀의 AFS 파일 공간의 루트(일반적으로 /afs라고 명명됨)에 마운트됩니다. 즉 root.afs 볼륨이 복제되면 캐쉬 관리 프로그램은 읽기/쓰기 사본이 아닌 읽기 전용 사본을 액세스하려고 합니다. 이 규칙은 연속되는 각 볼륨이 복제되는 한 캐쉬 관리 프로그램이 읽기 전용 경로를 계속 따라가게 합니다. 이것은 캐쉬 관리 프로그램이 AFS 파일 공간 아래에 마운트된 복제 복륨을 액세스하기 위해 root.afs 및 root.cell 볼륨이 복제되어야 함을 의미합니다. 볼륨은 일반적으로 각각 /afs 및 /afs/cellname 디렉토리에 마운트됩니다.
마운트 포인트가 읽기/쓰기 볼륨에 위치하고 볼륨 이름에 .readonly 또는 .backup 확장자가 없는 경우 캐쉬 관리 프로그램은 볼륨의 읽기/쓰기 버전만 액세스하려고 합니다. 이 액세스 시도는 읽기 전용 버전을 액세스할 수 있는 경우에도 읽기/쓰기 버전을 액세스할 수 없는 경우 오류를 발생하면서 실패합니다. 이 상황에서 캐쉬 관리 프로그램은 읽기/쓰기 경로에 위치하며 마운트 포인트가 .readonly 확장자를 사용하여 볼륨을 명시적으로 명명하지 않는 한 읽기 전용 경로로 다시 되돌아갈 수 없습니다(셀 방식의 마운트 포인트는 다음에서 설명하는 것처럼 이 규칙의 중요한 예외 상황이 됩니다).
AFS는 캐쉬 관리 프로그램에서 처리하는 방식으로 인해 각각이 다른 목적에 적합한 세 가지 유형의 마운트 포인트를 사용합니다.
AFS는 파일 공간의 대다수의 마운트 포인트가 일반 마운트 포인트일 때 최상으로 수행됩니다. 왜냐하면 마운트 포인트 통과 규칙은 복제 및 비복제 볼륨의 사용을 가장 효율적으로 만들어주기 때문입니다. 복제된 볼륨의 읽기 전용 사본이 여러 개 있을 확률이 있으므로 캐쉬 관리 프로그램이 단일 읽기/쓰기 버전을 액세스하는 것보다 읽기 전용 사본 중 하나를 액세스하는 것이 더 쉬운 것으로 생각되며 두 번째 규칙은 이러한 경향을 유도합니다. 볼륨이 복제되지 않은 경우 세 번째 규칙은 사용할 수 있는 읽기/쓰기 볼륨 유형이 하나만 있을 때 이 읽기/쓰기 볼륨을 여전히 액세스할 수 있음을 의미합니다. 즉, 일반 마운트 포인트는 강제로 캐쉬 관리 프로그램이 읽기 전용 볼륨(명시적으로는 "읽기 전용 마운트 포인트"이 아님)을 항상 액세스하게 하지 않습니다.
일반 마운트 포인트를 작성하려면 일반 또는 읽기/쓰기 마운트 포인트를 작성하려면에서 설명하는 것처럼 fs mkmount 명령을 사용하십시오.
| 주: | 캐쉬 관리 프로그램이 일반 마운트 포인트에 의해 명명된 복제 볼륨의 읽기 전용 버전을 액세스할 수 있게 하려면 경로 이름에서 그 위에 마운트된 모든 볼륨 역시 복제되어야 합니다. 이것은 캐쉬 관리 프로그램이 목표 볼륨으로의 읽기 전용 경로에만 계속 위치할 수 있는 유일한 방법입니다. |
셀의 파일 공간에 하나의 읽기/쓰기 마운트 포인트만 작성하고 이를 사용하여 셀의 root.cell 볼륨을 AFS 파일 공간 루트(일반적으로 /afs/.cellname) 바로 아래에 마운트하는 것이 일반적입니다. 앞서 지적한 것처럼 읽기/쓰기 마운트 포인트 이름 맨 앞에 마침표를 두는 것이 일반적입니다(예: /afs/.abc.com). 이 마침표는 읽기/쓰기 마운트 포인트를 동일한 레벨의 root.cell 볼륨에 대한 일반 마운트 포인트와 구분해 줍니다. 이것은 동일한 볼륨에 대해 두 개의 마운트 포인트를 작성하는 것이 일반적인 유일한 경우에 해당합니다. 이러한 읽기/쓰기 마운트 포인트에 대한 명명 규칙이 제시하는 바람직한 부가 효과는 마운트 포인트가 -a 플래그가 포함되지 않는 한 UNIX ls 명령의 출력에 나타나지 않으므로 이 지점을 사용하지 않는 일반 사용자들은 볼 수 없다는 것입니다.
파일 공간의 이 지점에 하나의 읽기/쓰기 지점이 있는 경우 캐쉬 관리 프로그램이 파일 공간 맨 위의 읽기/쓰기 경로를 따라가게 되므로 필요할 때 모든 볼륨의 읽기/쓰기 버전을 액세스할 수 있게 됩니다. 동시에 root.cell 볼륨에 대한 일반 마운트 포인트는 대부분의 경우에 캐쉬 관리 프로그램이 읽기 전용 경로를 따라가게 합니다.
읽기 전용 또는 백업 볼륨에 대해 하나의 읽기/쓰기 마운트 포인트를 사용하는 것은 가능하지만 반드시 그렇게 할 필요는 없습니다. 첫 번째 마운트 포인트 통과 규칙에서는 일반 마운트 포인트의 볼륨 이름이 .readonly 또는 .backup 확장자를 가지는 경우 캐쉬 관리 프로그램이 이들 볼륨을 액세스하도록 지정하고 있습니다.
읽기/쓰기 마운트 포인트를 작성하려면 일반 또는 읽기/쓰기 마운트 포인트를 작성하려면에서 설명하는 것처럼 fs mkmount 명령에서 -rw 플래그를 사용하십시오.
읽기/쓰기 경로를 통과하면 외부 셀의 서버 시스템에 불필요한 부하가 부과되므로 읽기/쓰기 셀 방식의 마운트 포인트를 작성하여 이 동작을 무시하는 것은 바람직하지 않습니다. 파일 서버는 읽기 전용 볼륨에 필요한 단일 콜백 대신 읽기/쓰기 볼륨으로부터 페치된 각 파일에 대해 콜백을 실행해야 합니다. 두 경우 모두 셀 자체의 관리자는 복제된 볼륨의 읽기/쓰기 버전을 액세스해야 합니다.
셀의 파일 공간의 두 번째 레벨에만 셀 방식의 마운트 포인트를 작성하고 이를 사용하여 AFS 파일 공간 루트(일반적으로 /afs/foreign_cellname) 바로 아래에 외부 셀의 root.cell 볼륨을 마운트하는 것이 일반적입니다. 마운트 포인트를 사용하면 데이터베이스 서버 시스템 정보 유지에서 설명하는 것처럼 로컬 사용자들은 외부 셀의 파일 공간을 액세스할 수 있으며 볼륨의 루트 디렉토리의 ACL에 대해 필요한 권한이 있으며 로컬 클라이언트 시스템의 /usr/vice/etc/CellServDB 파일에 외부 셀에 대한 항목이 있다고 가정합니다.
파일 공간의 다른 레벨에 셀 방식의 마운트 포인트를 작성하고 root.cell 볼륨 이외의 외부 볼륨을 마운트하는 것은 별로 적절하지 않습니다. 캐쉬 관리 프로그램은 경로 이름의 다양한 지점에 있는 셀 간을 전환하는 경우 사용자에게 혼란을 줄 수 있습니다.
일반 셀 방식의 마운트 포인트를 작성하려면 셀 방식 마운트 포인트를 작성하려면에서 설명하는 것처럼 -cell 인수를 사용하여 셀 이름을 지정하십시오.
마운트 포인트를 검토하려면 마운트 포인트를 표시하려면에서 설명하는 것처럼 fs lsmount 명령을 사용하십시오. 명령의 출력은 구분 표기를 사용하여 일반, 읽기/쓰기 및 셀 방식의 마운트 포인트를 식별합니다. 마운트 포인트를 제거하려면 마운트 포인트를 제거하려면에서 설명하는 것처럼 fs rmmount 명령을 사용하십시오.
외부 셀의 파일 공간에 마운트 포인트를 작성하는 것은(로컬 셀에 외부 볼륨을 마운트하는 것과는 반대임) 로컬 파일 공간에 마운트 포인트를 작성하는 것과 동일합니다. 차이점은 fs mkmount 명령의 directory 인수가 로컬 셀이 아닌 외부 셀의 경로 이름을 지정한다는 것과 마운트 포인트를 작성하는 외부 디렉토리의 ACL에 대해 필요한 권한이 있어야 한다는 것입니다. fs mkmount 명령의 -cell 인수는 항상 마운트 포인트를 작성할 셀이 아니라 볼륨이 위치하는 셀을 지정합니다.
% fs lsmount <directory>
여기서
지정된 디렉토리가 마운트 포인트이면 출력은 다음 양식을 가집니다.
'directory' is a mount point for volume 'volume name'
일반 마운트 포인트의 경우 abc.com 셀의 클라이언트 시스템에 대해 실행된 다음 예제 명령에서처럼 숫자 기호(#)가 volume name 문자열 앞에 사용됩니다.
% fs lsmount /afs/abc.com/usr/terry
'/afs/abc.com/usr/terry' is a mount point for volume '#user.terry'
읽기/쓰기 마운트 포인트의 경우 abc.com 셀의 클라이언트 시스템에 대해 실행된 다음 예제 명령에서처럼 퍼센트 기호(%)가 volume name 문자열 앞에 사용됩니다. 셀의 관리자는 읽기/쓰기 마운트 포인트의 이름 앞에 마침표를 사용하는 규칙을 따라 왔습니다.
% fs lsmount /afs/.abc.com '/afs/.abc.com' is a mount point for volume '%root.cell'
셀 방식의 마운트 포인트의 경우 abc.com 셀의 클라이언트 시스템에 대해 실행된 다음 예제 명령에서처럼 셀 이름과 콜론(:)이 숫자 다음에 나오고 volume name 문자열 앞에 사용됩니다.
% fs lsmount /afs/ghi.gov
'/afs/ghi.gov' is a mount point for volume '#ghi.gov:root.cell'
마운트 포인트로의 기호 연결의 경우 출력은 abc.com 셀의 클라이언트 시스템에 대해 실행된 다음 예제 명령에서 볼 수 있는 양식을 가집니다.
% fs lsmount /afs/abc '/afs/abc' is a symbolic link, leading to a mount point for volume '#root.cell'
디렉토리가 마운트 포인트가 아니고 AFS에 있지 않으면 출력은 다음과 같이 나타납니다.
'directory' is not a mount point.
출력이 뒤죽박죽되는 경우 마운트 포인트가 로컬 캐쉬에서 손상된 것일 수 있습니다. 하나 이상의 마운트 포인트 플러쉬하기에서 설명하는 것처럼 fs flushmount 명령을 사용하십시오. 이 명령은 강제로 캐쉬 관리 프로그램이 마운트 포인트를 다시 페치하게 합니다.
% fs listacl [<dir/file path>]
% fs mkmount <directory> <volume name> [-rw]
여기서
마운트 포인트에 대한 읽기/쓰기 경로를 지정하여 읽기 전용 볼륨에 새 마운트 포인트를 작성하려고 할 때 발생하는 장애를 피하십시오. 일반적으로 경로 이름의 두 번째 레벨의 셀 이름 앞에 마침표를 사용하여 읽기/쓰기 경로를 나타내십시오(예를 들어 /afs/.abc.com). 파일 경로를 통한 읽기/쓰기 및 읽기 전용 경로의 개념에 대해 좀더 살펴 보려면 마운트 포인트 통과 규칙을 참조하십시오.
% fs listacl [<dir/file path>]
cellname을 셀 이름으로 대체하십시오.
% cd /afs/.cellname % fs mkmount new_cells root.afs % cd new_cells
% fs mkmount <directory> <volume name> -cell <cell name>
여기서
또한 fs checkvolumes 명령을 실행하여 강제로 캐쉬 관리 프로그램이 root.afs 볼륨의 새 복사본을 액세스하게 하십시오. 원하는 경우 또한 /afs/.cellname 디렉토리로부터 new_cells 마운트 포인트를 제거할 수도 있습니다.
% vos release root.afs
% fs checkvolumes
% cd /afs/.cellname
% fs rmmount new_cells
사용자가 새로 마운트된 외부 셀을 액세스하게 하려면 각 클라이언트 시스템의 로컬 /usr/vice/etc/CellServDB 파일에 이에 대한 항목을 작성하고 시스템을 재부트하거나 fs newcell 명령을 사용하여 이 항목을 직접 커널 메모리에 삽입해야 합니다. 데이터베이스 서버 시스템 정보 유지의 지침을 따르십시오.
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% fs rmmount <directory>
여기서
마운트 포인트에 대한 읽기/쓰기 경로를 지정하여 읽기 전용 볼륨에서 마운트 포인트를 삭제하려고 할 때 발생하는 장애를 피하십시오. 일반적으로 경로 이름의 두 번째 레벨의 셀 이름 앞에 마침표를 사용하여 읽기/쓰기 경로를 나타내십시오(예를 들어 /afs/.abc.com). 파일 경로를 통한 읽기/쓰기 및 읽기 전용 경로의 개념에 대해 좀더 살펴 보려면 마운트 포인트 통과 규칙을 참조하십시오.
이 절에서는 볼륨에 대한 정보를 표시하는 방법을 설명합니다. 볼륨의 이름이나 볼륨의 ID 번호를 아는 경우 VLDB 항목, 볼륨 헤더 또는 둘다를 표시하기 위한 명령이 있습니다. 다른 명령은 지정된 파일이나 디렉토리를 포함하는 볼륨의 이름이나 위치를 표시합니다.
볼륨의 할당량을 표시하는 것에 대한 지침을 보려면 볼륨 할당량과 현재 크기 설정 및 표시를 참조하십시오.
vos listvldb 명령은 사용자가 제공하는 인수 조합에 따라 볼륨에 대한 VLDB 항목을 표시합니다. 다음은 가장 가능성이 높은 경우부터 가장 낮은 경우까지를 설명한 것입니다.
% vos listvldb [-name <volume name or ID>] [-server <machine name>] \
[-partition <partition name>] [-locked]
여기서
각 볼륨에 대한 VLDB 항목은 다음 정보를 포함합니다.
New release 및 Old release 플래그에 대한 자세한 설명을 보려면 볼륨 복제(읽기 전용 볼륨 작성)를 참조하십시오.
이 명령의 예와 단일 볼륨에 대한 출력 결과는 다음과 같습니다.
% vos listvldb user.terry
user.terry
RWrite: 50489902 Backup: 50489904
number of sites -> 1
server fs3.abc.com partition /vicepc RW Site
vos listvol 명령은 파일 서버 시스템의 하나 또는 전체 파티션의 모든 볼륨에 대한 볼륨 헤더를 표시합니다. vos 명령 인터프리터는 지정된 시스템의 볼륨 서버로부터 정보를 얻습니다. 볼륨 헤더를 표시하려면의 지침에 따라 -fast, -long 또는 -extended 플래그 중 하나를 포함시켜 표시되는 정보의 양을 제어할 수 있습니다.
단일 볼륨의 헤더만 표시하려면 볼륨의 VLDB 항목 및 볼륨 헤더 표시에서 설명하는 것처럼 vos examine 명령을 실행하십시오.
% vos listvol <machine name> [<partition name>] [-fast] [-long] [-extended]
여기서
출력은 볼륨 이름의 알파벳 순서대로 정렬되며 기본적으로 각 볼륨에 대해 단일 행으로 다음 정보가 제공됩니다.
다음 메시지가 이전에 나열된 정보 대신 나타나면 이것은 클론이 작성되고 있는 상황과 같은 이유로 인해 캐쉬 관리 프로그램이나 vos 명령 인터프리터가 볼륨을 액세스할 수 없음을 나타냅니다.
**** Volume volume_ID is busy ****
다음 메시지가 이전에 나열된 정보 대신 나타나면 이것은 볼륨이 심각하게 손상된 경우와 같은 상황에서 파일 서버가 볼륨을 접속할 수 없음을 나타냅니다. 파일 서버 시스템의 /usr/afs/logs 디렉토리에 있는 FileLog 및 VolserLog 로그 파일이 추가 정보를 제공할 수 있습니다. bos getlog 명령을 사용하여 이들 로그 파일을 표시하십시오.
**** Could not attach volume volume_ID ****
(손상되었거나 접속할 수 없는 볼륨을 구조하는 방법에 대해서는 볼륨 구조를 참조하십시오.)
개별 볼륨에 대한 정보는 요약 행으로 각괄호로 묶여서 표시됩니다. 출력의 첫째 행은 목록의 볼륨 수를 지정합니다. 출력의 마지막 행은 다음 예에서처럼 온라인, 오프라인 및 사용중 상태에 있는 볼륨의 수를 요약합니다.
% vos listvol fs2.abc.com /vicepb
Total number of volumes on server fs2.abc.com \
partition /vicepb : 66
sys 1969534847 RW 1582 K On-line
sys.backup 1969535105 BK 1582 K On-line
. . . . . .
. . . . . .
user.pat 1969534536 RW 17518 K On-line
user.pat.backup 1969534538 BK 17537 K On-line
Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
-fast 플래그를 사용한 출력
-fast 플래그를 포함시키면 다음 예에서처럼 숫자 순서 크기대로 정렬되는 각 볼륨의 볼륨 ID 번호만 표시됩니다. 마지막 행(온라인, 오프라인 및 사용중 볼륨의 수 요약)은 생략됩니다.
% vos listvol fs3.abc.com /vicepa -f
Total number of volumes on server fs3.abc.com \
partition /vicepa: 37
50489902
50489904
.
.
35970325
49732810
-long 플래그를 포함시키면 각 볼륨의 출력에는 다음 사항과 함께 기본 목록에 모든 정보가 포함됩니다. 이 목록의 각 항목은 별도의 출력 행에 해당합니다.
-long 플래그가 포함될 때 출력의 예는 다음과 같습니다.
% vos listvol fs2.abc.com b -long
Total number of volumes on server fs2.abc.com
partition /vicepb: 66
. . . . . .
. . . . . .
user.pat 1969534536 RW 17518 K On-line
fs2.abc.com /vicepb
RWrite 1969534536 ROnly 0 Backup 1969534538
MaxQuota 20000 K
Creation Mon Jun 12 09:02:25 1989
Last Update Thu Jan 4 17:39:34 1990
1573 accesses in the past day (i.e., vnode references)
user.pat.backup 1969534538 BK 17537 K On-line
fs2.abc.com /vicepb
RWrite 1969534536 ROnly 0 Backup 1969534538
MaxQuota 20000 K
Creation Fri Jan 5 06:37:59 1990
Last Update Fri Jan 5 06:37:59 1990
0 accesses in the past day (i.e., vnode references)
. . . . .
. . . . .
Total volumes onLine 66 ; Total volumes offLine 0 ; Total busy 0
-extended 플래그를 포함시키면 각 볼륨의 출력에는 -long 플래그를 사용했을 때 보고된 모든 정보와 다음의 통계 테이블이 포함됩니다.
-extended 플래그가 포함될 때 출력의 예는 다음과 같습니다.
% vos listvol fs3.abc.com a -extended
common.bboards 1969535592 RW 23149 K used 9401 files On-line
fs3.abc.com /vicepa
RWrite 1969535592 ROnly 0 Backup 1969535594
MaxQuota 30000 K
Creation Mon Mar 8 14:26:05 1999
Last Update Mon Apr 26 09:20:43 1999
11533 accesses in the past day (i.e., vnode references)
Raw Read/Write Stats
|-------------------------------------------|
| Same Network | Diff Network |
|----------|----------|----------|----------|
| Total | Auth | Total | Auth |
|----------|----------|----------|----------|
Reads | 151 | 151 | 1092 | 1068 |
Writes | 3 | 3 | 324 | 324 |
|-------------------------------------------|
Writes Affecting Authorship
|-------------------------------------------|
| File Authorship | Directory Authorship|
|----------|----------|----------|----------|
| Same | Diff | Same | Diff |
|----------|----------|----------|----------|
0-60 sec | 92 | 0 | 100 | 4 |
1-10 min | 1 | 0 | 14 | 6 |
10min-1hr | 0 | 0 | 19 | 4 |
1hr-1day | 1 | 0 | 13 | 0 |
1day-1wk | 1 | 0 | 1 | 0 |
> 1wk | 0 | 0 | 0 | 0 |
|-------------------------------------------|
vos examine 명령은 단일 볼륨에 대한 VLDB 및 볼륨 헤더의 정보를 표시합니다. 두 원본의 정보가 약간 중복될 수 있으므로 VLDB와 볼륨 헤더를 비교할 수 있습니다.
각 볼륨 버전(읽기/쓰기, 읽기 전용 및 백업)에 대한 볼륨 헤더가 다르므로 표시할 볼륨 버전을 지정할 수 있습니다. .readonly 또는 .backup 확장자를 volume name 또는 ID 인수에 포함시키십시오. VLDB의 정보는 세 가지 버전에서 모두 동일합니다.
% vos examine <volume name or ID>
여기서
출력의 맨 위 부분에는 볼륨 헤더를 표시하려면의 지침에서 설명하는 것처럼 -long 플래그와 함께 vos listvol 명령을 사용할 때와 동일한 볼륨 헤더의 정보가 표시됩니다. 볼륨의 읽기 전용 버전을 지정하고 이 버전이 둘 이상의 사이트에 존재하는 경우 출력은 모든 경우를 포함합니다. 출력의 맨 아래 부분에는 VLDB 항목을 표시하려면에서 설명하는 것처럼 vos listvldb 명령을 사용할 때와 동일한 VLDB의 정보가 나열됩니다.
다음은 그 VLDB 항목이 현재 잠겨 있는 볼륨에 대한 예입니다.
% vos examine user.terry
user.terry 536870981 RW 3459 K On-line
fs3.abc.com /vicepa
Write 5360870981 ROnly 0 Backup 536870983
MaxQuota 40000 K
Creation Mon Jun 12 15:22:06 1989
Last Update Fri Jun 16 09:34:35 1989
5719 accesses in the past day (i.e., vnode references)
RWrite: 5360870981 Backup: 536870983
number of sites -> 1
server fs3.abc.com partition /vicepa RW Site
Volume is currently LOCKED
이 절은 파일이나 디렉토리를 포함하는 볼륨의 이름, 볼륨 ID 번호 또는 위치를 알아내는 방법을 설명합니다.
또한 볼륨에 대한 정보(예: 볼륨 이름)를 사용하여 관련된 다른 정보(예: 볼륨 위치)를 얻을 수도 있습니다. 다음 목록은 사용자에게 적절한 지침을 알려 줍니다.
또한 이 명령을 사용하여 그 ID 번호를 제공하여 볼륨의 이름을 알아낼 수도 있습니다.
% fs listquota [<dir/file path>]
여기서
다음은 출력의 예입니다.
% fs listquota /afs/abc.com/usr/terry Volume Name Quota Used % Used Partition user.terry 15000 5071 34% 86%
% fs examine [<dir/file path>]
여기서
다음 예제는 출력이 vid 필드에 볼륨 ID 번호를 보고하는 방법을 보여 줍니다.
% fs examine /afs/abc.com/usr/terry Volume status for vid = 50489902 named user.terry Current maximum quota is 15000 Current blocks used are 5073 The partition has 46383 blocks available out of 333305
| 주: | 이 명령의 출력에서 파티션 관련 통계가 항상 표준 UNIX df 명령 출력의 해당 값과 일치하는 것은 아닙니다. 이 명령에서 보고한 통계는 캐쉬 관리 프로그램이 5분 간격으로 파티션 정보에 대해 파일 서버를 폴링하므로 생성된 이후에 최대 5분까지 경과될 수 있습니다. 또한 일부 운영 체제에서 df 명령의 파티션 크기 보고에는 이 명령의 계산에는 포함되어 있지 않은 예약된 공간이 포함되므로 약 10%가 더 커질 수 있습니다. |
% fs whereis [<dir/file path>]
여기서
출력은 다음 예에서처럼 해당 파일을 포함하는 볼륨이 있는 파일 서버 시스템을 표시합니다.
% fs whereis /afs/abc.com/user/terry File /afs/abc.com/usr/terry is on host fs2.abc.com
% fs listquota [<dir/file path>]
그런 다음 vos listvldb 명령을 실행하십시오. 이 때 볼륨 이름을 volume name 또는 ID 인수로 제공하십시오. 자세한 구문이나 출력에 대한 설명을 보려면 VLDB 항목을 표시하려면을 참조하십시오.
% vos listvldb <volume name or ID>
다음과 같은 세 가지 주요 이유로 인해 볼륨을 이동하게 됩니다.
afs: failed to store file (partition full)
AFS 성능 모니터 및 감사에서 설명하는 것처럼 scout 또는 afsmonitor 프로그램을 사용하여 AFS 서버 파티션의 여유 공간을 추적할 수 있습니다.
읽기/쓰기 볼륨을 이동하려면 다음 지침에 따라 vos move 명령을 사용하십시오. 볼륨을 이동하려고 하기 전에 vos 명령 인터프리터는 목적지 파티션에 충분한 여유 공간이 있는지 확인합니다. 공간이 충분하지 않으면 이동 조작을 시도하지 않고 다음 메시지를 출력합니다.
vos: no space on target partition destination_part to move volume volume
읽기 전용 볼륨을 이동하려면 볼륨을 제거하고 언마운트하려면에서 설명하는 것처럼 vos remove 명령을 실행하여 현재 사이트에서 실제로 볼륨을 제거하십시오. 그런 다음 읽기/쓰기 볼륨을 복제하려면 (읽기 전용 볼륨 작성)에서 설명하는 것처럼 vos addsite 및 vos release 명령을 실행하여 새 사이트를 정의하고 이 사이트에 해당 볼륨을 릴리스하십시오.
백업 볼륨은 읽기/쓰기 원본이 있는 동일한 사이트에 항상 위치하므로 읽기/쓰기 원본을 이동할 때 함께 이동하는 경우를 제외하고는 백업 볼륨을 이동할 수 없습니다. vos move 명령은 사용자가 읽기/쓰기 볼륨을 이동할 때 자동으로 백업 버전을 삭제합니다. 이동 조작이 완료되는 즉시 새로운 사이트에 새 백업 볼륨을 작성하려면 백업 볼륨을 작성 및 마운트하려면에서 설명하는 것처럼 vos backup 명령을 실행하십시오.
% bos listusers <machine name>
% vos move <volume name or ID> \
<machine name on source> <partition name on source > \
<machine name on destination> <partition name on destination>
여기서
| 주: | 완료되기 전에 vos move 조작을 멈추지 않도록 하십시오. 왜냐하면 볼륨의 일부가 원본 및 목적지 시스템에 모두 남을 수 있기 때문입니다. 자세한 정보를 보려면 AFS Administration Reference에서 명령의 참조 페이지를 참조하십시오. |
% vos listvldb <volume name or ID>
% vos backup <volume name or ID>
AFS는 VLDB(Location Database)가 볼륨 위치를 계속 추적하므로 가시적인 파일 액세스를 제공할 수 있습니다. 캐쉬 관리 프로그램은 파일이 필요할 때 해당 파일을 포함하는 볼륨의 현재 위치를 VLDB에서 읽어 오는 볼륨 위치(VL) 서버에 접속합니다. 따라서 VLDB는 항상 파일 서버 시스템의 볼륨 상태를 정확하게 반영해야 합니다. 볼륨 서버와 VL 서버는 다음의 단계를 수행하여 vos 조작 중에 상태가 변경될 때 볼륨의 VLDB 항목을 자동적으로 갱신합니다.
이 플래그는 내부 사용만을 목적으로 하므로 VLDB 목록에 나타나지 않습니다. 조작이 미리 종료되는 경우 이 플래그는 구조 프로그램에게 중단된 조작을 알려 줍니다(그러면 구조 프로그램은 조작을 완료하거나 볼륨의 이전의 일관된 상태로 되돌리는 데 필요한 단계를 결정합니다). 구조에 대한 자세한 정보를 보려면 볼륨 구조를 참조하십시오.
볼륨 서버가 볼륨을 처리하는 중에 vos 조작이 실패하면(단계 3에 해당) 볼륨은 중간 상태에 그대로 남아 있으며 이를 손상 상태라고 합니다. 이 경우 Off-line 또는 Off-line**needs salvage** 표시자가 vos examine 명령의 출력 첫째 행 맨 끝에 나타납니다. 손상 상태를 수정하려면 VLDB와 볼륨 헤더를 재동기화하기 전에 구조 프로그램을 실행하십시오. 구조 지침을 보려면 볼륨 구조를 참조하십시오.
좀더 일반적으로 보면 플래그가 설정되거나 제거되는 동안 발생하는 인터럽션은 (단계 1, 단계 2 또는 단계 4에 해당) VLDB와 볼륨 헤더 간의 불일치 상태를 유발합니다. VLDB와 볼륨을 재동기화하려면 vos syncvldb 및 vos syncserv 명령을 사용하십시오. 완전한 VLDB 일관성을 이루기 위해서는 셀의 모든 파일 서버에 대해 vos syncvldb 명령을 실행한 다음 셀의 모든 파일 서버 시스템에 대해 vos syncserv 명령을 실행하는 것이 가장 좋습니다.
볼륨 조작이 실패했음을 나타내는 다음과 같은 몇 가지 증상이 있습니다.
볼륨에 발생한 문제점이 VLDB 항목이 잠겨 있다는 것에 불과하면 전체 VLDB를 동기화할 필요가 없을 수 있습니다. 대신 VLDB 항목 잠금 해제 및 잠금에서 설명하는 것처럼 vos unlock 또는 vos unlockvldb 명령을 사용하십시오.
vos syncvldb 명령은 VLDB(Location Database)에 있는 파일 서버 시스템에 있는 모든 볼륨, 한 파티션에 있는 볼륨 또는 단일 볼륨에 대한 정보를 수정합니다. 하나 이상의 파티션에 대한 정보를 확인하면 이 명령은 볼륨 서버에 접속하여 실제 각 파티션에 있는 볼륨의 목록을 얻습니다. 그런 다음 VL 서버로부터 각 볼륨에 대한 VLDB 항목을 얻습니다. 이 명령은 필요에 따라 파티션에 있는 볼륨의 상태를 반영하도록 VLDB 항목을 변경합니다. 예를 들어 VLDB 항목이 없거나 완전하지 않은 볼륨을 찾을 때 VLDB 항목을 작성하거나 갱신합니다. 그러나 볼륨의 다른 위치를 정의하는 VLDB 항목이 이미 있거나 다른 VLDB 항목과 절충할 수 없는 충돌이 발생하면 대신 표준 오류 스트림에 충돌에 대한 메시지를 씁니다. 이 명령은 파일 서버 시스템에서 볼륨을 제거하지는 않습니다.
단일 볼륨의 VLDB 항목을 확인할 때 명령은 vos syncserv 명령에서 호출한 조작을 자동으로 수행합니다. VLDB 항목이 지정된 볼륨 유형(읽기/쓰기, 백업 또는 읽기 전용)에 대해 올바른지 확인할 뿐 아니라 VLDB 항목에 언급된 관련 볼륨 유형이 항목에 나열된 사이트에 실제로 존재하는지도 확인합니다.
vos syncserv 명령은 VLDB 항목에 언급된 각 볼륨 유형(읽기/쓰기, 읽기 전용 및 백업)이 실제로 항목에 지정된 사이트에 존재하는지 확인합니다. 또한 파일 서버 시스템의 파티션이나 하나의 파티션에 있는 사이트를 언급하는 모든 VLDB 항목을 확인합니다. 읽기/쓰기 사이트 이외에 볼륨의 읽기 전용 버전이 있는 경우 명령은 지정된 시스템이나 파티션 이외의 사이트를 조사하는 것을 중단할 수 있습니다.
이 명령은 다른 VLDB 항목과 절충할 수 없는 충돌이 없다면 VLDB의 잘못된 정보를 수정합니다. 이 경우 표준 오류 스트림에 메시지를 씁니다. 이 명령은 사이트에서 볼륨을 제거하지는 않습니다.
% bos listusers <machine name>
| 주: | VLDB를 완전히 동기화하려면 이 명령을 반복적으로 실행하고, 셀에서 각 파일 서버 시스템을 -server 인수로 차례대로 바꾸고 단계 3을 계속하기 전에 -partition 및 -volume 인수를 생략하십시오. |
% vos syncvldb -server <machine name> [-partition <partition name>] [-volume <volume name or ID>] [-verbose >> file]
여기서
| 주: | VLDB를 완전히 동기화하려면 이 명령을 반복적으로 실행하고, 셀에서 각 파일 서버 시스템을 machine name 인수로 차례대로 바꾸고 partition name 인수는 생략하십시오. |
% vos syncserv <machine name> [<partition name>] [-v >> file]
여기서
볼륨 서버나 파일 서버가 볼륨의 데이터를 처리하는 동안 예상치 못한 인터럽션이 발생하여 VLDB 및 볼륨 헤더의 정보 간의 불일치를 발생하는 데서 그치지 않고 볼륨을 중간 상태(손상)로 남겨둘 수 있습니다. 예를 들어 파일에 변경사항을 저장하는 조작(이전 데이터를 새 데이터로 덮어씀)이 실패할 경우 디스크에서 이전 데이터와 새 데이터가 혼합된 상태로 존재할 수 있습니다.
볼륨 서버나 파일 서버가 예상치 못한 상태에서 종료되었으므로 조작이 중단되는 경우 BOS 서버는 자동으로 fs 프로세스의 모든 구성요소를 종료하고 구조 프로그램을 호출합니다. 구조 프로그램은 불일치 상태를 확인하여 수정합니다. 그러나 경우에 따라 다음과 같이 분류되는 증상을 나타내는 경우가 있습니다. 이러한 유형의 증상은 문제점을 작성할만큼 충분히 심각한 손상 상태를 나타내지만 파일 서버 구성요소가 실패될만큼 심각한 증상은 아닙니다. 이러한 경우 직접 bos salvage 명령을 실행하여 구조 프로그램을 호출할 수 있습니다.
가능한 원인: 볼륨 서버나 파일 서버는 파일 작성 조작 중간에, 디렉토리 구조가 변경된 후에, 실제로 데이터를 저장하기 전에 종료되었습니다(다른 가능한 원인은 디렉토리의 ACL이 사용자가 파일을 액세스하는 데 필요한 권한을 부여하지 않거나 프로세스, 시스템 또는 네트워크 작동 중단 상태가 발생한 것입니다. 파일이 손상되었다고 가정하기 전에 이러한 원인이 있는지 확인해 보십시오).
구조 프로그램 해결 방법: 디렉토리 구조에서 파일의 항목을 제거하십시오.
가능한 원인: 두 파일 또는 파일의 두 버전이 중단된 조작으로 인해 동일한 디스크 블록을 공유하게 됩니다. 파일 서버 및 볼륨 서버는 보통 이러한 유형의 손상은 매우 심각할 수 있으므로 이러한 손상을 나타내는 볼륨에 접속하는 것을 거부합니다. 볼륨 서버나 파일 서버가 이 볼륨에 접속했으나 영향 받는 디스크 블록의 상태를 확실히 모르는 경우 이 볼륨에 더 많은 데이터를 쓰려고 시도합니다. 쓰기를 수행할 수 없을 때 데이터를 유실됩니다. 이 결과는 연속적으로 발생하여 파티션의 모든 데이터를 손실할 수 있습니다.
구조 프로그램 해결 방법: 전체 파티션을 손실하기 전에 손상 받은 디스크 블록에서 데이터를 삭제하십시오.
가능한 원인: 고립된 파일 및 디렉토리가 있습니다. 고립된 요소는 그 상위 요소로 작동할 수 있는(파일 트리에서 상위 항목) 디렉토리에 의해 참조되지 않으므로 완전히 액세스가 불가능합니다. 고립된 요소는 서버 파티션에서 공간을 차지한다고 해도 볼륨 크기 계산에(또는 할당량 계산에) 포함되지 않습니다.
구조 프로그램 해결 방법: 기본적으로 발견된 고립된 요소의 수와 이들이 차지하는 공간의 대략적인 킬로바이트 수를 보고하는 메시지를 /usr/afs/logs/SalvageLog 파일에 출력하십시오. -orphans 인수를 사용하여 고립된 요소를 제거하거나 추가할 수 있습니다. 볼륨을 구조하려면을 참조하십시오.
이러한 증상을 확인하면 손상 상태가 확산되기 전에 bos salvage 명령을 사용하여 구조 프로그램을 호출하십시오(이 명령이 볼륨에 대해 작동되기는 하지만 BOS 서버가 볼륨 서버 및 파일 서버의 종료와 재시작을 구조 프로그램에 따라 조정해야 하므로 bos 집합에 속해 있습니다. 이 명령은 구조 프로그램이 시작되기 전에 이들 서버를 종료하고 구조 조작이 끝날 때 이들 서버를 자동으로 재시작합니다).
파일 서버 시스템에 저장된 모든 AFS 데이터는 하나 이상의 파티션에 대한 구조 작업 중에 액세스할 수 없습니다. 하나의 볼륨만 구조하는 경우 해당 볼륨만 액세스할 수 없습니다.
하나 이상의 파티션을 처리할 때 이 명령은 손상된 읽기/쓰기 볼륨에 대한 일관된 상태를 복원해 줍니다. 읽기 전용 또는 백업 볼륨의 경우 다음과 같이 볼륨 헤더만 검토합니다.
다음과 같이 bos salvage 명령의 인수들을 조합해서 다른 수의 볼륨을 구조할 수 있습니다.
구조 프로그램은 항상 실행 중인 파일 서버 시스템의 /usr/afs/logs/SalvageLog 파일에 추적 내용을 씁니다. 다른 파일에 추적 내용을 기록하려면(AFS 또는 bos salvage 명령을 실행하는 시스템의 로컬 디스크에) -file 인수를 사용하여 파일을 명명하십시오. 또는 /usr/afs/logs/SalvageLog 파일에 추적 내용이 기록될 때 추적 결과를 표준 출력 스트림에 표시하려면 -showlog 플래그를 포함시키십시오.
기본적으로 복수의 구조 프로그램 서브프로세스가 병렬로 실행되는 데 최대 네 개의 파티션 각각에 대해서는 하나씩, 네 개 이상의 파티션에 대해서는 네 개의 서브프로세스가 실행됩니다. 병렬로 실행되는 서브프로세스의 수를 늘리거나 줄이려면 -parallel 인수 값에 대해 양의 정수값을 제공하십시오.
하나의 물리적 디스크에 둘 이상의 서버 파티션이 있으면 구조 프로그램은 기본적으로 파티션을 순차적으로 구조하여 한 파티션에서 다른 파티션으로 디스크 헤드가 자주 이동되는 비효율성을 피합니다. 그러나 이러한 전략은 파티션이 여러 디스크에 걸쳐 있는 논리 볼륨으로 구성된 경우에는 별로 이상적이지 않을 수 있습니다. 강제로 구조 프로그램이 병렬로 논리 볼륨을 구조하게 하려면 -parallel 인수의 값으로 all을 제공하십시오. 구조되는 논리 프로세스의 수에 따라 병렬로 실행될 서브프로세스의 수를 지정하려면 양의 정수를 제공하고(예를 들어 다섯 개의 서브프로세스의 경우 -parallel 5all) 네 개까지 서브프로세스를 실행하려면 해당 정수를 생략하십시오.
구조 프로그램은 실행될 때 임시 파일을 작성하여 기본적으로 이 임시 파일을 구조하는 파티션에 씁니다. 파일의 수는 매우 클 수 있으며 파티션이 너무 꽉 차서 이들 파일을 저장할 수 없는 경우 구조 프로그램은 구조 조작을 완료하지 않고 종료됩니다(항상 종료되기 전에 임시 파일을 제거함). 다른 구조 프로그램 서브프로세스는 임시 파일을 저장할 충분한 공간이 있는 다른 모든 파티션을 다 구조할 때까지 동시에 계속 실행됩니다. 중단된 구조 조작을 완료하려면 해당 파티션에 대해 이 명령을 다시 실행하고 -tmpdir 인수를 추가하여 임시 파일 경로를 충분한 공간이 있는 로컬 디스크로 다시 지정하십시오.
-orphans 인수는 구조 프로그램이 구조 중인 서버 파티션에서 찾은 고립된 파일 및 디렉토리를 처리하는 방식을 제어합니다. 고립된 요소는 그 상위 요소로 작동할 수 있는(파일 공간에서 상위 항목) 디렉토리의 vnode에 의해 참조되지 않으므로 완전히 액세스가 불가능합니다. 고립된 오브젝트는 서버 파티션의 공간을 차지하지만 볼륨 할당량을 계산할 때 추가되지 않습니다.
구조 작업 중에 bos status 명령의 출력은 fs 프로세스에 대해 다음의 보조 상태를 보고합니다.
Salvaging file system
% bos listusers <machine name>
% bos salvage -server <machine name>
[-partition <salvage partition>] \
[-volume <salvage volume number or volume name>] \
[-file salvage log output file] [-all] [-showlog] \
[-parallel <# of max parallel partition salvaging>] \
[-tmpdir <directory to place tmp files>] \
[-orphans <ignore | remove | attach>]
여기서
BOS 서버는 파티션 수보다 더 많은 수의 구조 프로그램 서브프로세스를 절대 시작하지 않으며 항상 단일 볼륨을 구조하기 위해서는 하나의 프로세스만 시작합니다. 이 인수가 생략되면 네 개까지의 구조 프로그램 서브프로세스가 동시에 실행됩니다.
파일의 경우 _ _ORPHANFILE_ _.index
디렉토리의 경우 _ _ORPHANDIR_ _.index
여기서 index는 각 오브젝트를 고유하게 식별하는 2자리 숫자입니다. 고립된 오브젝트는 볼륨 할당량을 차지하며 볼륨 루트 디렉토리에 대해 실행된 ls 명령의 출력에도 나타납니다.
모든 AFS 볼륨은 볼륨의 크기를 제한하는 연관된 할당량을 가지고 있습니다. 새로 작성된 볼륨의 기본 할당량은 5,000 킬로바이트 블록(5 MB보다 약간 작음)입니다. 볼륨이 그 할당량에 도달하면 파일 서버는 새 파일이나 디렉토리를 작성하려는 시도를 거부합니다. 응용프로그램이 꽉 찬 볼륨의 기존 파일에 데이터를 쓰는 경우 파일 서버는 정의된 과잉 상태(기본적으로 1MB)를 허용합니다(fileserver 명령의 -spare or -pctspare 인수를 사용하면 기본 과잉 상태를 변경할 수 있습니다. AFS Administration Reference에서 명령 참조 페이지를 참조하십시오).
볼륨을 작성할 때 5000 KB가 넘는 할당량을 설정하려면 읽기/쓰기 볼륨 작성에서 설명하는 것처럼 vos create 명령에 -maxquota 인수를 포함시키십시오. 기존 볼륨의 할당량을 수정하려면 다음에서 설명하는 것처럼 fs setquota 또는 fs setvol 명령을 실행하십시오. 기존 볼륨의 할당량을 현재 크기보다 더 작게 설정하지 마십시오.
보통 볼륨 크기가 작을수록 관리하기가 더 쉬워집니다. 로드 밸런스를 위해 볼륨을 이동해야 하는 경우 다른 파티션에서 작은 볼륨을 위한 여유 공간을 찾는 일이 더 쉽습니다. 볼륨이 작을 경우 이동 작업이 보다 빠르게 진행되므로 이동을 방해할 수 있는 작동 중단 상태나 다른 오류가 발생할 가능성이 줄어듭니다. AFS는 여러 다른 AFS 릴리스마다 달라질 수 있는 최대 볼륨 크기를 지원합니다. 사용 중인 버전에 대해서는 AFS 릴리스 노트를 참조하십시오. 또한 하나의 볼륨이 여러 파티션이나 논리적 볼륨에 걸쳐 있을 수 없으므로 파티션이나 논리적 볼륨의 크기에 따라 볼륨 크기가 제한됩니다.
일반적으로 모든 볼륨이 최대 할당량에 도달한 경우 실제로 채울 수 있는 볼륨보다 더 많은 볼륨을 추가하여 파티션을 과도하게 채우는 것이 안전합니다. 그러나 셀에서 어느 정도까지 볼륨을 과도하게 채울 수 있는가는 경험을 통해서만 알 수 있습니다. 이것은 볼륨에 할당하는 할당량의 종류(특히 시스템 볼륨보다 갑자기 커질 확률이 높은 사용자 볼륨)와 사람들이 할당량과 비교하여 생성하고 저장하는 정보의 양에 따라 달라질 수 있습니다.
다음에서 설명하는 것처럼 볼륨의 할당량을 표시하는 여러 가지 명령이 있습니다. 이들 명령은 각 명령이 생성하는 관련 정보의 양에서 차이를 나타냅니다.
% pts membership system:administrators
% fs setquota [<dir/file path>] -max <max quota in kbytes>
여기서
파일 또는 디렉토리에 대한 읽기/쓰기 경로를 지정하여 읽기 전용 볼륨을 변경하려고 할 때 발생하는 장애를 피하십시오. 일반적으로 경로 이름의 두 번째 레벨의 셀 이름 앞에 마침표를 사용하여 읽기/쓰기 경로를 나타내십시오(예를 들어 /afs/.abc.com). 파일 경로를 통한 읽기/쓰기 및 읽기 전용 경로의 개념에 대해 좀더 살펴 보려면 마운트 포인트 통과 규칙을 참조하십시오.
% pts membership system:administrators
% fs setvol [<dir/file path>+] -max <disk space quota in 1K units>
여기서
% fs quota [<dir/file path>+]
여기서
다음 예제는 이 명령이 생성한 출력을 보여 줍니다.
% fs quota /afs/abc.com/usr/terry 34% of quota used.
% fs listquota [<dir/file path>+]
여기서
다음 예에서 보여주는 것처럼 출력은 볼륨의 이름, 그 할당량과 현재 크기(모두 킬로바이트 블록 단위로), 사용된 퍼센트 할당량 및 사용된 볼륨의 호스트 파티션에 있는 공간의 백분율을 보고합니다.
% fs listquota /afs/abc.com/usr/terry Volume Name Quota Used % Used Partition user.terry 15000 5071 34% 86%
% fs examine [<dir/file path>+]
여기서
다음 예에서 보여주는 것처럼 출력은 볼륨의 볼륨 ID 번호와 이름, 그 할당량과 현재 크기(모두 킬로바이트 블록 단위로), 볼륨 호스트 파티션에서 킬로바이트 블록의 총 수와 이중 사용 가능한 블록의 수를 보고합니다.
% fs examine /afs/abc.com/usr/terry Volume status for vid = 50489902 named user.terry Current maximum quota is 15000 Current blocks used are 5073 The partition has 46383 blocks available out of 333305
| 주: | 이 명령의 출력에서 파티션 관련 통계가 항상 표준 UNIX df 명령 출력의 해당 값과 일치하는 것은 아닙니다. 이 명령에서 보고한 통계는 캐쉬 관리 프로그램이 5분 간격으로 파티션 정보에 대해 파일 서버를 폴링하므로 생성된 이후에 최대 5분까지 경과될 수 있습니다. 또한 일부 운영 체제에서 df 명령의 파티션 크기 보고에는 이 명령의 계산에는 포함되어 있지 않은 예약된 공간이 포함되므로 약 10%가 더 커질 수 있습니다. |
사이트에서 볼륨을 제거하고 VLDB에서 그 레코드를 제거하려면 vos remove 명령을 사용하십시오. 이 명령을 사용하면 다음의 세 가지 유형의 볼륨 중 하나를 제거할 수 있습니다. 그 결과는 유형마다 다릅니다.
남아 있는 읽기 전용 사본이 없는 경우 볼륨의 마운트 포인트를 제거하여 볼륨 내용에 대한 액세스 시도를 막는 것이 가장 바람직합니다. 읽기 전용 볼륨의 사본이 남아 있는 경우 마운트 포인트를 제거하지 마십시오.
둘 이상의 읽기 전용 사이트가 있는 경우 -server 인수(및 선택적으로 -partition 인수)를 포함시켜 볼륨을 제거할 사이트를 지정해야 합니다. 하나의 읽기 전용 사이트만 있는 경우 볼륨 이름으로도 충분합니다. 이 경우 읽기/쓰기 볼륨이 존재하지 않으면 전체 VLDB 항목이 제거됩니다.
읽기 전용 볼륨을 제거할 때, 특히 볼륨의 읽기/쓰기 버전이 여전히 존재할 때 볼륨의 마운트 포인트를 제거하는 것은 별로 적절하지 않습니다. 읽기/쓰기 버전이 더 이상 존재하지 않는 경우 볼륨을 제거하고 언마운트하려면의 단계 5에서 설명하는 것처럼 마운트 포인트를 제거하십시오.
표준 구성에서는 사용자 볼륨의 백업 버전에 대한 별도의 마운트 포인트가 있습니다. 존재하지 않는 볼륨의 내용을 액세스하려는 시도를 막기 위해 해당 마운트 포인트를 제거하도록 하십시오.
vos remove 명령은 파티션에서 볼륨의 VLDB 항목과 볼륨 헤더 및 모든 데이터를 자동적으로 제거하므로 볼륨을 제거하는 적절한 방법으로 사용됩니다. VLDB 항목이나 볼륨 헤더가 없는 경우 나머지 요소만 제거하는 다른 명령을 사용하는 것이 필요할 수도 있습니다. VLDB 항목과 볼륨 헤더가 모두 존재하는 정상적인 경우에는 이들 명령을 사용하지 마십시오. 왜냐하면 VLDB 항목과 볼륨 헤더 간에 불일치가 발생할 수 있기 때문입니다. 명령 구문에 대한 자세한 정보를 보려면 AFS Administration Reference에서 해당 참조 페이지를 참조하십시오.
vos zap 명령은 VLDB 항목이 더 이상 존재하지 않는 볼륨 헤더 및 볼륨 데이터를 제거함으로써 사이트에서 볼륨을 제거합니다.
vos listvol 명령이 볼륨 헤더를 표시하지만 vos examine 또는 vos listvldb 명령이 VLDB 항목을 찾을 수 없는 경우에는 VLDB 항목이 없다고 말할 수 있습니다. vos syncvldb 및 vos syncserv 명령은 볼륨 헤더를 절대 제거하지 않으므로 불일치를 해결하려면 이 명령을 실행해야 합니다.
vos remsite 명령은 파일 서버 시스템의 볼륨에는 영향을 미치지 않으면서 VLDB에서 읽기 전용 사이트 정의를 제거합니다.
실수로 vos addsite 명령을 실행하여 읽기 전용 사이트를 정의했으나 아직 vos release 명령을 실행하여 사이트로 볼륨을 릴리스하지 않았으면 이 명령을 사용하십시오. 실제로 사이트에 볼륨을 릴리스했으면 vos remove 명령을 대신 사용하십시오.
vos delentry 명령은 사용자가 지정하는 볼륨을 언급하는 전체 VLDB 항목을 제거합니다. 파일 서버 시스템에 볼륨의 버전이 실제로 존재하는 경우 이들 버전은 영향을 받지 않습니다. 이 명령은 볼륨 제거 내용이 VLDB에 기록되지 않았다는 사실을 사용자가 알고 있으며(사용자는 긴급 상황 중에는 vos zap 명령을 사용했을 것임) vos syncvldb 및 vos syncserv 명령을 사용하여 전체 VLDB를 재동기화하는데 시간을 소비하지 않으려고 할 때 유용합니다.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
또는 AFS 백업 시스템을 사용하여 테이프 사본을 작성하십시오. 이 경우 중요한 볼륨만 포함하는 임시 볼륨 집합을 작성하는 것이 편리할 수 있습니다. 임시 볼륨 집합은 백업 데이터베이스에 기록되지 않으므로 한 번만 사용하는 볼륨 집합에 대한 레코드로 데이터베이스를 복잡하게 만들지 마십시오. 지침을 보려면 덤프 작성하기를 참조하십시오.
% vos remove [-server machine name>] [-partition <partition name>] \
-id <volume name or ID>
여기서
일반적인 방법으로 마운트된 백업 볼륨을 제거하는 경우(읽기/쓰기 볼륨의 루트 디렉토리의 하위 디렉토리에) 이 단계에서 원본 볼륨의 마운트 포인트를 제거하는 것은 백업 볼륨의 마운트 포인트를 제거하는 것으로 충분합니다. 완전히 구분된 디렉토리에 백업 볼륨을 마운트한 경우 백업 볼륨의 마운트 포인트에 대해 이 단계를 반복해야 합니다.
% fs rmmount <directory>
vos dump 명령을 사용하여 볼륨을 덤프하면 그 내용이 ASCII 형식으로 변환되고 사용자가 지정한 파일에 기록됩니다. vos restore 명령은 덤프 파일을 지정된 파일 서버 시스템에 적절한 볼륨 형식으로 변환한 후 볼륨에 추가합니다.
볼륨을 덤프하는 것은 다음을 포함하여 여러 상황에서 유용할 수 있습니다.
vos dump 명령을 사용하여 명령을 실행할 때 볼륨의 완전한 내용을 포함하는 전체 덤프를 작성하거나 사용자가 지정한 날짜 및 시간보다 나중 날짜가 찍힌 수정 시간 소인이 있는 파일 및 디렉토리만 포함하는 점층적 덤프를 작성할 수 있습니다 (ls -l 명령에 의해 표시). 다음 지침의 단계 3을 참조하십시오.
볼륨을 덤프할 경우 VLDB 항목이 변경되지 않고 파일 서버 시스템에서 그 상태에 영구히 영향을 미치지는 않지만 덤프 조작 중에 볼륨의 내용을 액세스할 수 없습니다. 볼륨에 대한 액세스 작업을 방해하지 않으려면 vos backup 또는 vos backupsys 명령을 실행하여 새로운 백업 버전을 작성한 후에 볼륨의 백업 버전을 덤프하는 것이 가장 바람직합니다.
덤프를 기록할 파일 이름을 제공하지 않으면 vos dump 명령이 출력 경로를 표준 출력 스트림으로 지정합니다. 원하는 경우 출력을 vos restore 명령으로 직접 파이프할 수 있습니다.
볼륨 덤프 파일이 ASCII 형식이므로 cat 명령과 같은 명령이나 문서 편집기를 사용하여 그 내용을 읽을 수 있습니다. 그러나 덤프 파일에는 영숫자 상관 관계가 없는 특수 문자가 포함되는 경우가 있어서 일부 표시 프로그램에서 문제를 유발할 수 있습니다.
기본적으로 vos 명령 인터프리터는 VLDB(Location Database)를 확인하여 볼륨의 위치를 알아내므로 -server 및 -partition 인수가 필요하지 않습니다. -id 인수가 복수의 사이트에 위치하는 읽기 전용 볼륨을 식별하는 경우 이 명령은 여러 사이트 중 하나(보통 vos examine 또는 vos listvldb 명령에서 보고된 대로 볼륨의 VLDB 항목에 나열된 첫째 사이트)의 버전을 덤프합니다. 특정 사이트에서 읽기 전용 볼륨을 덤프하려면 -server 및 -partition 인수를 사용하여 덤프할 사이트를 지정하십시오. VLDB 조회를 완전히 무시하려면 -id 인수에 대한 값으로 볼륨 ID 번호(볼륨 이름 대신)와 -server 및 -partition 인수를 함께 제공하십시오. 이렇게 하면 VLDB 항목이 없는 볼륨을 덤프할 수 있습니다.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% vos dump -id <volume name or ID> [-time <dump from time>] [-file <arg>] [-server <server>] [-partition <partition>]
여기서
볼륨 위치에 대한 일반적인 VLDB 조회를 무시하려면 볼륨 ID 번호를 제공하고 이 인수를 -server 및 -partition 인수와 함께 사용하십시오.
세 가지 유형의 볼륨(읽기/쓰기, 읽기 전용 또는 백업) 중 하나를 덤프할 수 있으나 vos restore 명령을 사용하여 덤프 파일을 읽기/쓰기 볼륨으로서만 파일 시스템에 복원할 수 있습니다. 이 명령은 ASCII에서 복원된 버전을 저장하는 파일 서버 시스템에 적절한 볼륨 형식으로 덤프 파일의 내용을 자동으로 변환합니다. vos dump 명령을 사용할 때처럼 타사의 백업 유틸리티와의 상호 작용을 용이하게 해 주는 명명된 파이프를 통해 덤프 파일을 복원할 수 있습니다.
두 가지 기본 방법 중 하나로 덤프 파일의 내용을 복원할 수 있습니다. 두 경우 모두 점층적 덤프를 복원하기 전에 전체 덤프를 복원해야 합니다. 그런 다음 복원하는 점층적 덤프는 전체 덤프 이후에 작성되어야 합니다. 둘 이상의 점층적 덤프가 있는 경우 작성된 순서대로 복원해야 합니다.
볼륨 서버가 자동으로 볼륨 번호를 할당하게 하는 것이 가장 바람직하지만 볼륨을 복원할 때 볼륨 ID 번호를 지정할 수 있습니다. 볼륨 ID 번호를 지정하는 가장 일반적인 이유는 볼륨의 VLDB 항목이 특정 이유로 인해 사라진다는 것입니다. 그러나 이전의 읽기/쓰기 볼륨 ID 번호를 알고 있으면 재사용할 수 있습니다.
-overwrite 인수를 제공하여 볼륨 내용을 변경하려고 한다는 사실을 미리 확인하고 전체 또는 점층적 덤프 중 어떤 것을 복원할지 지정하십시오. -overwrite 인수를 생략하면 볼륨 서버는 다음 프롬프트를 생성하여 기존의 볼륨을 전체(f) 또는 점층적(i) 덤프로 덮어쓸지 확인합니다.
Do you want to do a full/incremental restore or abort? [fia](a):
-file 인수를 사용하여 명명하는 대신 표준 출력 스트림을 통해 덤프 파일에 파이프할 경우 볼륨 서버가 프롬프트를 표시할 공간이 없으므로 -overwrite 인수를 포함시켜야 합니다.
-server 및 -partition 인수를 사용하여 새 사이트를 지정함으로써 볼륨을 전체 덤프로 덮어쓸 때 볼륨을 새 사이트로 옮길 수 있습니다. 점층적 덤프를 복원할 때는 볼륨을 이동할 필요가 없습니다.
vos restore 명령은 vos examine 및 vos listvol 명령의 출력에 포함된 Creation 필드에 보고된 것처럼 볼륨 헤더에서 복원된 볼륨의 작성 날짜를 복원 조작의 시간으로 설정합니다.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% vos partinfo <machine name> [<partition name>]
% vos restore <machine name> <partition name> \
<name of volume to be restored> \
[-file <dump file>]
[-id <volume ID>]
여기서
% fs mkmount <directory> <volume name>
% fs lsmount <directory>
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% vos restore <machine name> <partition name> \
<name of volume to be restored> \
[-file <dump file>] \
-overwrite <full | incremental>
여기서
% vos release <volume name or ID>
% vos backup <volume name or ID>
vos rename 명령을 사용하면 볼륨 이름을 변경할 수 있습니다. 예를 들어 사용자 볼륨 이름에 대해 user.username 규칙을 사용하고 있으며 사용자 이름을 변경하는 경우에는 사용자의 홈 볼륨 이름을 변경하는 것이 좋습니다. (사용자 이름 변경에 대한 자세한 지침을 보려면 사용자 이름 변경을 참조하십시오.)
vos rename 명령은 읽기/쓰기 볼륨 이름에만 사용할 수 있으나 연관된 읽기 전용 및 백업 볼륨의 이름도 자동으로 변경합니다. 다음에서 설명하는 것처럼 이름 변경을 반영하는 새 이름으로 볼륨의 현재 마운트 포인트를 바꾸어야 합니다.
% bos listusers <machine name>
% fs listacl [<dir/file path>]
system:administrators 그룹의 구성원은 항상 모든 ACL에 대해 암시적으로 a(administer) 권한을 가지며, 기본적으로는 l(lookup) 권한을 가지며 필요한 경우 fs setacl 명령을 사용하여 다른 권한을 부여할 수 있습니다.
% vos rename <old volume name> <new volume name>
여기서
지정된 현재 볼륨에 대해 VLDB(Location Database) 항목이 있으면 명령은 다음의 오류 메시지를 나타내며 실패합니다.
vos: Could not find entry for volume old_volume_name.
% fs rmmount <directory>
% fs mkmount <directory> <volume name> [-rw]
VLDB 및 볼륨 헤더 동기화에서 자세히 설명하는 것처럼 VL(Volume Location) 서버는 볼륨 서버가 볼륨에 대한 작업을 수행하기 전에 볼륨의 VLDB(Volume Location Database) 항목을 잠급니다. 잠긴 VLDB 항목이 있는 볼륨에는 어떠한 조작도 영향을 미칠 수 없으므로 이와 같은 잠금은 하나의 볼륨에 대한 여러 동시 조작으로부터 발생할 수 있는 불일치 또는 손상을 막아 줍니다.
VLDB 항목이 잠겨 있는지 확인하려면 VLDB 항목을 표시하려면에서 설명하는 것처럼 vos listvldb 명령을 실행하십시오. 이 명령은 잠긴 항목만 표시하는 -locked 플래그를 가집니다. VLDB 항목이 잠겨 있으면 문자열 Volume is currently LOCKED가 볼륨 출력의 마지막 행에 나타납니다.
VLDB 항목을 직접 잠그려면 vos lock 명령을 사용하십시오. 이것은 볼륨에 문제가 발생한 것으로 생각되고 문제점을 조사하는 동안 볼륨이 변경되지 않게 하려는 경우에 유용합니다.
잠긴 VLDB 항목의 잠금을 해제하려면 단일 VLDB 항목의 잠금을 해제하는 vos unlock 명령을 실행하거나 많은 항목의 잠금을 해제할 수 있는 vos unlockvldb 명령을 실행하십시오. 이것은 볼륨 조작이 미리 실패하고 VLDB 항목이 잠금 상태로 남아 있을 때 유용하지만 사용자가 장애로 인해 발생한 문제를 해결할 수는 없습니다.
% bos listusers <machine name>
% vos lock <volume name or ID>
여기서
% bos listusers <machine name>
% vos unlock <volume name or ID>
여기서
% bos listusers <machine name>
% vos unlockvldb [<machine name>] [<partition name>]
여기서