CSV(클러스터 공유 볼륨)에서 BitLocker 사용
적용 대상: Windows Server 2022, Azure Stack HCI 버전 22H2 및 21H2
BitLocker 개요
BitLocker 드라이브 암호화는 운영 체제와 통합되어 데이터 보호를 제공하는 기능으로, 분실, 도난 또는 제대로 폐기되지 않은 컴퓨터로 인한 데이터 도난 또는 노출 위험에 대응합니다.
BitLocker는 TPM(신뢰할 수 있는 플랫폼 모듈) 버전 1.2 이상과 함께 사용할 때 가장 강력한 보호 기능을 제공합니다. TPM은 많은 최근 출시되는 컴퓨터에 컴퓨터 제조업체가 설치한 하드웨어 구성 요소입니다. TPM은 BitLocker와 함께 작동하여 사용자 데이터를 보호하고 시스템이 오프라인 상태일 때 컴퓨터가 변조되지 않도록 합니다.
TPM 1.2 이상의 버전이 없는 컴퓨터에서도 BitLocker를 사용하여 Windows 운영 체제 드라이브를 암호화할 수 있습니다. 그러나 이를 구현하려면 사용자가 USB 시작 키를 삽입하여 컴퓨터를 시작하거나 최대 절전 모드에서 다시 시작해야 합니다. Windows 8부터는 TPM이 없는 컴퓨터에서 운영 체제 볼륨 암호를 사용하여 볼륨을 보호할 수 있습니다. 두 옵션 모두 TPM이 있는 BitLocker가 제공하는 부팅 전 시스템 무결성 검증 기능을 제공하지 않습니다.
TPM 외에도 BitLocker는 사용자가 개인 식별 번호(PIN)를 입력하거나 이동식 장치를 삽입할 때까지 정상 시작 프로세스를 잠글 수 있는 옵션을 제공합니다. 이 장치는 시작 키가 포함된 USB 플래시 드라이브일 수 있습니다. 이러한 추가 보안 조치는 다단계 인증을 제공하며, 올바른 PIN이나 시작 키가 제공될 때까지 컴퓨터가 시작되거나 절전 모드에서 복귀하지 않도록 보장합니다.
클러스터 공유 볼륨 개요
클러스터 공유 볼륨(CSV)은 Windows Server 장애 조치 클러스터 또는 Azure Stack HCI의 여러 노드가 NTFS 볼륨으로 설정된 동일한 논리 단위 번호(LUN) 또는 디스크에 동시에 읽기/쓰기 액세스를 할 수 있도록 합니다. 디스크는 복원 파일 시스템(ReFS)로 설정할 수 있습니다. 그러나 CSV 드라이브는 리디렉션 모드에 있어, 쓰기 접근이 코디네이터 노드로 전송됩니다. CSV를 사용하면 클러스터 역할이 노드 간에 빠르게 장애 조치될 수 있으며, 드라이브 소유권 변경이나 볼륨의 분리 및 재장착이 필요하지 않습니다. 또한 장애 조치(failover) 클러스터에서 잠재적으로 많은 LUN을 간소화할 수 있습니다.
CSV는 NTFS 또는 ReFS 상위 계층에 있는 범용 클러스터된 파일 시스템을 제공합니다. CSV 애플리케이션은 다음과 같습니다.
- 클러스터링된 Hyper-V 가상 머신을 위한 클러스터형 가상 하드 디스크(VHD/VHDX) 파일
- 스케일 아웃 파일 서버 클러스터 역할에 대한 응용 프로그램 데이터를 저장하기 위해 파일 공유를 확장합니다. 이 역할의 애플리케이션 데이터에 대한 예로는 Hyper-V 가상 머신 파일 및 Microsoft SQL Server 데이터를 들 수 있습니다. ReFS는 Windows Server 2012 R2 이하의 스케일 아웃 파일 서버에 대해 지원되지 않습니다. 스케일 아웃 파일 서버에 대한 자세한 내용은 응용 프로그램 데이터를 위한 스케일 아웃 파일 서버를 참조하세요.
- Microsoft SQL Server 2014(이상)의 장애 조치 클러스터 인스턴스(FCI)에서는 CSV를 지원하지만, SQL Server 2012 및 이전 버전의 SQL Server에서의 클러스터링된 워크로드는 CSV 사용을 지원하지 않습니다.
- Windows Server 2019 이상에서 Microsoft 분산 트랜잭션 제어(MSDTC)
클러스터 공유 볼륨에서 BitLocker 사용
클러스터 내의 볼륨에서 BitLocker는 클러스터 서비스가 보호할 볼륨을 어떻게 "인식"하는지에 따라 관리됩니다. 볼륨은 스토리지 영역 네트워크(SAN) 또는 네트워크 연결 저장소(NAS)의 논리 단위 번호(LUN)와 같은 물리적 디스크 리소스일 수 있습니다.
대안으로, 해당 볼륨은 클러스터 내의 클러스터 공유 볼륨(CSV)일 수 있습니다. 클러스터에 지정된 볼륨에서 BitLocker를 사용할 때, 해당 볼륨은 클러스터에 추가하기 전에 또는 클러스터 내에서 BitLocker를 활성화할 수 있습니다. BitLocker를 활성화하기 전에 리소스를 유지 관리 모드로 전환합니다.
Windows PowerShell 또는 Manage-BDE 명령줄 인터페이스는 CSV 볼륨에서 BitLocker를 관리하는 기본 방법입니다. 이 방법은 CSV 볼륨이 마운트 지점이기 때문에 BitLocker 제어판을 사용하는 것보다 더 권장됩니다. 마운트 지점은 다른 볼륨에 대한 진입점을 제공하기 위해 사용되는 NTFS 객체입니다. 마운트 지점은 드라이브 문자를 사용할 필요가 없습니다. 드라이브 문자가 없는 볼륨은 BitLocker 제어판 항목에 표시되지 않습니다.
BitLocker는 다음 순서로 보호 장치를 시도하여 사용자 개입 없이 보호된 볼륨의 잠금을 해제합니다.
지우기 키
드라이버 기반 자동 잠금 해제 키
ADAccountOrGroup 보호기
서비스 컨텍스트 보호기
사용자 보호기
레지스트리 기반 자동 잠금 해제 키
장애 조치(failover) 클러스터에는 클러스터 디스크 리소스에 대한 Active Directory 기반 보호기 옵션이 필요합니다. 그렇지 않으면 제어판 항목에서 CSV 리소스를 사용할 수 없습니다.
Active Directory 도메인 서비스(AD DS) 보호기는 AD DS 인프라 내에서 클러스터 볼륨을 보호하기 위한 것입니다. ADAccountOrGroup 보호기는 도메인 보안 식별자(SID)를 기반으로 하며, 사용자 계정, 머신 계정 또는 그룹에 연결할 수 있습니다. 보호된 볼륨에 대한 잠금 해제 요청이 있을 때, BitLocker 서비스는 요청을 중단하고 BitLocker 보호/보호 해제 API를 사용하여 요청을 잠금 해제하거나 거부합니다.
새로운 기능
이전 버전의 Windows Server와 Azure Stack HCI에서는 지원되는 암호화 보호기가 SID 기반 보호기만 있으며, 사용되는 계정은 장애 조치 클러스터링 생성의 일환으로 Active Directory에 생성된 클러스터 이름 객체(CNO)입니다. 이는 보호기가 Active Directory에 저장되고 CNO 암호로 보호되기 때문에 안전한 설계입니다. 모든 장애 조치 클러스터 노드가 CNO 계정에 접근할 수 있기 때문에 볼륨의 구성과 잠금 해제가 용이해집니다.
단점은 세 가지입니다.
이 방법은 데이터 센터에 Active Directory 컨트롤러에 접근할 수 없는 상태에서 장애 조치 클러스터를 생성하면 작동하지 않습니다.
장애 조치의 일환으로 볼륨 잠금 해제가 Active Directory 컨트롤러가 응답하지 않거나 느릴 경우 시간이 너무 오래 걸리거나 초과될 수 있습니다.
Active Directory 컨트롤러가 사용할 수 없는 경우 드라이브의 온라인 프로세스가 실패합니다.
장애 조치 클러스터링은 볼륨에 대해 자체적으로 BitLocker 키 보호기를 생성하고 유지 관리하는 새로운 기능이 추가되었습니다. 이는 로컬 클러스터 데이터베이스에 암호화되어 저장됩니다. 클러스터 데이터베이스는 모든 클러스터 노드의 시스템 볼륨에 의해 지원되는 복제 저장소이므로, 모든 클러스터 노드의 시스템 볼륨도 BitLocker로 보호되어야 합니다. 장애 조치 클러스터링은 시스템 볼륨 암호화를 강제하지 않으며, 일부 솔루션은 시스템 볼륨을 암호화할 필요가 없거나 원하지 않을 수 있습니다. 시스템 드라이브가 BitLocker로 보호되지 않은 경우, 장애 조치 클러스터는 온라인 및 잠금 해제 과정 중에 이를 경고 이벤트로 표시합니다. 장애 조치 클러스터 유효성 검사는 Active Directory가 없는 환경이나 작업 그룹 설정에서 시스템 볼륨이 암호화되지 않은 경우 경고 메시지를 기록합니다.
BitLocker 암호화 설치
BitLocker는 클러스터의 모든 노드에 추가해야 하는 기능입니다.
서버 관리자를 사용하여 BitLocker 추가
서버 관리자 아이콘을 선택하거나 servermanager.exe를 실행하여 서버 관리자를 엽니다.
서버 관리자 탐색 모음에서 관리를 선택하고 역할 및 기능 추가를 선택하여 역할 및 기능 추가 마법사를 시작합니다.
역할 및 기능 추가 마법사가 열린 상태에서 시작하기 전에 창(표시된 경우)에서 다음을 선택합니다.
역할 및 기능 추가 마법사 창의 설치 형식 창에서 역할 기반 또는 기능 기반 설치를 선택하고 다음을 선택하여 계속합니다.
서버 선택 창에서 서버 풀에서 서버 선택 옵션을 선택하고 BitLocker 기능 설치를 위한 서버를 확인합니다.
역할 및 기능 추가 마법사의 서버 역할 창에서 다음을 선택하여 기능 창으로 이동합니다.
역할 및 기능 추가 마법사의 기능 창에서 BitLocker 드라이브 암호화 옆에 있는 확인란을 선택합니다. 마법사에 BitLocker에 사용할 수 있는 추가 관리 기능이 표시됩니다. 이러한 기능을 설치하지 않으려면 관리 도구 포함 옵션을 선택 취소하고 기능 추가를 선택합니다. 선택적 기능 선택이 완료되면 다음을 선택하여 계속합니다.
참고 항목
향상된 스토리지 기능은 BitLocker를 사용하도록 설정하는 데 필요한 기능입니다. 이 기능을 사용하면 지원 시스템에서 암호화된 하드 드라이브를 지원할 수 있습니다.
역할 및 기능 추가 마법사의 확인 창에서 설치를 선택하여 BitLocker 기능 설치를 시작합니다. BitLocker 기능을 완료하려면 다시 시작해야 합니다. 확인 창에서 필요한 경우 자동으로 대상 서버 다시 시작 옵션을 선택하면 설치가 완료된 후 컴퓨터가 강제로 다시 시작됩니다.
필요한 경우 자동으로 대상 서버 다시 시작 확인란을 선택하지 않으면, 역할 및 기능 추가 마법사의 결과 창에 BitLocker 기능 설치의 성공 또는 실패가 표시됩니다. 필요한 경우 컴퓨터를 다시 시작하는 등 기능 설치를 완료하는 데 필요한 추가 작업에 대한 알림이 결과 텍스트에 표시됩니다.
PowerShell을 사용하여 BitLocker 추가
각 서버에 대해 다음 명령을 사용합니다.
Install-WindowsFeature -ComputerName "Node1" -Name "BitLocker" -IncludeAllSubFeature -IncludeManagementTools
모든 클러스터 서버에서 동시에 명령을 실행하려면, 다음 스크립트를 사용하고, 환경에 맞게 시작 부분의 변수 목록을 수정합니다.
이 변수들을 사용자의 값으로 채웁니다.
$ServerList = "Node1", "Node2", "Node3", "Node4"
$FeatureList = "BitLocker"
이 부분은 $ServerList의 모든 서버에서 Install-WindowsFeature cmdlet을 실행하며, $FeatureList에 있는 기능 목록을 전달합니다.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist -IncludeAllSubFeature -IncludeManagementTools
}
그런 다음 모든 서버를 다시 시작합니다.
$ServerList = "Node1", "Node2", "Node3", "Node4" Restart-Computer -ComputerName $ServerList -WSManAuthentication Kerberos
여러 역할과 기능을 동시에 추가할 수 있습니다. 예를 들어 BitLocker, 장애 조치 클러스터링 및 파일 서버 역할을 추가하려면, $FeatureList에는 필요한 모든 기능을 쉼표로 구분하여 포함해야 합니다. 예시:
$ServerList = "Node1", "Node2", "Node3", "Node4"
$FeatureList = "BitLocker", “Failover-Clustering”, “FS-FileServer”
암호화된 볼륨 구성
BitLocker 암호화가 적용된 드라이브를 설정하는 것은 드라이브가 장애 조치 클러스터의 일부일 때나 클러스터에 추가하기 전에 외부에서 수행할 수 있습니다. 외부 키 보호기를 자동으로 생성하려면, 드라이브가 BitLocker를 활성화하기 전에 장애 조치 클러스터의 리소스여야 합니다. 드라이브를 장애 조치 클러스터에 추가하기 전에 BitLocker가 활성화되면, 외부 키 보호기를 생성하기 위해 추가적인 수동 단계가 필요합니다.
암호화된 볼륨을 구성하려면 PowerShell 명령을 관리자 권한으로 실행해야 합니다. 드라이브를 암호화하고 장애 조치 클러스터링이 자체 BitLocker 키를 생성하고 사용할 수 있도록 하는 두 가지 옵션이 있습니다.
내부 복구 키
외부 복구 키 파일
복구 키를 사용하여 암호화
복구 키를 사용하여 드라이브를 암호화하면 BitLocker 복구 키가 생성되어 클러스터 데이터베이스에 추가될 수 있습니다. 드라이브가 온라인으로 전환될 때, 복구 키를 찾기 위해 클러스터의 로컬 저장소(hive)를 참조합니다.
BitLocker 암호화를 활성화할 노드로 디스크 리소스를 이동합니다.
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Move-ClusterSharedVolume Resource -Node Node1
디스크 리소스를 유지 관리 모드로 전환합니다.
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Suspend-ClusterResource
다음과 같은 대화 상자가 나타납니다.
Suspend-ClusterResource
Are you sure that you want to turn on maintenance for Cluster Shared Volume ‘Cluster Disk 1’? Turning on maintenance will stop all clustered roles that use this volume and will interrupt client access.
계속하려면 예를 누릅니다.
BitLocker 암호화를 사용하도록 설정하려면 다음을 실행합니다.
Enable-BitLocker -MountPoint "C:\\ClusterStorage\\Volume1" -RecoveryPasswordProtector
명령을 입력하면 경고가 나타나고 숫자 복구 암호가 제공됩니다. 다음 단계에서도 필요하므로 암호를 안전한 위치에 저장합니다. 경고는 다음과 비슷합니다.
WARNING: ACTIONS REQUIRED:
1. Save this numerical recovery password in a secure location away from your computer:
271733-258533-688985-480293-713394-034012-061963-682044
To prevent data loss, save this password immediately. This password helps ensure that you can unlock the encrypted volume.
볼륨에 대한 BitLocker 보호기 정보를 가져오기 위해 다음 명령을 실행할 수 있습니다.
(Get-BitlockerVolume -MountPoint "C:\\ClusterStorage\\Volume1").KeyProtector
키 보호기 ID와 복구 암호 문자열이 모두 표시됩니다.
KeyProtectorId : {26935AC3-8B17-482D-BA3F-D373C7954D29}
AutoUnlockProtector :
KeyProtectorType : RecoveryPassword
KeyFileName :
RecoveryPassword : 271733-258533-688985-480293-713394-034012-061963-682044
KeyCertificateType :
Thumbprint :
키 보호기 ID와 복구 암호가 필요하며, BitLockerProtectorInfo라는 새로운 물리적 디스크 개인 속성에 저장됩니다. 이 새 속성은 리소스가 유지 관리 모드에서 나올 때 사용됩니다. 보호기 형식은 보호기 ID와 비밀번호가 ":"로 구분된 문자열입니다.
Get-ClusterSharedVolume "Cluster Disk 1" | Set-ClusterParameter -Name BitLockerProtectorInfo -Value "{26935AC3-8B17-482D-BA3F-D373C7954D29}:271733-258533-688985-480293-713394-034012-061963-682044" -Create
BitlockerProtectorInfo 키와 값이 설정되어 있는지 확인하려면 다음 명령을 실행합니다.
Get-ClusterSharedVolume "Cluster Disk 1" | Get-ClusterParameter BitLockerProtectorInfo
이제 정보가 제공되었으므로 암호화 프로세스가 완료되면 디스크를 유지 관리 모드에서 제거할 수 있습니다.
Get-ClusterSharedVolume -Name "Cluster Disk 1" | Resume-ClusterResource
리소스가 온라인 상태로 전환되지 않으면, 저장소 문제, 잘못된 복구 암호 또는 기타 문제가 있을 수 있습니다. BitlockerProtectorInfo 키에 적절한 정보가 있는지 확인합니다. 그렇지 않은 경우 이전에 제공된 명령을 다시 실행해야 합니다. 문제가 이 키와 관련이 없다면, 조직 내 적절한 그룹이나 저장소 공급업체와 협력하여 문제를 해결하는 것이 좋습니다.
리소스가 온라인 상태로 전환되면 정보가 정확하다는 의미입니다. 유지 관리 모드에서 벗어나는 과정 중에 BitLockerProtectorInfo 키가 삭제되고 클러스터 데이터베이스의 리소스에 암호화되어 저장됩니다.
외부 복구 키 파일을 사용하여 암호화
복구 키 파일을 사용하여 드라이브를 암호화하면, 모든 노드가 접근할 수 있는 파일 서버와 같은 위치에서 BitLocker 복구 키를 생성하고 액세스할 수 있습니다. 드라이브가 온라인 상태가 되면 소유 노드가 복구 키에 연결됩니다.
BitLocker 암호화를 활성화할 노드로 디스크 리소스를 이동합니다.
Get-ClusterSharedVolume -Name "Cluster Disk 2" | Move-ClusterSharedVolume Resource -Node Node2
디스크 리소스를 유지 관리 모드로 전환합니다.
Get-ClusterSharedVolume -Name "Cluster Disk 2" | Suspend-ClusterResource
대화 상자가 나타납니다.
Suspend-ClusterResource
Are you sure that you want to turn on maintenance for Cluster Shared Volume ‘Cluster Disk 2’? Turning on maintenance will stop all clustered roles that use this volume and will interrupt client access.
계속하려면 예를 누릅니다.
BitLocker 암호화를 사용하도록 설정하고 키 보호기 파일을 로컬로 만들려면 다음 명령을 실행합니다. 먼저 로컬에서 파일을 생성한 후, 모든 노드가 접근할 수 있는 위치로 이동시키는 것이 좋습니다.
Enable-BitLocker -MountPoint "C:\ClusterStorage\Volume2" -RecoveryKeyProtector -RecoveryKeyPath C:\Windows\Cluster
볼륨에 대한 BitLocker 보호기 정보를 가져오기 위해 다음 명령을 실행할 수 있습니다.
(Get-BitlockerVolume -MountPoint "C:\ClusterStorage\Volume2").KeyProtector
그러면 키 보호기 ID와 키 파일 이름이 모두 표시됩니다.
KeyProtectorId : {F03EB4C1-073C-4E41-B43E-B9298B6B27EC}
AutoUnlockProtector :
KeyProtectorType : ExternalKey
KeyFileName : F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
RecoveryPassword :
KeyCertificateType :
Thumbprint :
파일을 생성한 폴더로 이동했을 때, 처음에는 해당 파일이 보이지 않을 수 있습니다. 그 이유는 해당 파일이 숨김 파일로 생성되기 때문입니다. 예시:
C:\Windows\Cluster\>dir f03
Directory of C:\\Windows\\Cluster
File Not Found
C:\Windows\Cluster\>dir /a f03
Directory of C:\Windows\Cluster
<Date> <Time> 148 F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
C:\Windows\Cluster\>attrib f03
A SHR C:\Windows\Cluster\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
이 파일은 로컬 경로에 생성되므로, 모든 노드가 접근할 수 있도록 네트워크 경로로 복사해야 하며, 이를 위해 Copy-Item 명령어를 사용합니다.
Copy-Item -Path C:\Windows\Cluster\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK -Destination \\Server\Share\Dir
드라이브가 네트워크 공유에 있는 파일을 사용해야 하므로, 파일 경로를 지정한 후 유지 관리 모드에서 드라이브를 해제합니다. 드라이브 암호화가 완료되면, 다시 시작하는 명령어는 다음과 같습니다:
Resume-ClusterPhysicalDiskResource -Name "Cluster Disk 2" -RecoveryKeyPath \\Server\Share\Dir\F03EB4C1-073C-4E41-B43E-B9298B6B27EC.BEK
드라이브가 설정된 후에는 *.BEK 파일을 공유에서 삭제해도 되며, 더 이상 필요하지 않습니다.
새로운 PowerShell cmdlet
이 새로운 기능과 함께, 복구 키 또는 복구 키 파일을 사용하여 리소스를 온라인 상태로 전환하거나 수동으로 복구할 수 있는 두 개의 새로운 cmdlet이 추가되었습니다.
Start-ClusterPhysicalDiskResource
예제 1
Start-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryPassword "password-string"
예제 2
Start-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryKeyPath "path-to-external-key-file"
Resume-ClusterPhysicalDiskResource
예제 1
Resume-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryPassword "password-string"
예제 2
Resume-ClusterPhysicalDiskResource -Name "My Disk" -RecoveryKeyPath "path-to-external-key-file"
새 이벤트
Microsoft-Windows-FailoverClustering/Operational 이벤트 채널에 여러 새로운 이벤트가 추가되었습니다.
키 보호기 또는 키 보호기 파일 생성에 성공하면, 표시되는 이벤트는 다음과 유사합니다.
Source: Microsoft-Windows-FailoverClustering Event ID: 1810 Task Category: Physical Disk Resource Level: Information Description: Cluster Physical Disk Resource added a protector to a BitLocker encrypted volume.
키 보호기 또는 키 보호기 파일 생성에 실패하면, 표시되는 이벤트는 다음과 유사합니다.
Source: Microsoft-Windows-FailoverClustering Event ID: 1811 Task Category: Physical Disk Resource Level: Information Description: Cluster Physical Disk Resource failed to create an external key protector for the volume
앞서 언급했듯이, 클러스터 데이터베이스는 모든 클러스터 노드의 시스템 볼륨에 의해 지원되는 복제 저장소이기 때문에, 모든 클러스터 노드의 시스템 볼륨도 BitLocker로 보호하는 것이 좋습니다. 장애 조치 클러스터링은 시스템 볼륨 암호화를 강제하지 않으며, 일부 솔루션은 시스템 볼륨을 암호화할 필요가 없거나 원하지 않을 수 있습니다. 시스템 드라이브가 BitLocker로 보호되지 않으면, 장애 조치 클러스터가 잠금 해제 또는 온라인 과정에서 이를 이벤트로 표시합니다. 표시된 이벤트는 다음과 유사합니다.
Source: Microsoft-Windows-FailoverClustering Event ID: 1824 Task Category: Physical Disk Resource Level: Warning Description: Cluster Physical Disk Resource contains a BitLocker protected volume, but the system volume is not BitLocker protected. For data protection, it is recommended that the system volume be BitLocker protected as well. ResourceName: Cluster Disk 1
장애 조치 클러스터 유효성 검사는 Active Directory가 없는 환경이나 작업 그룹 설정에서 시스템 볼륨이 암호화되지 않은 경우 경고 메시지를 기록합니다.