Freigeben über


Einbinden von Volumes

Wenn Sie ein Volume angeben, fügen Sie die Geräte an Ihre Instanz an, aber das Gerät wird nicht eingebunden oder formatiert. Um Volumes beim Start des Knotens einzubinden und zu formatieren, legen Sie das optionale Attribut Mount auf den Namen der Einbindungspunkt-Konfiguration fest, die Sie mit diesem Volume verwenden möchten:

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

Definieren Sie den Einbindungspunkt mit Namen data im Konfigurationsabschnitt auf dem Knoten:

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

Diese Konfiguration richtet einen cyclecloud.mountpoint mit Namen data ein, der alle Volumes mit Mount = data verwendet. Sie formatieren dieses Volume mit dem ext4 Dateisystem, und es erscheint unter /mount.

Geräte

Wenn Sie Volumes mit einem mountpoint Attribut definieren, weist das System automatisch Gerätenamen für jeden Mountpoint zu. Sie können jedoch einen Mountpoint mit Ihren eigenen Gerätenamen anpassen. Beispiel:

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

In Azure weisen Sie Geräten mithilfe von Logischen Einheitennummern (LOGICAL Unit Numbers, LUN) zu.

In den meisten Fällen weist Azure CycleCloud Automatisch Geräte für Sie zu. Die manuelle Angabe von Geräten ist eine fortgeschrittene Nutzung. Es ist hilfreich, wenn das Image, das Sie für Ihren Knoten verwenden, Volumes enthält, die das Image automatisch anfügt. Die manuelle Angabe von Geräten ist auch hilfreich, wenn die Reihenfolge der Geräte wichtig ist.

Hinweis

Verwenden Sie den reservierten Namen boot , um das integrierte Startvolume zu ändern.

Erweiterte Verwendung

Das vorherige Beispiel ist relativ einfach: einbinden einer einzelnen, vordefinierten Momentaufnahme an einen Knoten. Sie können jedoch erweiterte Montagetechniken verwenden, einschließlich RAIDing mehrerer Geräte zusammen, Verschlüsseln von Geräten und Formatieren neuer Dateisysteme. Beispielsweise bindet die folgenden Konfiguration mehreren Volumes als RAID zusammen und verschlüsselt sie, bevor sie als einzelnes Gerät auf einem Knoten eingebunden werden:

