Kom igång

Installera från USB

Gör en tom server till den första i en ny Velrix-installation, med realmnyckeln frånkopplad i ditt kassaskåp.

Den här guiden installerar den första servern i en ny installation, det Velrix kallar en realm. När du är klar öppnar du servern i en webbläsare och avslutar i installationsguiden.

Innan du börjar

Varje server behöver

MinstBekvämt
Processorx86-64, med hårdvaruvirtualisering (Intel VT-x eller AMD-V) påslagen i firmwareSamma
CPU-kärnor4 *8 eller fler *, plus det dina maskiner och appar tilldelas
Arbetsminne16 GB32 GB, plus det dina maskiner och appar tilldelas
DiskEn tom disk på 20 GB * för operativsystemet och dess data100 GB eller mer *, plus dina volymer och maskindiskar
SäkerhetschipTPM 2.0, eller en firmware-TPM (AMD fTPM, Intel PTT)Samma
FirmwareUEFISamma
NätverkEn port på realmens nätverkTvå eller fler, i en bond

* Ingen uppmätt gräns: våra testinstallationer körs på 4 kärnor och en disk på 20 GB, och de bekväma siffrorna är vår rekommendation. Siffrorna för arbetsminne är det angivna kravet.

  • Planera för tre servrar eller fler. Med tre fortsätter installationen att fungera när vilken som helst av dem går sönder. En server fungerar, men har inget att växla över till. Två servrar räcker inte för hög tillgänglighet.
  • Håll dem på ett nätverk. Servrarna i en realm hittar varandra på sitt gemensamma nätverk: ett LAN, VLAN eller VXLAN. Mellan dem måste UDP-portarna 4397, 4400 och 6081 vara öppna.
  • Öppna UDP 4443 mot användarna för den snabbaste anslutningen till webbklienten. Utan den faller webbläsarna tillbaka på en WebSocket efter 1,5 sekunder, och går direkt dit de följande 10 minuterna. Öppna även UDP 443, för HTTP/3; utan den stannar webbläsarna på TCP.

Du behöver också

  • Installationsimagen och dess kontrollsumma, från din kontakt på Velrix.
  • Ett USB-minne för installationen, 4 GB eller större: imagen är ungefär 2,1 GB. Allt på minnet skrivs över.
  • Två USB-minnen till för realmnyckeln, formaterade med FAT, exFAT eller ext4. På dem förvaras nyckeln som signerar varje server i din realm. Installerar du en VM eller en VPS utan USB-port? Då kan du ladda ned nyckeln som en krypterad fil i stället (steg 5).
  • En publik SSH-nyckel, om du vill ha nödåtkomst till serverns skal som root. Den är valfri; det finns inga SSH-lösenord.

1. Skriv installationsminnet

Kontrollera imagen mot kontrollsumman och skriv den sedan till minnet. I Linux:

sha256sum -c velrix-os-<version>.iso.sha256
sudo dd if=velrix-os-<version>.iso of=/dev/sdX bs=4M conv=fsync

Byt /dev/sdX mot minnet, och dubbelkolla: dd skriver över det du pekar på. Alla verktyg som skriver en diskimage fungerar också. Samma image startar även från cd, både med UEFI och med äldre BIOS.

2. Låt servern lita på installationen (Secure Boot)

Installationen är signerad med Velrix nyckel för säker start. De flesta servrar litar bara på Microsofts nycklar från början, så de vägrar starta den tills du har lagt till vår en gång:

  1. Kontrollera certifikatets fingeravtryck. Det måste vara exakt:
    93:36:B8:4C:7A:96:3D:DE:10:8F:67:5C:EA:34:E7:A8:24:7C:2A:95:5F:0E:F4:71:2A:7E:40:2E:01:F2:9F:02
    
  2. Lägg in VELRIX-SB.cer från minnet i firmwarens databas för Secure Boot (db): i firmwareinställningarna (”enrol db from file” eller liknande), eller via serverns fjärrhanteringskort.

