Red Hat OpenShift- tai Upstream Kubernetes -portinvartijat

Zusammenfassung: Tässä tietämyskannan artikkelissa kerrotaan, miten Red Hat GitHub kubevirt-rawio-addon -säilöä käytetään PowerMax-portinvartijoiden esittelyyn Red Hat OpenShift- tai Upstream Kubernetes -ympäristössä. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Weisungen

PowerMax-portinvartijat

PowerMax-portinvartijat ovat pieniä laitteita (yleensä kolme megatavua), jotka on veistetty PowerMaxin levyiltä ja jotka toimivat Solutions Enabler -komentojen SCSI-kohteina. Määritys- ja tilatietoja ylläpidetään PowerMax-isäntätietokantatiedostossa, joka symapi_db.bin oletusarvoisesti. Se tunnetaan PowerMax-kokoonpanotietokantana. Se vähentää isännästä tallennusjärjestelmiin tehtävien kyselyjen määrää. Portinvartijoiden on oltava raakalaitteita, jotta käyttöjärjestelmä yksinkertaisesti välittää SCSI-komennot ilman manipulointia. Vaikka fyysiset isännät toimivat aina portinvartijoiden kanssa (tuetussa käyttöjärjestelmässä), virtuaaliset isännät rajoittuvat VMwareen käyttämällä fyysisiä raakalaitemäärityksiä (RDM), vieraan iSCSI:tä Windowsissa tai Linuxissa, vieraan NVMe:tä/TCP:tä Linuxissa tai läpivientilaitteita (verkkokortti tai HBA). Kuitenkin vain VMware voi esittää todellisen raakalaitteen, joka tunnustetaan toimivaksi portinvartijaksi. Muut virtualisointiratkaisut antavat käyttäjälle mahdollisuuden esittää laitteita "raakoina", mutta niiden ratkaisut estävät joitain SCSI-komentoja, mikä estää niiden käytön portinvartijoina. Solutions Enabler merkitsee ne portinvartijoiksi, mutta ilmoittaa alla olevasta virheestä.

Lisäksi, jos tutkit portinvartijoita, ne näyttävät tilan "CLS" tai suljettu.

Siksi et voi välittää tarvittavia SCSI-komentoja.

Jotta voit hyödyntää tätä ratkaisua, sinun on käytettävä protokollaa, jota Solutions Enabler tukee valitussa käyttöjärjestelmässä. Katso lisätietoja tuotteen dokumentaatiosta.

Red Hat GitHub -ratkaisu

Dell pyysi Red Hatilta apua kiertotavan kehittämisessä portinvartijoille OpenShift-ympäristössä joillekin yhteisille asiakkaillemme. Tätä varten he loivat ratkaisun, joka toimii sekä OpenShiftissä että Upstream Kubernetesissa pienillä eroilla toteutuksessa. GitHub-arkiston nimi on kubevirt-rawio-addon, kuten tässä: https://github.com/openshift-cnv/kubevirt-rawio-addon GitHub sisältää Lueminut-https://github.com/openshift-cnv/kubevirt-rawio-addon/blob/main/README.md.

Lisäosa asentaa useita komponentteja:

  • Verkkokoukkujen mutatoituminen objektien muokkaamiseksi lennossa
  • Verkkokoukun validointi – OpenShiftiä koskeva turvatarkistus
  • Suojausmääritykset, jotka sallivat etuoikeutetut ominaisuudet
  • Sivuvaunun koukku 

Sivuvaunu on pieni lisäsäiliö, joka kulkee VM-podin rinnalla ja muokkaa virtuaalikoneen matalan tason kokoonpanoa ennen sen käynnistymistä. Se sieppaa KubeVirtin luoman virtuaalikonekokoonpanon, etsii selityksin varustetut levyt ja asettaa rawio=yes. KubeVirt saa sitten XML: n takaisin. Taustalla oleva libvirt/QEMU -arkkitehtuuri tukee tätä, mutta ei paljasta sitä, joten tämä pieni säätö on tarpeen. On mahdollista, että KubeVirt paljastaa tämän tulevaisuudessa, jolloin kiertotapa on tarpeeton.


  

OpenShift-toteutus

Arkisto sisältää kaikki ohjeet tämän ratkaisun toteuttamiseksi. Koska Red Hat omistaa ratkaisun, Dell suosittelee noudattamaan nykyisiä ohjeita, jotka voivat muuttua tulevaisuudessa.  Dell ei päivitä näitä muutoksia tietämyskannan artikkeliin. Tarjoamme alla olevat perustiedot, mutta kehotamme tämän tietämyskannan käyttäjiä käyttämään niitä säilön rinnalla.