[[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"

Dieses Beispiel zeigt, dass Sie drei Volumes an den Knoten mit dem Namen scheduler anfügen und dass deren Mountpoint giant genannt ist. Die Konfiguration für den Einbindungspunkt sagt, dass Sie diese drei Volumes als RAID zusammen binden mittels raid_level = 0 für RAID0, sie mithilfe des Dateisystems xfs formatieren und das resultierende Gerät bei /mnt/giant einbinden. Sie verwenden auch die Verschlüsselung auf Blockebene mit 256-Bit-AES und definieren den Verschlüsselungsschlüssel in der Vorlage.

Datenträgerverschlüsselung

CycleCloud unterstützt serverseitige Verschlüsselung (SSE) für Betriebssystem- und Datenträgervolumes mit Azure Disk Encryption Sets. Azure verwendet standardmäßig verwaltete Schlüssel (Platform Managed Keys , PMK). Um vom Kunden verwaltete Schlüssel (Customer Managed Keys , CMK) zu verwenden, richten Sie einen Azure Disk Encryption Set und einen Key Vault mit Ihrem Schlüssel ein. Informationen zum Einrichten des Datenträgerverschlüsselungssatzes finden Sie in der Dokumentation.

Notieren Sie den Resource ID Datenträgerverschlüsselungssatz, wenn Sie ihn erstellen. Sie finden diese ID im Azure-Portal unter "Eigenschaften " im Blatt "Datenträgerverschlüsselungssätze ".

Um SSE mit CMK auf die Volumes Ihres CycleCloud-Knotens anzuwenden, fügen Sie Ihrer Definition [[[volume]]] den folgenden Code hinzu:

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

Beispiel:

[[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

Hinweis

CycleCloud 8.5 führte die vereinfachte Syntax ein. Verwenden Sie Azure.Encryption.DiskEncryptionSetId für frühere Versionen stattdessen Folgendes:

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. Sie müssen nicht festlegen Azure.Encryption.Type.

CycleCloud 8.5 unterstützt auch die Verschlüsselung vertraulicher Datenträger. Dieses Schema schützt alle kritischen Partitionen des Datenträgers und macht den geschützten Datenträgerinhalt nur für die VM zugänglich. Die Verschlüsselung eines vertraulichen Datenträgers erfolgt für jeden Datenträger einzeln und erfordert, dass der Sicherheitsverschlüsselungstyp auf DiskWithVMGuestState eingestellt wird.

Um beispielsweise vertrauliche Verschlüsselung auf dem Betriebssystemdatenträger zu verwenden:

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

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

Weitere Informationen finden Sie in der Volumekonfigurationsreferenz.

Montagekonfigurationsoptionen

Option Definition
mountpoint Der Ort, an dem Sie die Geräte nach dem Anwenden einer zusätzlichen Konfiguration bereitstellen. Wenn Sie keinen Einbindungspunkt angeben, wird der Einbindungsname Teil des Einbindungspunkts. Wenn Sie z. B. Ihren Mount data benennen, wird /media/data standardmäßig als Einbindungspunkt verwendet.
Optionen Alle nicht standardmäßigen Optionen, die beim Einbinden des Geräts verwendet werden sollen.
fs_type Das Dateisystem, das beim Formatieren und/oder Einhängen verwendet werden soll. Verfügbare Optionen sind: ext3, ext4, xfs.
Größe Die Größe des Dateisystems, das beim Formatieren der Geräte erstellt werden soll. Wenn Sie diesen Parameter weglassen, verwendet der Befehl den gesamten Speicherplatz auf dem Gerät. Geben Sie die Größe mit M für Megabyte an (z. B. 150 M für 150 MB), G für Gigabyte (z. B. 200G für 20 GB) oder Prozentsätze (z. B. 100%, um den gesamten verfügbaren Speicherplatz zu verwenden).
deaktiviert Wenn WAHR, wird der Einbindungspunkt nicht erstellt. Diese Einstellung eignet sich für schnelles Umschalten von Einbindungen zum Testen und zum Deaktivieren der automatischen kurzlebigen Einbindung. Standardwert: false.
raid_level Der Typ der RAID-Konfiguration, die verwendet werden soll, wenn Sie mehrere Geräte oder Volumes verwenden. Der Standardwert ist 0, was RAID0 bedeutet. Sie können andere RAID-Level wie 1 oder 10 verwenden.
raid_device_symlink Wenn Sie ein RAID-Gerät erstellen, geben Sie dieses Attribut an, um eine symbolische Verknüpfung mit dem RAID-Gerät zu erstellen. Dieses Attribut ist standardmäßig nicht festgelegt, und es wird kein Symlink erstellt. Legen Sie dieses Attribut fest, wenn Sie Zugriff auf das zugrunde liegende RAID-Gerät benötigen.
devices Liste der Geräte, die den Einhängepunkt bilden. Im Allgemeinen müssen Sie diesen Parameter nicht angeben, da CycleCloud ihn basierend auf [[volume]]] Abschnitten für Sie festlegt. Sie können die Geräte jedoch bei Bedarf manuell angeben.
vg_name Unter Linux konfigurieren Sie Geräte mit dem Logical Volume Manager (LVM). Der Volumegruppenname wird automatisch zugewiesen, Sie können dieses Attribut jedoch festlegen, wenn Sie einen bestimmten Namen verwenden möchten. Der Standardwert ist cyclecloud-vgX, wobei X eine automatisch zugewiesene Nummer ist.
lv_name Geräte werden unter Linux mit dem Logical Volume Manager (LVM) konfiguriert. Das System weist diesen Wert automatisch zu, sodass Sie ihn nicht angeben müssen. Wenn Sie einen benutzerdefinierten logischen Volumenamen verwenden möchten, geben Sie ihn mit diesem Attribut an. Wird standardmäßig auf lv0 festgelegt.
order Durch Angeben einer Reihenfolge können Sie die Reihenfolge steuern, in der Mountpoints bereitgestellt werden. Der Standardwert für „order“ für alle Einbindungspunkte ist 1000, nur bei ephemeral lautet der Wert 0 (ephemeral wird standardmäßig immer zuerst eingebunden). Sie können dieses Verhalten bei Bedarf außer Kraft setzen.
encryption.bits Die Anzahl der Bits, die beim Verschlüsseln des Dateisystems verwendet werden sollen. Standardwerte sind 128 oder 256 Bit-AES-Verschlüsselung. Sie müssen diesen Wert angeben, wenn Sie verschlüsselung möchten.
Verschlüsselungsschlüssel Der Verschlüsselungsschlüssel, der beim Verschlüsseln des Dateisystems verwendet werden soll. Wenn Sie diesen Schlüssel weglassen, generiert das System einen zufälligen 2.048-Bit-Schlüssel. Der automatisch generierte Schlüssel ist nützlich, wenn Sie Datenträger verschlüsseln, die nicht zwischen Neustarts bestehen (z. B. beim Verschlüsseln von kurzlebigen Geräten).
encryption.name Der Name des verschlüsselten Dateisystems, das beim Speichern von Verschlüsselungsschlüsseln verwendet wird. Standardmäßig auf cyclecloud_cryptX, wobei X eine automatisch generierte Zahl ist.
encryption.key_path Der Speicherort der Datei, an der der Schlüssel auf dem Datenträger geschrieben wird. Standardmäßig auf /root/cyclecloud_cryptX.key, wobei X eine automatisch generierte Zahl ist.

Standardeinstellungen für die Montagekonfiguration

Verwenden Sie diese Optionen, um Systemstandardwerte für Mountpoints festzulegen. Das System verwendet diese Standardwerte, sofern Sie nichts anderes angeben:

Optionen Definition
cyclecloud.mount_defaults.fs_type Der Dateisystemtyp, der für Einbindungen verwendet werden soll, wenn Sie keinen angeben. Standard: ext3 oder ext4, je nach Plattform.
cyclecloud.mount_defaults.size Die standardmäßige Dateisystemgröße, die verwendet werden soll, wenn Sie keines angeben. Standard: 50 GB.
cyclecloud.mount_defaults.raid_level Die standardmäßige Raid-Ebene, die verwendet werden soll, wenn Sie dem Mountpoint mehrere Geräte zuweisen. Standard: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Die Standardverschlüsselungsstufe, wenn Sie keines angeben. Standard: nicht definiert.