Section | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
MVL 드라이버 소개
MVL은 Windows 운영체제에서 공유 디스크 관리 기능을 제공하는 커널 드라이버입니다.
MVL은 공유 디스크 리소스로 구성된 볼륨을 부팅 단계부터 잠금 상태로 설정하여 MVL을 통하지 않고서는 잠금을 해제할 수 없도록 합니다.
MVL은 MCCS가 복수의 노드에서 공유 디스크 접근이 불가능하도록 반드시 한 노드에서만 접근할 수 있도록 제어하는데 필요한 드라이버입니다.
MVL은 볼륨 단위로 관리하며 윈도우의 파티션 단위로 관리를 할 수는 있지만 이를 권하지는 않습니다.
GPT 디스크와 MBR 디스크 모두 지원하며, 파일 시스템은 NTFS만 지원합니다.
MVL 설치 및 제거
MVL은 동적으로 드라이버의 load / unload 가 가능하며 설치한 후에는 시스템의 재부팅 없이 동작시킬 수 있습니다.
MVL은 MCCS 설치 마지막 단계에서 자동으로 설치됩니다.
수동으로 MVL 드라이버를 설치/삭제를 할 때는 "%MCCS_HOME%\bin\DiskAgent" 디렉터리에서 "install.bat/uninstall.bat"을 한 뒤 반드시 재부팅을 해야 적용됩니다.
MVL은 Windows의 레거시 필터 드라이버 방식으로 만들어졌습니다.
따라서 Windows의 net command로도 시작 및 중지가 가능합니다.
Doc command를 이용해서 시작 및 중지하는 방법은 다음과 같습니다.
시작
Code Block | ||
---|---|---|
| ||
net start vollock |
중지
Code Block | ||
---|---|---|
| ||
net stop vollock |
이후에 MCCS를 제거 하고자 할 때에는 MCCS 제거 외에도 MVL 드라이버를 운영체제에서 따로 제거해줘야 합니다.
완전히 제거하는 방법은 설치할 때와 마찬가지로 "%MCCS_HOME%\bin\DiskAgent"의 "uninstall.bat"을 실행하면 됩니다.
Warning |
---|
MVL은 레거시 커널 필터 드라이버입니다. 따라서 MCCS에서 제공하는 "install.bat/uninstall.bat"로 설치/제거한 후에 시스템 재부팅해야 합니다. |
공유 디스크 구성 절차 예
MCCS를 설치한 후에 MVL을 사용하여 공유 디스크를 구성하기 위해서는 아래의 순서대로 설치할 것을 권합니다.
2개의 노드로 구성된 클러스터에서 S:를 공유 디스크로 가정합니다.
- 양쪽 노드(A와 B라고 가정)가 모두 Power off된 상태에서 A 노드를 부팅시킵니다.
- A 노드에서 MCCS를 설치합니다.
- "vollock /a s:"로 S드라이브를 MVL에 등록시킵니다.
- "vollock /l s:"로 S드라이브를 잠금 상태로 합니다.
- 볼륨 S:가 접근이 가능한지를 살펴봅니다.
- S볼륨이 잠긴 것이 확인되면 B 노드를 부팅시킵니다.
- B 노드에서도 2,3,4번과 같은 방법으로 실행합니다.
- 두 노드에서 볼륨이 모두 잠금 상태가 되었으면 디스크 리소스를 생성합니다.
이렇게 한 쪽 노드에서만 디스크 접근이 되는 상태를 계속 유지하면서 잠금을 걸어야 디스크 손상을 방지할 수 있습니다.
MVL Command 명령
vollock.exe 명령어를 통해 MVL에 볼륨 제어 명령을 전달할 수 있습니다. vollock.exe는 "%MCCS_HOME%\bin\DiskAgent\" 에 있습니다.
Code Block | ||
---|---|---|
| ||
vollock [/옵션] [드라이브명:] |
옵션 | 설명 |
L | 디스크를 잠급니다. |
U | 디스크 잠금을 해제합니다. |
A | 윈도우 레지스트리의 MVL 잠금 대상 볼륨 목록에 등록하여 시스템 재시작 후에도 잠금 상태를 유지하도록 합니다. |
D | 윈도우 레지스트리의 MVL 잠금 대상 볼륨 목록에서 해당 드라이브를 삭제 시킵니다. |
W | 지정한 디스크가 쓸 수 있는 상태인지 알려줍니다. |
M | 디스크의 마운트/디스마운트 여부를 알려줍니다. |
V | 설치 된 MVL 버전을 알려줍니다 |
status | Lock 상태 유무와 레지스트리 등록 여부를 테이블 형태로 나타냅니다. |
clear | 모든 볼륨을 잠금 해제 합니다. |
delete | 지정된 디스크를 등록 해제 합니다. |
Status는 아래와 같이 Device Name과 Lock 유무, Registry 등록 정보를 나타냅니다.
[그림] 볼륨 lock 정보
체크리스트
MVL 드라이버가 설치되어 있는지는 cmd 창에서 fltmc 명령어를 사용하여 Vollock 드라이버가 목록에 있는지를 확인합니다.
[그림] 볼륨 lock 드라이버 정보
vollock.sys는 레거시 커널 필터 드라이버이므로 <Legacy> 형태로 등록이 됩니다.
추가
공유 디스크 리소스를 추가 합니다.
공유 디스크 리소스를 추가 하기 위해서는 사전에 추가 가능한 공유 디스크가 OS상에 구성되어 있어야 합니다.
- 그룹 선택 → 마우스 우 클릭 → 리소스 추가를 선택합니다.
리소스 위자드에서 공유 디스크를 선택하고 [Next] 버튼을 클릭합니다.
공유 디스크 리소스에 사용될 드라이브 문자를 선택하면 권장 이름을 제공해 줍니다.
Warning 공유 디스크 리소스로 사용할 디스크는 양 노드간 동일한 드라이브 문자를 가져야 합니다.
동일한 드라이브 문자를 가진 로컬 디스크의 드라이브 문자도 목록에 보여지므로 정확한 드라이브 문자를 선택합니다.
[그림] 공유 디스크 리소스 드라이브 문자 선택 화면- [추가 설정]을 클릭하여 디스크 검사 명령을 사용할 수 있습니다. 사용 안 함이 기본적으로 선택되어 있습니다.
옵션을 사용한다면 사용을 선택하고 체크 디스크 옵션을 입력합니다.(기본값은 /F입니다.)
설정사항 입력이 끝나면 [OK] 버튼을 클릭합니다.
[그림] 공유 디스크 추가 설정 위자드 화면 [완료] 버튼을 클릭하면 기본 공유 디스크 리소스가 추가됩니다.
삭제
해당 리소스 선택 → 마우스 우 클릭 → 리소스 삭제를 선택합니다.
상태
다음 테이블은 상태와 사용자 명령에 의해 발생되는 MCCS 리소스의 상태 변화에 대한 설명입니다.
공유 디스크 에이전트: MCCS 에 등록된 공유 디스크를 관리합니다.
상태 | Agent 가능 명령 | 설명 |
---|---|---|
온라인 볼륨에 대한 잠금이 해제되어 쓰기가 가능한 상태입니다. | 오프라인 | MVL을 사용하여 디스크에 읽기 및 쓰기를 불가능하게 합니다. |
모니터링 | MVL과 임시 텍스트 파일을 생성하여 볼륨에 쓰기 접근이 가능한지를 감시합니다. | |
오프라인 볼륨이 잠긴 상태로 읽기/쓰기가 모두 불가능합니다. | 온라인 | MVL을 사용하여 디스크에 읽기 및 쓰기를 가능하게 합니다. |
모니터링 | MVL과 임시 텍스트 파일을 생성하여 볼륨에 쓰기 접근이 가능한지를 감시합니다. | |
장애 볼륨이 온라인 상태지만 외부적인 요인으로 문제가 발생하여 쓰기가 불가능한 상태입니다. | 온라인 | MVL을 사용하여 디스크에 읽기 및 쓰기를 가능하게 합니다. |
오프라인 | MVL을 사용하여 디스크에 일기 및 쓰기를 불가능하게 합니다. |
속성
공유 디스크 리소스의 고유 속성을 표시 합니다.
속성 | 설명 | 타입 | 기본값 | 수정 |
ChkDsk | True로 설정되면 볼륨 마운트 시에 디스크 검사 옵션(ChkdskArg)에 따라 디스크를 검사하고 오류를 수정합니다. | BOOLEAN | false | O |
ChkdskArg | 체크디스크(Chkdsk)가 True 일 때 체크 디스크 명령 옵션을 지정합니다. | STRING | /F | O |
DirtyBit | 대상 볼륨에 Dirtybit가 설정되어 있음을 의미합니다. 일반적으로 대상 볼륨에 무결성 검사가 필요 할 경우 시스템에 의해 설정됩니다. | BOOLEAN | false | X |
DriveLetter | 볼륨의 드라이버 문자를 지정합니다. | STRING | O | |
ForceUmount | True로 설정 할 경우 오프라인 시 장치가 사용 중이더라도 강제로 언마운트 합니다. | BOOLEAN | false | O |
HostID | 스카시예약에서 사용하는 서버 고유의 ID입니다. | STRING | X | |
IOTest | True로 설정되면 Disk IO 상태를 체크합니다. | BOOLEAN | true | O |
UseSCSILock | True로 설정할 경우 SCSILock 기능을 사용합니다. | BOOLEAN | false |
Info |
---|
속성 값은 해당 리소스를 등록할 때에 입력된 값이며, "리소스 고유 속성"에서 값을 변경하거나 확인할 수 있습니다. |
Info |
---|
MCCS 는 사용자의 입력필드에 대한 입력값 제한 기능이 존재하며, 사용자가 잘못 입력한 데이터에 대해 자동 점검기능을 제공합니다. |