Kuten todettiin, voit ottaa tämän käyttöön OpenShift- tai Upstream Kubernetes -järjestelmissä. Kuten OpenShiftin vaiheet, on pari huomioitavaa kohdetta, jos teet Upstream Kubernetesin.

  • Jos otat käyttöön vanilja K8: n, sinulla on oltava cert-manager asennettuna. Jos PowerMax CSI -ajuri on asennettu, se on asennettu.
  • Jos toteutat vanilja K8: lla, tarvitset etuoikeutetun nimiavaruuden. Voit käyttää komentosarjojen nimitilaa tai luoda omia ja muokata sitten komentosarjoja.

Kaksi käyttöönottoon tarvittavaa komentosarjaa ovat hakkerointikansiossa . rawio-setup.sh on ensimmäinen komentosarja ja se on sama kummallekin alustalle, mutta huomaa, että se perustuu openshift-cnv-nimitilaan, joka on vain OpenShiftissä. Lisää nimitila tai luo uusi ja muokkaa K8s:n komentosarjaa. Virtuaalikoneen luontikomentosarja on ympäristökohtainen, mutta sekin käyttää openshift-cnv-nimitilaa. OpenShiftille se on rawio-create-vm-openshift.sh. Komentosarjat on suunniteltu luomaan testiympäristö, ja niitä on muokattava tuotantoasetuksia varten. Erityisesti rawio-setup.sh-komentosarja luo virtuaalisen SCSI-laitteen. Muokkaa sen sijaan komentosarjaa käyttämään PowerMax-tallennusluokkaasi. Lisäksi komentosarja olettaa yhden solmun virtuaalikoneen ajoittamista varten. Muokkaa sitä niin, että se voidaan suorittaa missä tahansa työsolmussa. Skripti käyttää pre-buit Fedora OS:ää.

Esimerkkikomentosarjat ovat lisäsisällössä.

Perusvaiheet

Muista, että PowerMax CSI ei voi luoda yli 50 Mt:n laitetta, vaikka pyytäisit perinteistä 3 Mt:n portinvartijaa. Se ei aiheuta ongelmaa.

Muut virtualisointiratkaisut

Kumpikaan alla olevista ratkaisuista ei toimi tämän Red Hat -säilön kanssa.

  • K8s-pohjaisten ratkaisujen, kuten SUSE Harvester - SUSE, on kehitettävä oma ratkaisunsa
  • KVM-ratkaisut, kuten Proxmox tai Oracle KVM (oVirt) - nämä eivät ole KubeVirt-pohjaisia eikä niitä voi käyttää



 

Weitere Informationen

rawio-setup.sh

 

#!/bin/bash

 

set -euo putkivika

 

jos [ -z "${KUBEVIRT_NAMESPACE:-}" ]; Sitten
  Jos kubectl saa ns openshift-cnv &>/dev/null; niin
    NAMESPACE="openshift-cnv"
  Muuta
    NIMIAVARUUS="kubevirt"
  Fi
Muuta
  NIMIAVARUUS="$KUBEVIRT_NIMIAVARUUS"
Fi

 

PVC_NAMESPACE="${PVC_NAMESPACE:-default}"
SC_NAME="powermax-2164-default"
PVC_NAME="SCSI-RAWIO-PVC"

 

# Luo nimiavaruus, jos sitä ei ole
kubectl get ns "$PVC_NAMESPACE" >/dev/null 2>&1 || kubectl create ns "$PVC_NAMESPACE"

 

# Luo PVC
echo "PVC: n luominen $PVC_NAME nimitilassa $PVC_NAMESPACE ..."

 

kubectl soveltaa -f - <<EOF
apiVersio: v1
Sellainen: PersistentVolumeClaim
Metatiedot:
  name: $PVC_NIMI
  Namespace: $PVC_NIMITILA
Spec:
  storageClassName: $SC_NIMI
  VolumeMode: Lohko
  accessModes:
    - ReadWriteOnce
  Resursseja:
    Pyyntöjä:
      Varastointi: 8 mi
EOF

 

kaiku ""
echo "=== Asennus valmis ==="
echo "StorageClass:   $SC_NIMI"
kaiku "PVC:            $PVC_NIMIAVARUUS/$PVC_NIMI"
kaiku ""
 

*******************************************

rawio-create-vm-openshift.sh

 