Färre besök i firmware: stäng i stället av Secure Boot under installationen och hoppa över det här steget. Varje installerad server signerar sin egen startladdare (steg 7), så du besöker firmware en gång efteråt: lägg in serverns nyckel och slå på Secure Boot, i samma besök. Med ett fjärrhanteringskort (BMC) behövs inget besök alls: Redfish tar emot certifikatet,

curl -k -u admin -X POST https://<bmc>/redfish/v1/Systems/<system>/SecureBoot/SecureBootDatabases/db/Certificates \
  -H 'Content-Type: application/json' \
  -d "{\"CertificateType\": \"PEM\", \"CertificateString\": \"$(cat VELRIX-SB.pem)\"}"

(openssl x509 -inform DER -in VELRIX-SB.cer -out VELRIX-SB.pem skapar PEM-filen.) Stäng aldrig av Secure Boot för gott: det är det som stoppar en ändrad startladdare.

3. Starta installationen

Starta servern från minnet. Menyn erbjuder:

  • Install: den guidade installationen. Välj den.
  • Install with safe graphics: för skärmar som inte visar något användbart.
  • Install text only: för seriella konsoler och fjärrkonsoler.
  • Unattended install: skriver över den enda tomma disken utan att fråga. Använd den bara för skriptade installationer.

Installationen visas på serverns skärm, tillsammans med en rad som Från en annan dator: öppna https://10.0.0.5/, kontrollera att certifikatets SHA-256-fingeravtryck är … och ange koden K7QM-2XFD. Använd det du vill: konsolen, eller en webbläsare var som helst på nätverket med den koden. Webbläsaren varnar en gång för installationens eget certifikat: jämför fingeravtrycket och godkänn det sedan. Koden byts efter varje användning.

Har servern inget nätverk än? Använd en kabel. Koppla en bärbar dator direkt till en ledig port på servern. Utan DHCP-server på kabeln tar båda ändarna en länklokal adress (169.254.x.x) av sig själva inom en minut, och serverns skärm visar adressen och namnet velrix-install.local. Öppna https://velrix-install.local (eller adressen) på datorn, jämför certifikatets fingeravtryck och ange koden. Du behöver inte installera något på datorn. Installationen delar aldrig ut adresser, så kabeln är lika säker på ett nätverk i drift. Installerar du två servrar samtidigt heter den andra velrix-install-2.local, och det står på dess skärm.

4. Svara på installationens frågor

  1. Språk och tangentbord. Sedan kontrollerar installationen sig själv: varje fil på minnet mot kontrollsummorna i den verifierade startmenyn, och Velrix-utgåvan mot vår signatur. Om något skiljer sig stannar den.
  2. Disk. Skriv diskens namn för att bekräfta. Allt på den skrivs över.
  3. Nätverk. Varje port visas med länk och hastighet.
    • Bonds: välj Lägg till en bond för att gruppera portar, som aktiv–reserv (en port i taget, inget att ställa in på switchen), LACP (802.3ad: ställ först in switchportarna som en LACP-grupp, annars får bonden ingen länk) eller adaptiv lastbalansering.
    • VLAN: välj Lägg till ett VLAN för att lägga ett VLAN (1 till 4094) på en port eller en bond.
    • Adresser: ge varje anslutning IPv4, IPv6 eller båda, automatiskt eller fast. Med bara IPv6 når en servers appar och moduler IPv6-adresser, och tjänster med bara IPv4 via leverantörens NAT64 om du slår på DNS64 för nätverket. Dess gateways har ännu inga flytande adresser eller lastbalanserare.
    • Hantering och mesh: markera anslutningen som bär realmens adress och trafiken mellan servrarna.

    Om du lägger porten som webbläsaren når installationen genom i en bond flyttar dess adress till bonden: sidan visar den nya adressen innan ändringen görs.
  4. Namn. Serverns namn.
  5. Din SSH-nyckel (valfri). En nyckel för root över SSH, för när Velrix självt inte går att nå: klistra in den, eller hämta nycklar från en https://-adress som https://github.com/<användare>.keys (servern behöver nätverket för det). Jämför varje nyckels SHA256-fingeravtryck med ssh-keygen -lf <nyckel>.pub på din egen dator innan du fortsätter, eller välj Hoppa över.
    • Godkända: ssh-ed25519, ecdsa-sha2-nistp256 och -nistp384, och ssh-rsa på minst 3072 bitar; högst 10 nycklar. En rad med flaggor eller ett kommando före nyckeln vägras.
    • En hämtning följer ingen omdirigering och tar bara https://; det som hämtades visas innan det används.
    • Nycklarna blir roots authorized_keys på den installerade servern, ägda av root. En ny realm lägger också in dem i sitt paket, som tidigare; det första paketets nycklar läggs till bredvid.
  6. Realm: Skapa en ny realm. Ge den ett namn och en färg. En ny realm kör hela produkten: appar, virtuella maskiner, mallar, volymer, nätverk, jobb, registret, stackar, driftsättningar, loggar, mätvärden, Kubernetes och resten. Minimal realm utelämnar allt det, och är bara till för specialfall.

