Freigeben über


Bereitstellen von Volumes

Wenn Sie ein Volume angeben, werden die Geräte an Ihre Instanz angefügt, sie werden jedoch nicht eingebunden und formatiert. Wenn die Volumes beim Starten des Knotens eingebunden und formatiert werden sollen, legen Sie das optionale Attribut Mount auf den Namen der Bereitstellungspunktkonfiguration 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

Der Mountpoint mit dem Namen data wird dann im Abschnitt für die Konfiguration des Knotens definiert.

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

Die oben genannte Konfiguration legt fest, dass Sie einen cyclecloud.mountpoint namens data konfigurieren, indem Sie alle Volumes verwenden, die Mount = data enthalten. Dieses Volume würde mit dem ext4 Dateisystem formatiert werden und bei /mount erscheinen.

Geräte

Durch das Definieren von Volumes mit einem mountpoint Attribut werden die Gerätenamen automatisch zugewiesen und für einen bestimmten Mountpoint verwendet. 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 werden Geräte mit logischen Einheitennummern (LUN) zugewiesen.

In den meisten Fällen weist Azure CycleCloud Automatisch Geräte für Sie zu. Die manuelle Angabe von Geräten gilt als erweiterte Verwendung und ist nützlich, wenn das Image, das Sie für Ihren Knoten verwenden, Volumes enthält, die automatisch angefügt werden, weil ihre Anfügung in das Image integriert wurde. Die Angabe der Geräte per Hand kann auch nützlich sein, wenn die Anordnung von Geräten eine besondere Bedeutung hat.

Hinweis

Der reservierte Name boot wird verwendet, um das integrierte Startvolume zu ändern.

Erweiterte Verwendung

Das vorherige Beispiel war ziemlich einfach: Einbinden einer einzelnen, vorformatierten Momentaufnahme in einen Knoten. Fortgeschrittene Verfahren zur Montage können jedoch erfolgen, darunter das Zusammenschalten mehrerer Geräte mit RAID, das Verschlüsseln und das Formatieren neuer Dateisysteme. Als Beispiel wird im Folgenden beschrieben, wie mehrere Volumes in einem RAID-Verbund zusammengefasst und verschlüsselt werden, bevor sie als einzelnes Gerät in einen 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"

Im obigen Beispiel sollen drei Volumes mit dem Bereitstellungspunkt scheduler an den Knoten namens giant angefügt werden. Die Konfiguration für den Mountpoint besagt, dass diese drei Volumes mit raid_level = 0 zu einem RAID0-Verbund zusammengefasst, mit dem xfs-Dateisystem formatiert und das resultierende Gerät bei /mnt/giant eingehängt werden sollten. Das Gerät sollte auch die Verschlüsselung auf Blockebene mit 256-Bit-AES mit einem Verschlüsselungsschlüssel aufweisen, wie in der Vorlage definiert.

Festplatten-Verschlü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 jedoch vom Kunden verwaltete Schlüssel (Customer Managed Keys , CMK) zu verwenden, müssen Sie zuerst einen Azure Disk Encryption Set und einen Key Vault mit Ihrem Schlüssel einrichten. Folgen Sie der Dokumentation hier, um Ihren Datenträgerverschlüsselungssatz einzurichten.

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

Um die Speicherdienstverschlüsselung (Storage Service Encryption, SSE) mit kundenseitig verwaltetem Schlüssel (Customer-Managed Key, CMK) auf die Volumes Ihres CycleCloud-Knotens anzuwenden, fügen Sie Ihrer [[[volume]]]-Definition Folgendes 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

Die oben beschriebene vereinfachte Syntax wurde in CycleCloud 8.5 eingeführt. Für frühere Versionen müssen Sie stattdessen Folgendes verwenden Azure.Encryption.DiskEncryptionSetId :

Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME. Sie müssen jedoch 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 vertraulicher Datenträger erfolgt pro Datenträger und erfordert, dass der Sicherheitsverschlüsselungstyp auf DiskWithVMGuestState festgelegt wird.

Zum Beispiel können Sie Confidential Encryption auf dem OS-Datenträger verwenden:

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

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

Ausführlichere Informationen finden Sie in der Referenz zur Volumekonfiguration.

Montagekonfigurationsoptionen