#!/bin/bash

 

set -euo putkivika

 

PVC_NAMESPACE="${PVC_NAMESPACE:-default}"
PVC_NAME="${PVC_NAME:-scsi-rawio-pvc}"
VM_NAME="${VM_NAME:-rawio-test-vm}"
VM_SA="${VM_SA:-rawio-vm}"
CONTAINER_DISK="${CONTAINER_DISK:-quay.io/kubevirt/fedora-with-testtooling:v20240717-a087e7e}"
SCC_NAME="${SCC_NAME:-rawio-vm}"
KUBEVIRT_NAMESPACE="openshift-cnv"

 

echo "Creating ServiceAccount $VM_SA nimitilassa $PVC_NAMESPACE"

 

kubectl soveltaa -f - <<EOF
apiVersio: v1
Sellainen: Palvelutili
Metatiedot:
  name: $VM_SA
  Namespace: $PVC_NIMITILA
EOF

 

echo "SCC $SCC_NAMEn luominen palvelutilille $VM_SA"

 

kubectl soveltaa -f - <<EOF
apiVersio: security.openshift.io/v1
Sellainen: SecurityContextConstraints
Metatiedot:
  name: $SCC_NIMI
Ensisijainen: 11
allowPrivilegedContainer: epätosi
allowHostDirVolumePlugin: true
allowHostNetwork: epätosi
allowHostPorts: epätosi
allowHostPID: epätosi
allowHostIPC: epätosi
sallitut ominaisuudet:
  - NET_BIND_SERVICE
  - SYS_NICE
  - SYS_RAWIO
  - SETFCAP
defaultAddCapabilities: []
seccompProfiles:
  - ajonaika/oletus
  - rajoittamaton
  - localhost/kubevirt/kubevirt.json
Asemia:
  - "*"
readOnlyRootFilesystem: false
runAsUser:
  type: RunAsAny
seLinuxKonteksti:
  type: RunAsAny
fsGroup:
  type: RunAsAny
lisäryhmät:
  type: RunAsAny
Käyttäjät:
  - Järjestelmä:ServiceAccount:${PVC_NAMESPACE}:${VM_SA}
groups: []
EOF

 

echo "Luodaan virtuaalikone $VM_NAME nimitilassa $PVC_NAMESPACE"
kaiku "PVC:               $PVC_NIMI"
echo "ServiceAccount:    $VM_SA"
echo "Konttilevy:    $CONTAINER_LEVY"

 

kubectl soveltaa -f - <<EOF
apiVersio: kubevirt.io/v1
Sellainen: Virtuaalikone
Metatiedot:
  name: $VM_NIMI
  Namespace: $PVC_NIMITILA
  Huomautukset:
    kubevirt.io/rawioSupport: "Lun0"
Spec:
  Juoksu: Tosi
  Malli:
    Metatiedot:
      Huomautukset:
        kubevirt.io/rawioSupport: "Lun0"
    Spec:
      Toimialueen:
        Cpu:
          Ydintä: 2
        Resursseja:
          Pyyntöjä:
            Muisti: 2Gi
        Laitteet:
          Rng: {}
          Levyt:
            - Nimi: Disk0
              Levyn:
                Bussi: Virtio
            - Nimi: Lun0
              Lun:
                Väylä: SCSI
            -Nimi: $VM_SA
              Levyn:
                Bussi: Virtio
      Asemia:
        - Nimi: Disk0
          containerDisk:
            Kuva: $CONTAINER_LEVY
        - Nimi: Lun0
          persistentVolumeClaim:
            claimName: $PVC_NIMI
        -Nimi: $VM_SA
          serviceAccount:
            serviceAccountName: $VM_SA
EOF

 

kaiku ""
echo "VM $VM_NAME luotu. Odotan, että se alkaa..."
echo "Watch with: kubectl get vmi -n $PVC_NAMESPACE $VM_NAME -w"
echo "Konsoli:    virtctl-konsoli -n $PVC_NIMITILA $VM_NIMI"
kaiku ""
kaiku "Puhdistus:"
echo " kubectl delete vm -n $PVC_NAMESPACE $VM_NAME"
echo " kubectl delete scc $SCC_NAME"

Betroffene Produkte

PowerMax, PowerMax, PowerMax 2000, PowerMax 2500, PowerMax 8000, PowerMax 8500, PowerMaxOS 10
Artikeleigenschaften
Artikelnummer: 000472526
Artikeltyp: How To
Zuletzt geändert: 03 Juni 2026
Version:  1
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.