5. Förvara realmnyckeln på två minnen

Nu skapar installationen din realmnyckel. Den som har den kan skapa en server som hela din realm litar på, så Velrix förvarar den inte på någon server alls. Den hamnar på USB-minnen, i ditt kassaskåp.

  1. Sätt i det första minnet för realmnyckeln (installationen hittar det själv) och välj en lösenfras på minst 12 tecken.
  2. Installationen skriver nyckeln dit, krypterad med lösenfrasen, och läser tillbaka den för att kontrollera den. Minnet får etiketten VELRIX-REALMKEY.
  3. Sätt i det andra minnet och skriv samma nyckel till det.

Du kan bara hoppa över det andra minnet om du bekräftar att du kopierar nyckeln själv i dag. Med en enda kopia betyder ett förlorat minne att varje servers identitet måste skapas på nytt.

Inget USB-minne, som på en VM eller en VPS? Välj Ladda ned till den här datorn (krypterad). Webbläsaren sparar samma krypterade fil, velrix-realm-<realm>-issuer.age. Spara den på två ställen, skilt från lösenfrasen, och bekräfta sedan Jag har sparat filen på två ställen. Bara en webbläsare som har angett koden kan ladda ned den. Du behöver den igen för en uppdatering som lägger till en modul (Uppdateringar).

Sedan glömmer servern nyckeln. Den behåller bara den publika halvan, vilket är allt den behöver för att kontrollera vem som hör till realmen.

6. Installera

Installationen tar ungefär en halv minut på en SSD. Den sista skärmen visar:

  • Adressen till din installation, till exempel https://10.0.0.5/, med en QR-kod;
  • Installationskoden, som i nästa steg bevisar att det är du som har installerat: sex grupper med fyra bokstäver och siffror, till exempel 7KQ2-…, utan tecken som liknar varandra. Stora eller små bokstäver och bindestreck spelar ingen roll när du skriver den;
  • Fingeravtrycket för serverns startnyckel, för säker start.

Skriv ned koden. Ta ut minnena och starta om.

Lägg minnena med realmnyckeln i kassaskåp, på två olika ställen, och förvara lösenfrasen åtskild från dem. Du behöver dem en gång om året, och varje gång du lägger till en server.

7. Låt servern starta med Secure Boot

Varje installerad server signerar sin egen startladdare med en nyckel förseglad i dess TPM. För att starta med Secure Boot påslaget lägger du in den nyckeln en gång, på samma sätt som i steg 2 (i firmware eller via Redfish): certifikatet är EFI/velrix/VELRIX-HOST.cer på serverns EFI-partition, och fingeravtrycket är det som den sista skärmen visade. Om du installerade med Secure Boot avstängt är det här det enda besöket: lägg in nyckeln och slå sedan på Secure Boot.

En server utan TPM har ingen egen startnyckel: starta den med Secure Boot avstängt.

8. Öppna installationsguiden

