Instalowanie woluminów
Określenie woluminu powoduje dołączenie urządzeń do wystąpienia, ale nie powoduje zainstalowania i sformatowania urządzenia. Jeśli wolisz mieć woluminy zainstalowane i sformatowane po uruchomieniu węzła, ustaw opcjonalny atrybut Mount
na nazwę konfiguracji punktu instalacji, której chcesz użyć z tym woluminem:
[[[volume reference-data]]]
Size = 100
Mount = data # The name of the mountpoint to use with this volume
Punkt instalacji o nazwie data
jest następnie zdefiniowany w sekcji konfiguracji w węźle:
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /mount
fs_type = ext4
Powyższa konfiguracja określa, że konfigurujesz cyclecloud.mountpoint
nazwę data
przy użyciu wszystkich woluminów, które obejmują Mount = data
. Ten wolumin zostanie sformatowany przy ext4
użyciu systemu plików i zostanie wyświetlony w lokalizacji /mount
.
Urządzenia
Definiując woluminy z atrybutem mountpoint
, nazwy urządzeń będą automatycznie przypisywane i używane dla danego punktu instalacji. Można jednak dostosować punkt instalacji przy użyciu własnych nazw urządzeń. Na przykład:
[[node scheduler]]
[[[configuration cyclecloud.mounts.data]]]
mountpoint = /data
Azure.LUN=0
Na platformie Azure urządzenia są przypisywane przy użyciu numerów jednostek logicznych (LUN)
W większości przypadków usługa Azure CycleCloud automatycznie przypisze urządzenia. Ręczne określanie urządzeń jest zaawansowane i przydatne w przypadkach, gdy obraz używany dla węzła ma woluminy, które zostaną automatycznie dołączone, ponieważ ich załącznik został upieczony do obrazu. Określenie urządzeń ręcznie może być również przydatne, gdy kolejność urządzeń ma specjalne znaczenie.
Uwaga
Nazwa zarezerwowana boot
służy do modyfikowania wbudowanego woluminu rozruchowego.
Zaawansowane użycie
Poprzedni przykład był dość prosty: instalowanie pojedynczej, wstępnie sformatowanej migawki w węźle. Jednak można przeprowadzić bardziej zaawansowane instalowanie, w tym raiding wielu urządzeń razem, szyfrowanie i formatowanie nowych systemów plików. Na przykład poniżej opisano sposób łączenia woluminów RAID i szyfrowania ich przed zainstalowaniem ich jako pojedynczego urządzenia w węźle:
[[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"
W powyższym przykładzie pokazano, że istnieją trzy woluminy, które powinny być dołączone do węzła o nazwie scheduler
, a ich punkt instalacji ma nazwę giant
. Konfiguracja punktu instalacji mówi, że te trzy woluminy powinny być RAID razem przy użyciu raid_level = 0
raid0, sformatowane przy użyciu xfs
systemu plików, a wynikowe urządzenie powinno być zainstalowane w ./mnt/giant
Urządzenie powinno również mieć szyfrowanie na poziomie bloku przy użyciu 256-bitowego algorytmu AES z kluczem szyfrowania zdefiniowanym w szablonie.
Szyfrowanie dysków
Usługa CycleCloud obsługuje szyfrowanie po stronie serwera (SSE) dla woluminów dysku systemu operacyjnego i danych przy użyciu zestawów Usługi Azure Disk Encryption. Platforma Azure domyślnie używa kluczy zarządzanych przez platformę (PMK). Jednak aby używać kluczy zarządzanych przez klienta (CMK), należy najpierw skonfigurować zestaw usługi Azure Disk Encryption i Key Vault z kluczem. Postępuj zgodnie z dokumentacją tutaj, aby skonfigurować zestaw szyfrowania dysków.
Rejestruj zestaw Resource ID
szyfrowania dysków podczas jego tworzenia. Można to znaleźć w witrynie Azure Portal w obszarze Właściwości w bloku Zestawy szyfrowania dysków .
Aby zastosować funkcję SSE z kluczem CMK do woluminów węzła CycleCloud, dodaj następujące elementy do [[[volume]]]
definicji:
DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME
Na przykład:
[[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
Uwaga
Uproszczona składnia powyżej została wprowadzona w usłudze CycleCloud 8.5. W przypadku wcześniejszych wersji należy użyć zamiast Azure.Encryption.DiskEncryptionSetId
tego:
Azure.Encryption.DiskEncryptionSetId = /subscriptions/$SUBSCRIPTION-ID/resourceGroups/$RESOURCEGROUPNAME/providers/Microsoft.Compute/diskEncryptionSets/$DISK-ENCRYPTION-SET-NAME
.
Nie trzeba jednak ustawiać parametru Azure.Encryption.Type
.
Usługa CycleCloud 8.5 obsługuje również szyfrowanie dysków poufnych. Ten schemat chroni wszystkie krytyczne partycje dysku i sprawia, że chroniona zawartość dysku jest dostępna tylko dla maszyny wirtualnej. Szyfrowanie poufnych dysków jest na dysku i wymaga ustawienia typu szyfrowania zabezpieczeń na DiskWithVMGuestState
wartość .
Aby na przykład użyć szyfrowania poufnego na dysku systemu operacyjnego:
[[node scheduler]]
[[[volume boot]]]
ConfidentialDiskEncryptionSetId = /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResouceGroup/providers/Microsoft.Compute/diskEncryptionSets/myCMKDiskEncryptionSet
SecurityEncryptionType = DiskWithVMGuestState
Aby uzyskać szczegółowe informacje, zobacz dokumentację konfiguracji woluminu .
Opcje konfiguracji instalowania
Opcja | Definicja |
---|---|
punkt instalacji | Miejsce, w którym urządzenia zostaną zainstalowane po zastosowaniu jakiejkolwiek dodatkowej konfiguracji. Jeśli punkt instalacji nie zostanie określony, nazwa instalacji będzie używana jako część punktu instalacji. Jeśli na przykład instalacja miała nazwę "data", punkt instalacji domyślnie ma wartość "/media/data". |
opcje | Wszelkie opcje inne niż domyślne do użycia podczas instalowania urządzenia. |
fs_type | System plików do użycia podczas formatowania i/lub instalowania. Dostępne opcje to: ext3, ext4, xfs. |
size | Rozmiar systemu plików do utworzenia podczas formatowania urządzeń. Pominięcie tego parametru spowoduje użycie całej przestrzeni na urządzeniu. Rozmiar można określić przy użyciu języka M dla megabajtów (np. 150M dla 150 MB) G dla gigabajtów (np. 200G dla 20 GB) lub wartości procentowych (np. 100% do użycia całego dostępnego miejsca). |
wyłączone | Jeśli to prawda, punkt instalacji nie zostanie utworzony. Przydatne do szybkiego przełączania instalacji na potrzeby testowania i wyłączania automatycznego instalowania efemerycznego. Wartość domyślna: false. |
raid_level | Typ konfiguracji RAID do użycia, gdy jest używanych wiele urządzeń/woluminów. Wartość domyślna to 0, czyli RAID0, ale można użyć innych poziomów raid, takich jak 1 lub 10. |
raid_device_symlink | Po utworzeniu urządzenia raidowego określenie tego atrybutu spowoduje utworzenie symbolicznego linku do urządzenia raid. Domyślnie ten atrybut nie jest ustawiany i dlatego nie jest tworzony żaden symlink. Należy to ustawić w przypadkach, gdy potrzebujesz dostępu do bazowego urządzenia raid. |
devices | Jest to lista urządzeń, które powinny utworzyć punkt instalacji. Ogólnie rzecz biorąc, ten parametr nie powinien być określony (ponieważ usługa CycleCloud ustawi to dla Ciebie na podstawie sekcji [[volume]]], ale w razie potrzeby można ręcznie określić urządzenia. |
vg_name | Urządzenia są konfigurowane w systemie Linux przy użyciu Menedżera woluminów logicznych (LVM). Nazwa grupy woluminów zostanie automatycznie przypisana, ale w przypadkach, gdy jest używana określona nazwa, można ustawić ten atrybut. Wartość domyślna to cyclecloud-vgX , gdzie X jest automatycznie przypisywaną liczbą. |
lv_name | Urządzenia są konfigurowane w systemie Linux przy użyciu Menedżera woluminów logicznych (LVM). Ta wartość jest przypisywana automatycznie i nie wymaga specyfikacji, ale jeśli chcesz użyć niestandardowej nazwy woluminu logicznego, można ją określić przy użyciu tego atrybutu. Wartość domyślna to lv0 . |
kolejność | Określając kolejność, można kontrolować kolejność instalacji punktów instalacji. Domyślna wartość kolejności dla wszystkich punktów instalacji to 1000, z wyjątkiem "efemerycznej", która jest 0 (efemeryczna jest zawsze instalowana jako pierwsza). To zachowanie można przesłonić w zależności od potrzeb. |
encryption.bits | Liczba bitów do użycia podczas szyfrowania systemu plików. Wartości standardowe to 128 lub 256 bitowe szyfrowanie AES. Ta wartość jest wymagana w razie potrzeby szyfrowania. |
encryption.key | Klucz szyfrowania do użycia podczas szyfrowania systemu plików. W przypadku pominięcia zostanie wygenerowany losowy klucz 2048 bitów. Automatycznie wygenerowany klucz jest przydatny w przypadku szyfrowania dysków, które nie są utrwalane między ponownym uruchomieniem (np. szyfrowanie urządzeń efemerycznych). |
encryption.name | Nazwa zaszyfrowanego systemu plików używana podczas zapisywania kluczy szyfrowania. Wartość domyślna to cyclecloud_cryptX , gdzie X jest automatycznie wygenerowaną liczbą. |
encryption.key_path | Lokalizacja pliku, w ramach których klucz zostanie zapisany na dysku. Wartość domyślna to /root/cyclecloud_cryptX.key , gdzie X jest automatycznie wygenerowaną liczbą. |
Ustawienia domyślne konfiguracji instalowania
Użyj tych opcji, aby ustawić wartości domyślne systemu dla punktów instalacji, które będą używane, chyba że określono inaczej:
Opcje | Definicja |
---|---|
cyclecloud.mount_defaults.fs_type | Typ systemu plików, który ma być używany do instalacji, jeśli nie określono inaczej. Ustawienie domyślne: ext3/ext4 (w zależności od platformy). |
cyclecloud.mount_defaults.size | Domyślny rozmiar systemu plików do użycia, jeśli nie określono inaczej. Ustawienie domyślne: 50 GB. |
cyclecloud.mount_defaults.raid_level | Domyślny poziom raid do użycia, jeśli do punktu instalacji jest przypisanych wiele urządzeń. Wartość domyślna: 0 (RAID0). |
cyclecloud.mount_defaults.encryption.bits | Domyślny poziom szyfrowania, chyba że określono inaczej. Ustawienie domyślne: niezdefiniowane. |