Auswahlmöglichkeit Definition
Einhängepunkt Der Ort, an dem die Geräte bereitgestellt werden, nachdem eine zusätzliche Konfiguration angewendet wurde. Wenn kein Bereitstellungspunkt angegeben ist, wird der Name der Bereitstellung als Teil des Bereitstellungspunkts verwendet. Wenn ihr Mount z. B. "Data" heißt, würde der Mountpoint standardmäßig auf "/media/data" festgelegt.
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, wird der gesamte Speicherplatz auf dem Gerät verwendet. Größe kann mit M für Megabyte (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% für die Verwendung des gesamten verfügbaren Speicherplatzes) angegeben werden.
deaktiviert Wenn diese Option auf „true“ festgelegt ist, wird der Bereitstellungspunkt nicht erstellt. Dies ist hilfreich für das schnelle Umschalten zwischen Bereitstellungen zu Testzwecken und zum Deaktivieren der automatischen Einbindung kurzlebiger Datenträger. Standardwert: false.
raid_level Der Typ der RAID-Konfiguration, die verwendet werden soll, wenn mehrere Geräte/Volumes verwendet werden. Der Standardwert ist 0, das bedeutet RAID-0. Es können aber auch andere RAID-Level verwendet werden, z. B. 1 oder 10.
raid_device_symlink Wenn ein Raid-Gerät erstellt wird, wird durch Angeben dieses Attributs eine symbolische Verknüpfung mit dem Raid-Gerät erstellt. Dieses Attribut ist standardmäßig nicht festgelegt und daher wird kein Symlink erstellt. Dies sollte in Fällen festgelegt werden, in denen Sie Zugriff auf das zugrunde liegende Raid-Gerät benötigen.
Geräte Dies ist eine Liste der Geräte, die den Einbindungspunkt bilden sollten. Im Allgemeinen sollte dieser Parameter nicht angegeben werden (da CycleCloud dies für Sie basierend auf [[[Volume]]] Abschnitten festlegt), aber Sie können die Geräte bei Bedarf manuell angeben.
vg_name Geräte werden unter Linux mit dem Logical Volume Manager (LVM) konfiguriert. Der Volumegruppenname wird automatisch zugewiesen, aber in Fällen, in denen ein bestimmter Name verwendet wird, kann dieses Attribut festgelegt werden. 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. Dieser Wert wird automatisch zugewiesen und benötigt keine Spezifikation, aber wenn Sie einen benutzerdefinierten logischen Volumenamen verwenden möchten, kann er mithilfe dieses Attributs angegeben werden. Wird standardmäßig auf lv0 festgelegt.
Auftrag Durch Angeben einer Reihenfolge können Sie die Reihenfolge steuern, in der Mountpoints bereitgestellt werden. Der Standardwert von „order“ für alle Bereitstellungspunkte ist 1000, nur bei „ephemeral“ lautet der Wert 0 („ephemeral“ wird standardmäßig immer zuerst eingebunden). Sie können dieses Verhalten bei Bedarf fallweise außer Kraft setzen.
verantwortung.bits Die Anzahl der Bits, die beim Verschlüsseln des Dateisystems verwendet werden sollen. Standardwerte sind 128 oder 256 Bit-AES-Verschlüsselung. Dieser Wert ist erforderlich, wenn die Verschlüsselung gewünscht wird.
Verschlüsselungsschlüssel Der Verschlüsselungsschlüssel, der beim Verschlüsseln des Dateisystems verwendet werden soll. Wenn dieser Wert nicht angegeben wird, wird ein zufälliger 2048-Bitschlüssel generiert. Der automatisch generierte Schlüssel ist nützlich, wenn Sie Datenträger verschlüsseln, die nicht zwischen Neustarts bestehen (z. B. 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_Pfad Der Speicherort der Datei, in die der Schlüssel auf dem Datenträger geschrieben wird. Der Standardwert ist /root/cyclecloud_cryptX.key, wobei X eine automatisch generierte Zahl ist.

Konfigurationsstandardwerte für die Bereitstellung

Verwenden Sie diese Optionen, um Systemstandardwerte für Mountpoints festzulegen, die verwendet werden, sofern nicht anders angegeben:

Optionen Definition
cyclecloud.mount_defaults.fs_type Der Dateisystemtyp, der für Einbindungen verwendet werden soll, falls nicht anders angegeben. Standard: ext3/ext4 (abhängig von der Plattform).
cyclecloud.mount_defaults.Größe Die zu verwendende Standarddateigröße, falls nicht anders angegeben. Standard: 50 GB.
cyclecloud.mount_defaults.raid_level Die standardmäßige Raid-Ebene, die verwendet werden soll, wenn dem Mountpoint mehrere Geräte zugewiesen sind. Standard: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Die Standardverschlüsselungsstufe, sofern nicht anders angegeben. Standard: nicht definiert.