Freigeben über


Bereitstellen von Volumes

Wenn Sie ein Volume angeben, werden die Geräte an Ihre instance angefügt, das Gerät wird jedoch nicht eingebunden und formatiert. Wenn Sie die Volumes beim Starten des Knotens einbinden und formatieren möchten, 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 Bereitstellungspunkt mit dem Namen data wird dann im Konfigurationsabschnitt auf dem Knoten definiert:

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

Die obige Konfiguration gibt an, dass Sie einen cyclecloud.mountpoint namens data konfigurieren, indem Sie alle Volumes verwenden, die enthalten Mount = data. Dieses Volume wäre mit dem ext4 Dateisystem formatiert und würde unter /mountangezeigt.

Geräte

Durch Definieren von Volumes mit einem mountpoint Attribut werden die Gerätenamen automatisch zugewiesen und für einen bestimmten Bereitstellungspunkt verwendet. Sie können jedoch einen Bereitstellungspunkt mit Ihren eigenen Gerätenamen anpassen. Beispiel:

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

In Azure werden Geräte mithilfe von LUN (Logical Unit Numbers) zugewiesen.

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

Hinweis

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

Erweiterte Nutzung

Das vorherige Beispiel war ziemlich einfach: Das Einbinden einer einzelnen, vorformatierten Momentaufnahme an einen Knoten. Es kann jedoch eine erweiterte Einbindung erfolgen, einschließlich raiDing mehrerer Geräte zusammen, Verschlüsseln und Formatieren neuer Dateisysteme. Im folgenden Beispiel wird beschrieben, wie Mehrere Volumes zusammen raiden und verschlüsseln, 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"

Das obige Beispiel zeigt, dass es drei Volumes gibt, die an den Knoten mit dem Namen schedulerangefügt werden sollten, und dass ihr Bereitstellungspunkt den Namen hat giant. Die Konfiguration für den Bereitstellungspunkt besagt, dass diese drei Volumes mithilfe von raid_level = 0 RAID0 zusammen RAIDed werden sollten, mit dem xfs Dateisystem formatiert und das resultierende Gerät unter /mnt/gianteingebunden werden soll. Das Gerät sollte auch über eine Verschlüsselung auf Blockebene mit 256-Bit-AES mit einem Verschlüsselungsschlüssel verfügen, der in der Vorlage definiert ist.

Disk Encryption

CycleCloud unterstützt die 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 kundenseitig verwaltete Schlüssel (Customer Managed Keys, CMK) verwenden zu können, 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 des Datenträgerverschlüsselungssatzes, wenn Sie ihn erstellen. Sie finden dies im Azure-Portal unter Eigenschaften auf dem Blatt Datenträgerverschlüsselungsgruppen .

Um SSE mit 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 obige 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 den virtuellen Computer zugänglich. Die Verschlüsselung vertraulicher Datenträger erfolgt pro Datenträger und erfordert, dass der Sicherheitsverschlüsselungstyp auf DiskWithVMGuestStatefestgelegt ist.

Um beispielsweise die 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 Referenz zur Volumekonfiguration .

Konfigurationsoptionen für das Einbinden

