Share via


볼륨 마운트

볼륨을 지정하면 디바이스가 instance 연결되지만 디바이스를 탑재하고 포맷하지는 않습니다. 노드가 시작될 때 볼륨을 탑재하고 포맷하려는 경우 선택적 특성을 Mount 해당 볼륨과 함께 사용하려는 mountpoint 구성의 이름으로 설정합니다.

[[[volume reference-data]]]
Size = 100
Mount = data              # The name of the mountpoint to use with this volume

그러면 라는 data 탑재 지점이 노드의 구성 섹션에 정의됩니다.

[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4

위의 구성은 를 포함하는 Mount = data모든 볼륨을 사용하여 명명된 cyclecloud.mountpointdata 을 구성하도록 지정합니다. 이 볼륨은 파일 시스템 형식 ext4 이 지정되고 에 /mount표시됩니다.

디바이스

특성을 사용하여 볼륨을 mountpoint 정의하면 디바이스 이름이 지정된 탑재 지점에 자동으로 할당되고 사용됩니다. 그러나 사용자 고유의 디바이스 이름으로 탑재 지점을 사용자 지정할 수 있습니다. 예를 들면 다음과 같습니다.

[[node scheduler]]
  [[[configuration cyclecloud.mounts.data]]]
  mountpoint = /data
  Azure.LUN=0

Azure에서 디바이스는 LUN(논리 단위 번호)을 사용하여 할당됩니다.

대부분의 경우 Azure CycleCloud는 자동으로 디바이스를 할당합니다. 디바이스를 수동으로 지정하는 것은 고급 사용이며 노드에 사용 중인 이미지에 첨부 파일이 이미지에 구워졌기 때문에 자동으로 연결되는 볼륨이 있는 경우에 유용합니다. 디바이스 순서에 특별한 의미가 있는 경우에도 직접 디바이스를 지정하는 것이 유용할 수 있습니다.

참고

예약된 이름은 boot 기본 제공 부팅 볼륨을 수정하는 데 사용됩니다.

고급 사용 방법

이전 예제는 매우 간단했습니다. 미리 포맷된 단일 스냅샷 노드에 탑재합니다. 그러나 여러 디바이스를 함께 RAID화하고, 새 파일 시스템을 암호화하고, 서식을 지정하는 등 고급 탑재가 가능합니다. 예를 들어 다음에서는 여러 볼륨을 함께 RAID하고 노드에 단일 디바이스로 탑재하기 전에 암호화하는 방법을 설명합니다.

[[node scheduler]]
....
  [[[volume vol1]]]
  VolumeId = vol-1234abcd
  Mount = giant

  [[[volume vol2]]]
  VolumeId = vol-5678abcd
  Mount = giant

  [[[volume vol3]]]
  VolumeId = vol-abcd1234
  Mount = giant

  [[[configuration cyclecloud.mounts.giant]]]
  mountpoint = /mnt/giant
  fs_type = xfs
  raid_level = 0
  encryption.bits = 256
  encryption.key = "0123456789abcdef9876543210"

위의 예제에서는 라는 scheduler노드에 연결해야 하는 세 개의 볼륨이 있으며 해당 탑재 지점의 이름이 giant임을 보여 줍니다. 탑재 지점의 구성에 따르면 이러한 세 볼륨은 RAID0용을 사용하여 raid_level = 0 함께 RAID화되고 파일 시스템을 사용하여 xfs 형식이 지정되어야 하며 결과 디바이스는 에 /mnt/giant탑재되어야 합니다. 또한 디바이스에는 템플릿에 정의된 암호화 키와 함께 256비트 AES를 사용하는 블록 수준 암호화가 있어야 합니다.

Disk Encryption

CycleCloud는 Azure Disk Encryption Sets를 사용하여 OS 및 데이터 디스크 볼륨에 대한 SSE(서버 쪽 암호화)를 지원합니다. Azure는 기본적으로 PMK( 플랫폼 관리형 키 )를 사용합니다. 그러나 CMK(고객 관리형 키)를 사용하려면 먼저 Azure Disk Encryption Set 및 키를 사용하여 Key Vault 설정해야 합니다. 여기의 문서화에 따라 디스크 암호화 집합을 설정합니다.

Resource ID 만들 때 디스크 암호화 집합의 를 기록합니다. 디스크 암호화 집합 블레이드의 속성 아래 Azure Portal에서 찾을 수 있습니다.

CYCLECloud 노드의 볼륨에 CMK를 사용하여 SSE를 적용하려면 정의에 다음을 추가합니다 [[[volume]]] .

DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME

예를 들면 다음과 같습니다.

[[node scheduler]]
....
  [[[volume encryptedVolume]]]
  VolumeId = vol-1234abcd
  Mount = encrypted

  # Insert your RESOURCE ID here:
  DiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet

  [[[configuration cyclecloud.mounts.encrypted]]]
  mountpoint = /mnt/encrypted
  fs_type = ext4
  raid_level = 0

참고

위의 간소화된 구문은 CycleCloud 8.5에서 도입되었습니다. 이전 버전의 경우 다음을 대신 사용해야 Azure.Encryption.DiskEncryptionSetId 합니다.

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. 그러나 를 설정할 Azure.Encryption.Type필요는 없습니다.

CycleCloud 8.5는 기밀 디스크 암호화도 지원합니다. 이 체계는 디스크의 모든 중요한 파티션을 보호하고 보호된 디스크 콘텐츠를 VM에서만 액세스할 수 있도록 합니다. 기밀 디스크 암호화는 디스크당이며 보안 암호화 유형을 로 설정해야 합니다 DiskWithVMGuestState.

예를 들어 OS 디스크에서 기밀 암호화를 사용하려면 다음을 수행합니다.

[[node scheduler]]
  [[[volume boot]]]

  ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
  SecurityEncryptionType = DiskWithVMGuestState

자세한 내용은 볼륨 구성 참조 를 참조하세요.

탑재 구성 옵션

옵션 정의
mountpoint 추가 구성이 적용된 후 디바이스가 탑재되는 위치입니다. 탑재 지점을 지정하지 않으면 탑재 이름이 탑재 지점의 일부로 사용됩니다. 예를 들어 탑재 이름이 'data'인 경우 탑재 지점은 기본적으로 '/media/data'로 설정됩니다.
옵션 디바이스를 탑재할 때 사용할 기본이 아닌 옵션입니다.
fs_type 포맷 및/또는 탑재 시 사용할 파일 시스템입니다. 사용 가능한 옵션은 ext3, ext4, xfs입니다.
크기 디바이스의 서식을 지정할 때 만들 파일 시스템의 크기입니다. 이 매개 변수를 생략하면 디바이스의 모든 공간이 사용됩니다. 크기는 기가바이트(예: 20GB의 경우 200G)의 경우 M(예: 150MB의 경우 150M) 또는 백분율(예: 사용 가능한 모든 공간을 사용하기 위해 100%)을 사용하여 지정할 수 있습니다.
disabled true이면 탑재 지점이 만들어지지 않습니다. 테스트를 위해 탑재를 빠르게 토글하고 자동 임시 탑재를 사용하지 않도록 설정하는 데 유용합니다. 기본값: false입니다.
raid_level 여러 디바이스/볼륨을 사용할 때 사용할 RAID 구성의 유형입니다. 기본값은 RAID0을 의미하는 값 0이지만 1 또는 10과 같은 다른 공격대 수준을 사용할 수 있습니다.
raid_device_symlink Raid 디바이스를 만들 때 이 특성을 지정하면 raid 디바이스에 대한 기호 링크가 만들어집니다. 기본적으로 이 특성은 설정되지 않으므로 symlink가 만들어지지 않습니다. 기본 Raid 디바이스에 액세스해야 하는 경우 이를 설정해야 합니다.
디바이스 탑재 지점을 구성해야 하는 디바이스 목록입니다. 일반적으로 이 매개 변수를 지정할 필요는 없지만(CycleCloud는 [[볼륨]] 섹션을 기반으로 이 매개 변수를 설정하므로) 원하는 경우 수동으로 디바이스를 지정할 수 있습니다.
vg_name 디바이스는 LVM(논리 볼륨 관리자)을 사용하여 Linux에서 구성됩니다. 볼륨 그룹 이름은 자동으로 할당되지만 특정 이름이 사용되는 경우 이 특성을 설정할 수 있습니다. 기본값은 로 cyclecloud-vgX설정됩니다. 여기서 X는 자동으로 할당된 번호입니다.
lv_name 디바이스는 LVM(논리 볼륨 관리자)을 사용하여 Linux에서 구성됩니다. 이 값은 자동으로 할당되며 사양이 필요하지 않지만 사용자 지정 논리 볼륨 이름을 사용하려는 경우 이 특성을 사용하여 지정할 수 있습니다. 기본값은 lv0입니다.
순서 순서를 지정하여 탑재점이 탑재되는 순서를 제어할 수 있습니다. 모든 탑재 지점의 기본 순서 값은 0인 '임시'를 제외하고 1000입니다(임시는 항상 기본적으로 먼저 탑재됨). 필요에 따라 사례별로 이 동작을 재정의할 수 있습니다.
encryption.bits 파일 시스템을 암호화할 때 사용할 비트 수입니다. 표준 값은 또는 256 비트 AES 암호화입니다128. 암호화가 필요한 경우 이 값이 필요합니다.
encryption.key 파일 시스템을 암호화할 때 사용할 암호화 키입니다. 생략하면 임의의 2048비트 키가 생성됩니다. 자동으로 생성된 키는 다시 부팅 사이에 유지되지 않는 디스크(예: 임시 디바이스 암호화)를 암호화하는 경우에 유용합니다.
encryption.name 암호화 키를 저장할 때 사용되는 암호화된 파일 시스템의 이름입니다. 기본값은 cyclecloud_cryptX입니다. 여기서 X는 자동으로 생성된 숫자입니다.
encryption.key_path 키가 디스크에 기록될 파일의 위치입니다. 기본값은 /root/cyclecloud_cryptX.key입니다. 여기서 X는 자동으로 생성된 숫자입니다.

탑재 구성 기본값

다음 옵션을 사용하여 탑재 지점에 대한 시스템 기본값을 설정합니다. 이 기본값은 달리 지정하지 않는 한 사용됩니다.

옵션 정의
cyclecloud.mount_defaults.fs_type 그렇지 않으면 탑재에 사용할 파일 시스템 형식입니다. 기본값: ext3/ext4(플랫폼에 따라 다름).
cyclecloud.mount_defaults.size 달리 지정하지 않은 경우 사용할 기본 파일 시스템 크기입니다. 기본값: 50GB.
cyclecloud.mount_defaults.raid_level 여러 디바이스가 탑재 지점에 할당된 경우 사용할 기본 raid 수준입니다. 기본값: 0(RAID0).
cyclecloud.mount_defaults.encryption.bits 달리 지정하지 않는 한 기본 암호화 수준입니다. 기본값: 정의되지 않았습니다.