하드웨어
이 페이지의 주요 내용
CPU
최소 1Ghz 이상의 32-bit (x86) 또는 64-bit (x64) 프로세서가 필요합니다.
메모리
MCCS가 운영되기 위해서는 다음과 같은 메모리 용량이 필요합니다.
최소 1GB 이상 메모리
최소 200MB 이상의 여유 공간
디스크
공유디스크
SAN, DAS, iSCSI 환경 모두를 지원합니다
스카시 예약 디스크
SAN 프로토콜 중에서 SCSI3-PR을 지원하는 공유 스토리지를 지원합니다.
최소 500MB 이상의 여유 공간이 필요합니다.
미러 디스크, 공유디스크 DR, 미러디스크 DR
미러디스크, 공유디스크DR 그리고 미러디스크 DR은 모두 데이터 볼륨과 메타볼륨이 필요합니다.
- 데이터볼륨: 실제 데이터가 저장되는 공간입니다.
- 메타볼륨: 데이터 볼륨을 관리하기 위한 별도의 볼륨입니다.
데이터 볼륨
미러디스크, 공유디스크DR, 미러디스크DR 구성 시 사용 가능한 테이터 볼륨 조건입니다.
- 디스크타입
- SATA
- SCSI
- SSD
- 디스크형식(파티션타입)
- 기본 디스크
- MBR
- GPT
- 확장 파티션의 논리 드라이브
- 동적 디스크
- 스팬 볼륨
- 스트라이프 볼륨
- 미러 볼륨
- RAID - 5 볼륨
- 기본 디스크
- 파일시스템
- NTFS
- ReFS
- 스토리지구성
- SAN
- DAS
- iSCSI
- NAS와 같은 네트워크 드라이버에 대한 복제는 지원하지 않습니다.
각 서버의 미러링 볼륨 크기는 동일하거나 대기 서버의 볼륨이 커야 합니다.
각 서버의 드라이브 레터(Drive Letter)를 같은 문자로 할당하고 쓰기 및 읽기 접근이 가능한 상태로 준비합니다.
이거 확인해봐야함
Note
미러링 된 디스크가 도메인 환경에 추가 된 경우 로컬 관리자 이상의 계정으로 작업하는 것이 필수적입니다.
메타 볼륨
데이터 볼륨의 복제를 위해 별도의 메타데이터 볼륨이 필요합니다.
메타 데이터 볼륨은 별도의 디스크 혹은 파티션으로 구성합니다.
메타디스크 방식은 외부메타와 내부메타 방식이 있는데 복제 볼륨 디스크와 같은 디스크 상에서 메타데이터를 구축하면 내부(Internal)메타이며 다른 디스크 상에서 구축하면 외부(external)메타 방식입니다.
여러 개의 디스크 리소스를 구성할 경우 메타 볼륨은 복제 볼륨마다 개별적으로 메타 볼륨이 구성되어야 합니다.
WDRBD의 경우 1개의 물리디스크를 복제 영역과 메타 영역으로 파티셔닝 하고 파티셔닝된 볼륨 중 1개를 외부 메타로 구성하는 것과 비교하여 차이가 없다고 할 수 있습니다.
내부 메타 데이터 볼륨
윈도우에서 디스크 리소스 구성 시 내부(Internal) 메타 구성 키워드를 지원하지 않습니다.
리눅스에서는 내부(Internal) 메타 방식은 근본적으로 1개의 물리 디스크에 대한 파티셔닝을 통해 복제영역과 메타영역을 분리하여 관리하는 방식으로 Windows 디스크 관리에서 1개의 물리디스크에 대한 디스크 파티셔닝과 동등한 방식입니다.
따라서 1 개의 물리디스크를 복제 영역과 메타영역으로 파티셔닝 하고 파티셔닝된 볼륨 중 1개를 외부 메타로 구성하는 것과 비교하여 차이가 없다고 할 수 있습니다.
WDRBD에선 meta-disk internal 구성 키워드를 제공하지 않을 뿐 동일 디스크 상에서 디스크 파티셔닝을 수동으로 하여 내부 메타 구성과 같은 구성을 할 수 있습니다.
외부 메타 데이터 볼륨
외부 메타 방식을 사용하기 위해서는 드라이브 레터를 붙일 수 있는 별도의 볼륨이 필요합니다. 이런 볼륨을 만들기 위해서는 아래의 경우가 준비 되어야 합니다.
- 별도 디스크의 RAW 볼륨
- 파티션을 나눈 RAW 볼륨
- VHD(Virtual Hard Disk)
1번의 경우는 메타를 위한 별도의 디스크가 있을 때 사용할 수 있습니다. 만약 데이터 볼륨 외 별도의 디스크가 준비되어 있지 않은 경우는 2, 3번의 방법을 고려해야 합니다.
메타 볼륨은 별도의 볼륨을 생성할 때 반드시 포맷을 하지 않고 RAW 상태로 만들어야 합니다.
WDRBD는 기본적으로 섹터 단위로 메타 볼륨에 접근하기 때문에 NTFS와 같은 파일시스템으로 포맷을 하게되면 부트레코드(Boot Record) 영역으로의 접근에 대해 쓰기 권한을 요구하게 되며 해당 영역이 보호를 받게 되어 일부 섹터에 대한 접근이 되지 않습니다.
또한 MFT 같은 파일시스템의 메타 영역이 생성되어 WDRBD에서 메타디스크로 사용할 수 없게 됩니다. 따라서 초기 볼륨 생성시 포맷 하지 않는 옵션을 선택하여 생성해야 합니다.
보다 자세한 내용은 /wiki/spaces/WDRBDV9/pages/170098865를 참조 하세요.
메타 볼륨 지정
데이터 볼륨과는 달리 메타 볼륨은 mount-point 방식에 따라 아래의 3가지 형태로 지정할 수 있다.
- 드라이브 레터
- 디렉토리 마운트
- GUID 형태의 볼륨 이름
드라이브 레터
일반적인 "D:", "E:" 같은 드라이브 레터로 메타를 지정하는 방식이며 사용자 입장에서 가장 사용하기 편한 방식입니다. 디스크 관리자에서 쉽게 지정할 수 있습니다.
드라이브 레터는 C ~ Z 까지 (A:, B: 플로피 용은 제외) 개수 제한이 있습니다. 이런 드라이브 레터가 모자르는 특수한 경우가 발생한다면 아래의 2가지 방식을 고려해 볼 수 있습니다.
디렉토리 마운트
드라이브 레터 같은 문자가 아닌 일반 directory(혹은 folder) 경로와 볼륨을 매핑하여 사용할 수 있으며 메타 디스크를 이런 디렉토리 경로명으로 지정할 수 있습니다.
가령, C:\vdrive 의 디렉토리와 볼륨을 매핑하였다면 위의 경우처럼 생성 될 것이며 탐색기에서 살펴보면 해당 디렉토리는 mount 경로가 지정되었다는 의미의 아이콘으로 보여집니다.
디렉토리 마운트에서 주의할 점으로는 마운트 포인트인 해당 디렉토리가 의도치 않게 삭제될 시 일반 디렉토리처럼 삭제가 됩니다. 그러면 해당 볼륨은 마운트 포인트를 잃게 되며 이는 WDRBD가 오동작할 수 있게 되어 사용자의 주의가 필요합니다.
GUID 형태의 볼륨 이름
디스크 볼륨이 생성될 시 해당 볼륨을 식별하는 GUID가 생성됩니다. 볼륨에 대한 드라이브 레터나 디렉토리 링크는 사용자가 지정하지 않는 경우 없을 수 있지만 GUID는 반드시 존재합니다. 따라서 볼륨에 대한 마운트 포인트를 따로 지정하지 않아도 GUID를 통해 메타 볼륨을 설정할 수 있으며 GUID 값은 아래의 mountvol 명령어로 확인 할 수 있습니다.
c:\Program Files\drbd\bin>mountvol Creates, deletes, or lists a volume mount point. ... \\?\Volume{fd4b6444-b07b-11e4-9f02-806e6f6e6963}\ *** NO MOUNT POINTS *** \\?\Volume{683f8b63-1756-11e6-b35a-000c29ba4827}\ C:\vdrive\ \\?\Volume{ee5a680e-0865-11e6-a0db-000c29ba4827}\ D:\ \\?\Volume{fd4b6445-b07b-11e4-9f02-806e6f6e6963}\ C:\ \\?\Volume{fd4b6448-b07b-11e4-9f02-806e6f6e6963}\ Z:\
해당 볼륨의 GUID를 찾아서 직접 리소스 파일에 기입해주면 됩니다. GUID 방식은 볼륨이 제거 되지 않는 이상 변경될 가능성은 없지만 작업자가 육안으로 볼륨 GUID를 식별하기에 다소 불편함이 있으며 drbdmeta 같은 별도 명령을 내릴 경우 GUID 이름을 일일이 입력하기 힘들다는 단점도 있습니다.
이렇게 메타 볼륨을 지정하는 방법은 마운트 하는 방식 혹은 그 여부에 따라 각각 적절히 선택하면 되며 사용 예는 아래와 같습니다.
resource r0 { ... meta-disk m; meta-disk "c:\vdrive"; meta-disk "\\\\?\\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\\"; # \의 개수에 주의해야 합니다. ... }
드라이브 레터가 아닌 경우 문자열을 따옴표(Quotation) 로 묶어서 입력하면 됩니다.
WDRBD 는 VHD-MetaDisk 와 디렉토리 마운트 포인트를 메타디스크로 지원합니다.
그러나 이렇게 구성한 메타디스크는 Windows 시스템 종료 시점에 복제 볼륨보다 메타디스크가 먼저 언마운트 되는 구성이 될 수 있기 때문에 사용에 주의가 요구됩니다. 메타디스크가 복제볼륨 보다 먼저 언마운트가 되면 종료시점의 메타 I/O 가 실패할 수 있고 메타디스크가 깨짐으로 처리될 수 있습니다.
VHD-Metadisk 지원
VHD(Virtual Hard Disk)는 파일 형태로 존재하는 가상의 하드디스크 입니다. 이 기능을 사용하면 메타 볼륨을 파일형태 가상 디스크로 구성할 수 있습니다. (Windows 2008 r2 이상에서 지원)
윈도우0`567y\=-- 디스크 관리자에서 VHD를 생성한 후 연결(Attach)를 통해 별도의 볼륨을 구성할 수 있으며, 아래의 예와 같이 리소스 파일에 meta-disk의 letter와 파일명을 정해줍니다.
그리고 VHD 메타디스크는 일반 디스크 볼륨과 같이 볼륨 레터를 사용하지 않고 볼륨의 GUID 를 통해 메타디스크를 구성할 수 도 있습니다.
resource r0 {
...
meta-disk m "c:\r0_meta.vhd"; # VHD + 레터 방식
meta-disk "C:\vdrive" "c:\r0_meta.vhd"; # VHD + 디렉토리 마운트 방식
meta-disk "\\\\?\\Volume{ed8a8f02-18b3-11e6-91b4-000c29ac57f8}\\" "c:\r0_meta.vhd"; # ==> VHD + GUID 방식
...
}
메타 볼륨은 데이터 볼륨의 크기 및 노드 수에 따라 크기가 달라집니다. 그래서 메타 볼륨의 크기를 대략적으로 추정해야 하는데 이 부분은 메타 데이터 사이즈 추정을 참고하시기 바랍니다.
메타 인덱스
다중 리소스 또는 다중 볼륨 리소스를 동일한 메타 볼륨으로 구성하고자 한다면, 메타 인덱스 옵션을 사용하면 됩니다. 메타디스크 raw 볼륨의 시작점을 기점으로 인덱스 오프셋 값 만큼 메타 영역이 나눠지게 됩니다.
메타 인덱스 하나당 할당되는 메타 영역은 256MB입니다. 만약 두개의 메타 인덱스를 구성하고자 한다면 최소 512MB의 메타 볼륨이 필요합니다.
(index) X (256MB) 위치에 md_offset이 설정되기 때문에 0번 인덱스부터 차례대로 사용하는 것이 효율적입니다.
구성 예는 아래와 같습니다.
resource r0 { ... meta-disk m[0]; # meta-disk "c:\vdrive\"[0]; # meta-disk "\\\\?\\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\\"[0]; ... } resource r1 { ... meta-disk m[1]; # meta-disk "c:\vdrive\"[1]; # meta-disk "\\\\?\\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\\"[1]; ... } resource r2 { ... meta-disk m[2]; # meta-disk "c:\vdrive\"[2]; # meta-disk "\\\\?\\Volume{d41d41d8-17fb-11e6-bb93-000c29ac57ee}\\"[2]; ... }
메타 인덱스 사용에는 아래와 같은 제약 사항이 있습니다.
- VHD 볼륨은 지원하지 않습니다.
- 메타 인덱스 지원은 내부적으로 최대 4TB 크기의 복제 볼륨에 한정하여 지원하고 있습니다.
- 1:1, 1:2 구성에 한하여 지원합니다.
네트워크
네트워크 인터페이스
공유 디스크를 구성할 경우에는 다음과 같이 2개의 NIC(Network Interface Card)를 권장합니다.
- 서비스를 위한 네트워크 인터페이스 카드 : 클라이언트 연결에 사용되며, 2번째 핫빗으로 사용됩니다.
- 핫빗을 위한 네트워크 인터페이스 카드 : 노드간에 통신을 위해 사용됩니다.
미러 디스크를 구성할 경우에는 다음과 같이 3개의 NIC(Network Interface Card)를 권장합니다.
- 서비스를 위한 네트워크 인터페이스 카드 : 클라이언트 연결에 사용되며 3번째 핫빗으로 사용됩니다.
- 핫빗을 위한 네트워크 인터페이스 카드 : 노드간에 통신을 위해 사용됩니다.
- 미러를 위한 네트워크 인터페이스 카드 : 로컬 디스크의 데이터 복제용으로 사용되며, 2번째 핫빗으로 사용됩니다.
고객사 환경에 따라 가상 IP의 개수는 차이가 있을 수 있습니다
Active-Standby 서버 환경을 구성할 때, 서비스용 가상 IP는 클러스터에서 관리하며, 운영 및 대기 서버의 IP와 같은 대역이어야 합니다.
미러용 네트워크는 Gigabit 랜으로 구성하기를 권합니다.
MCCS를 설치하기 전에 Ping 테스트 등을 통하여 모든 네트워크 통신이 정상임을 반드시 확인하고, 네트워크 카드의 드라이버는 NIC 제조사의 최신 드라이버 설치를 권합니다.
각 핫빗(Public, Heartbeat, Mirror)은 다른 네트워크 대역이어야 하며, 같은 핫빗에 속한 노드 별 포트는 동일한 네트워크 대역으로 설정합니다.
IP 주소
MCCS 에 사용되는 클러스터의 각 노드의 모든 NIC 은 적어도 하나의 IP 주소가 있어야 합니다. 클라이언트와 통신하는 노드간의 전환가능한 가상 IP 주소는 사전에 미리 예약되어야 합니다. 가상 IP 주소의 갯수는 클라이언트의 필요에 따라 달라질 수 있습니다.
가상 IP 주소를 예약할 경우, 노드의 NIC 의 실제 IP 주소와 동일한 서브넷이어야 합니다. 예를 들어 NIC 의 실제 IP 주소가 10.10.10.10 / 255.255.255.0 이라면 MCCS 가 사용하는 NIC 의 가상 IP 주소는10.10.10.x / 255.255.255.0 이어야 합니다(x는 1 에서 254 사이의 값이어야 합니다).