Serverns skärm visar Velrix is starting och sedan Velrix is ready med adressen och SHA-256-fingeravtrycket för dess certifikat, oftast inom en minut efter inloggningsprompten.

Öppna adressen. Webbläsaren varnar en gång för serverns eget certifikat: jämför fingeravtrycket den visar med det på serverns skärm och godkänn det sedan för den här adressen. Nu ser du Gör anspråk på instansen. Fortsätt med installationsguiden.

På en server med en enda publik IP-adress delar realmen och apparna du ger värdnamn på port 80 och 443: se Publik adress och värdnamn för appar.

Klienterna ansluter snabbast över UDP-port 4443 (WebTransport). Om en brandvägg stoppar den faller de tillbaka på en långsammare anslutning efter 1,5 sekunder, så öppna den mot servern om du kan. UDP-port 443 bär HTTP/3 för realmen och era appar.

Lägga till fler servrar

Varje ny server behöver en identitet signerad med realmnyckeln. Den skapar du i en kort ceremoni:

  1. Ta ett minne med realmnyckeln ur kassaskåpet och sätt i det i den första servern.
  2. Öppna Realmnyckel i Manager. Där syns det när minnet sitter i.
  3. Välj Lägg till en instans eller utfärda dess identiteter på nytt, skriv den nya serverns namn och lösenfrasen, och välj Signera med realmnyckeln.
  4. Servern öppnar nyckeln bara i minnet, signerar och glömmer den. Välj Ladda ned paketet: webbläsaren sparar velrix-instance-<namn>.tar. Behandla filen som en nyckel.
  5. Lägg tillbaka minnet i kassaskåpet.

Installera sedan den nya servern från installationsminnet. Vid Realm väljer du Gå med i en befintlig realm, och sedan paketfilen (när du installerar från en webbläsare), eller sätter i ett USB-minne som har den och väljer Leta efter ett paket på USB-minnen. Serverns namn följer paketet (velrix-b för instans b) om du inte skrev ett annat. Du kan också låta den starta disklöst över nätverket. Den ansluter till realmen av sig själv, och sidan Realmnyckel visar Instans b har anslutit när dess moduler är anslutna.

Från ett anslutningsminne

För en plats som realmen inte kan starta över nätverket, till exempel ett kontor på annan ort:

  1. Öppna Nätverksstart i Manager, sedan Godkännanden → Skapa anslutningsminne. Ge det en etikett (den blir den nya serverns) och välj Ladda ner filen: webbläsaren sparar velrix-join.json.
  2. Kopiera filen till valfritt USB-minne (FAT, exFAT eller ext4).
  3. På plats startar du servern från installationsminnet med anslutningsminnet isatt. Installationen hittar filen, kontrollerar sig själv och ansluter bara till realmen på adressen i filen, och kontrollerar realmens certifikat mot fingeravtrycket i filen. Skärmen visar serverns värdnyckel.
  4. Under Nätverksstart → Godkännanden jämför du värdnyckeln med den på serverns skärm (fråga den som är på plats) och godkänner med serverns paket från ceremonin ovan. Låt startläget vara Lokal disk.
  5. Servern installerar sig på sin enda tomma disk (eller den installationsdisk du angav), startar om från den och ansluter till realmen. Ta ut minnena.

Filen fungerar en gång, och som standard i ett dygn. Ett borttappat minne räcker inte för någonting: ingen server ansluter utan ditt godkännande. Realmens adress för nätverksstart (port 8480) måste gå att nå från platsen.

Varje servers identitet gäller i ett år. De driftansvariga får meddelanden 60, 30, 14 och 7 dagar innan den löper ut; samma ceremoni, med Förnya identiteterna för en instans, förnyar den.

Har du tappat bort ett av minnena med realmnyckeln? Gör en ny kopia från det du har kvar, innan något händer med det: hör av dig om du behöver hjälp. Har du tappat bort båda, eller lösenfrasen? Dina data finns kvar, men varje servers identitet måste skapas på nytt från en ny realmnyckel. Hör av dig till oss.