Option Definition
Mountpoint Die Stelle, an der die Geräte eingebunden werden, nachdem eine zusätzliche Konfiguration angewendet wurde. Wenn kein Bereitstellungspunkt angegeben wird, wird der Name der Bereitstellung als Teil des Bereitstellungspunkts verwendet. Wenn Ihre Einbindung beispielsweise den Namen "data" hat, wird der Bereitstellungspunkt 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 Einbinden verwendet werden soll. Verfügbare Optionen sind: ext3, ext4, xfs.
size 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. Die Größe kann mithilfe von M für Megabytes (z. B. 150M für 150 MB), G für Gigabyte (z. B. 200G für 20 GB) oder prozentual (z. B. 100 % für die Nutzung des gesamten verfügbaren Speicherplatzes) angegeben werden.
deaktiviert Wenn true, wird der Bereitstellungspunkt nicht erstellt. Nützlich für das schnelle Umschalten von Mounts zum Testen und zum Deaktivieren der automatischen kurzlebigen Einbindung. Standardwert: false.
raid_level Der Typ der RAID-Konfiguration, die verwendet werden soll, wenn mehrere Geräte/Volumes verwendet werden. Standardmäßig ist der Wert 0, d. h. RAID0, aber andere Raidebenen können verwendet werden, z. B. 1 oder 10.
raid_device_symlink Wenn ein RAID-Gerät erstellt wird, wird durch Die Angabe dieses Attributs eine symbolische Verknüpfung mit dem RAID-Gerät erstellt. Standardmäßig ist dieses Attribut nicht festgelegt, und daher wird kein symlink erstellt. Dies sollte in Fällen festgelegt werden, in denen Sie Zugriff auf das zugrunde liegende Raidgerät benötigen.
devices Dies ist eine Liste der Geräte, die den Bereitstellungspunkt bilden sollen. Im Allgemeinen muss dieser Parameter nicht angegeben werden (da CycleCloud dies basierend auf [[Volume]]]-Abschnitten für Sie 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 Name der Volumegruppe wird automatisch zugewiesen, aber in Fällen, in denen ein bestimmter Name verwendet wird, kann dieses Attribut festgelegt werden. Der Standardwert ist auf cyclecloud-vgXfestgelegt, wobei X eine automatisch zugewiesene Zahl 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. Wenn Sie jedoch einen benutzerdefinierten Namen eines logischen Volumes verwenden möchten, kann er mithilfe dieses Attributs angegeben werden. Wird standardmäßig auf lv0 festgelegt.
order Durch Angeben einer Reihenfolge können Sie die Reihenfolge steuern, in der Mountpoints eingebunden werden. Der Standardreihenfolgewert für alle Bereitstellungspunkte ist 1000, mit Ausnahme von "ephemeral", das 0 ist (ephemeral wird standardmäßig immer zuerst eingebunden). Sie können dieses Verhalten bei Bedarf von Fall zu Fall überschreiben.
encryption.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 ist.
encryption.key Der Verschlüsselungsschlüssel, der beim Verschlüsseln des Dateisystems verwendet werden soll. Wird nicht angegeben, wird ein zufälliger 2048-Bit-Schlüssel generiert. Der automatisch generierte Schlüssel ist nützlich, wenn Sie Datenträger verschlüsseln, die zwischen Neustarts nicht beibehalten werden (z. B. beim Verschlüsseln kurzlebiger Geräte).
encryption.name Der Name des verschlüsselten Dateisystems, der beim Speichern von Verschlüsselungsschlüsseln verwendet wird. Ist standardmäßig auf cyclecloud_cryptXfestgelegt, wobei X eine automatisch generierte Zahl ist.
encryption.key_path Der Speicherort der Datei, in die der Schlüssel auf den Datenträger geschrieben wird. Standardwert ist /root/cyclecloud_cryptX.key, wobei X eine automatisch generierte Zahl ist.

Standardeinstellungen für die Einbindungskonfiguration

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

Optionen Definition
cyclecloud.mount_defaults.fs_type Der Dateisystemtyp, der für Bereitstellungen verwendet werden soll, sofern nicht anders angegeben. Standard: ext3/ext4 (abhängig von der Plattform).
cyclecloud.mount_defaults.size Die zu verwendende Standarddateigröße, sofern nicht anders angegeben. Standard: 50 GB.
cyclecloud.mount_defaults.raid_level Die Standardmäßige Raidebene, die verwendet werden soll, wenn dem Bereitstellungspunkt mehrere Geräte zugewiesen sind. Standardwert: 0 (RAID0).
cyclecloud.mount_defaults.encryption.bits Die Standardverschlüsselungsstufe, sofern nicht anders angegeben. Standardwert: undefiniert.