Udostępnij za pośrednictwem


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 DiskWithVMGuestStatewartość .

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.