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 /mount
angezeigt.
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 scheduler
angefü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/giant
eingebunden 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 DiskWithVMGuestState
festgelegt 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-vgX festgelegt, 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_cryptX festgelegt, 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. |