For å opprette VPS-hosting på en Linux-server, installer en hypervisor som KVM med libvirt, konfigurer nettverk (NAT eller en offentlig bro), sett opp lagringsbassenger (qcow2 eller LVM-thin), og klargjør deretter virtuelle maskiner ved hjelp av virt-install- eller cloud-init-maler. Harden SSH, aktiver en brannmur og legg til overvåking og sikkerhetskopiering for produksjonspålitelighet.
Hvis du lurer på hvordan du oppretter VPS-hosting på en Linux-server, viser denne trinnvise veiledningen deg nøyaktig hvordan du gjør bare-metal Linux om til en pålitelig virtualiseringsvert. Vi bruker KVM, QEMU og libvirt – bransjestandarden med åpen kildekode – for ytelse, isolasjon og langsiktig stabilitet.
Søkeintensjon og hva du lærer
Målet er å utplassere og manage flere VPS-instanser på én Linux-server. Du lærer maskinvare- og nettverksplanlegging, installasjon av KVM, oppsett av NAT- og bronettverk, lagringsbassenger (qcow2/LVM), klargjøring med skybilder, herding av sikkerhet, automatisering i stor skala og feilsøking av vanlige fallgruver.
Forutsetninger og planlegging
Krav til maskinvare og operativsystem
Bruk en 64-bit CPU med virtualiseringsutvidelser (Intel VT-x eller AMD-V), minst 16–32 GB RAM for flere virtuelle maskiner, og SSD/NVMe for rask I/O. Ubuntu Server LTS eller Rocky/AlmaLinux er populære valg for stabilitet og langsiktig støtte.
# Verify virtualization support
lscpu | grep -i virtualization
# or
egrep -c '(vmx|svm)' /proc/cpuinfoNettverk og IP-adressering
Velg mellom NAT (enkel, privat adressering) og en bro (offentlige IP-adresser til hver VPS). For offentlige arbeidsbelastninger, be om et rutet /29 eller større subnett fra leverandøren din. IPv6 tidlig for å unngå omarbeid senere.
Når du bør velge administrert i stedet
Hvis du trenger oppetid i produksjonsklasse, DDoS-beskyttelse, øyeblikksbilder og support døgnet rundt uten administrere verten deg selv, vurder en managed VPS. På YouStable, tilbyr vi optimalisert KVM VPS med NVMe-lagring, automatiske sikkerhetskopier og ekspertstøtte, slik at du kan fokusere på apper, ikke infrastruktur.
Installer KVM, QEMU og Libvirt
Aktiver virtualisering og sikker BIOS/UEFI
Aktiver VT-x/AMD-V i BIOS/UEFI. Mens du er der, deaktiver ubrukte oppstartsenheter, angi BIOS-passord og aktiver sikker oppstart hvis støttet. Hold fastvaren oppdatert for stabilitet og sikkerhet.
Installer på Ubuntu/Debian
sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients
virtinst bridge-utils cloud-image-utils genisoimageLegg brukeren din til libvirt-gruppen og aktiver tjenester:
sudo usermod -aG libvirt $USER
sudo systemctl enable --now libvirtd
newgrp libvirt
virsh list --allInstaller på RHEL/CentOS/Rocky/AlmaLinux
sudo dnf install -y @virtualization libvirt virt-install qemu-img
bridge-utils cloud-utils-genisoimage
sudo systemctl enable --now libvirtd
sudo usermod -aG libvirt $USER
newgrp libvirt
virsh list --allKonfigurer nettverk for din VPS
NAT (standard virbr0) – Enklest for private nettverk
Libvirt oppretter et NAT-basert virtuelt nettverk (virbr0) som standard. Virtuelle maskiner får private IP-adresser (f.eks. 192.168.122.0/24) og deler vertens utgående tilkobling. Bruk portvideresending eller en omvendt proxy hvis du trenger innkommende tilgang.
# List and start the default NAT network
virsh net-list --all
virsh net-start default
virsh net-autostart defaultBronettverk – offentlige IP-adresser for hver VPS
Bronettverk (br0) kobler virtuelle maskiner direkte til ditt fysiske nettverkskort, slik at hver VPS kan bruke en ekte offentlig IP-adresse. Dette krever minst én ledig offentlig IP-adresse og støtte fra datasenteret eller leverandøren din.
Eksempel på Ubuntu med Netplan (erstatt ens18 og adressering etter behov):
sudo nano /etc/netplan/01-br0.yaml
# Example
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: no
bridges:
br0:
interfaces: [ens18]
addresses: [203.0.113.10/24]
gateway4: 203.0.113.1
nameservers:
addresses: [1.1.1.1,8.8.8.8]
sudo netplan applyOpprett et libvirt-nettverk knyttet til br0:
cat > br0.xml <<'EOF'
<network>
<name>br0</name>
<forward mode='bridge'/>
<bridge name='br0'/>
</network>
EOF
virsh net-define br0.xml
virsh net-start br0
virsh net-autostart br0På systemer i RHEL-familien, konfigurer en bro ved hjelp av NetworkManager (nmcli) eller ifcfg-filer, og bind deretter det fysiske grensesnittet som en slave til br0.
Klargjør lagringsbassenger (qcow2 eller LVM-Thin)
Katalog-/bildepool (enkel)
For enkelhets skyld, bruk qcow2-bilder i en katalogpool. qcow2 støtter snapshots og tynn provisjonering.
sudo mkdir -p /var/lib/libvirt/images
sudo virsh pool-define-as imgpool dir - - - - "/var/lib/libvirt/images"
sudo virsh pool-start imgpool
sudo virsh pool-autostart imgpoolLVM tynn pool (ytelse)
LVM-tynne pools gir nesten rå ytelse med tynn provisjonering. Bruk en dedikert disk eller VG:
# Example: create VG and thin pool
sudo pvcreate /dev/nvme0n1
sudo vgcreate vps-vg /dev/nvme0n1
sudo lvcreate -L 500G -T vps-vg/vps-thin
# Define libvirt pool
cat > lvm.xml <<'EOF'
<pool type='logical'>
<name>lvmthin</name>
<source><name>vps-vg</name></source>
<target><path>/dev/vps-vg</path></target>
</pool>
EOF
virsh pool-define lvm.xml
virsh pool-start lvmthin
virsh pool-autostart lvmthinLag din første VPS (KVM-gjest)
Alternativ A: Rask klargjøring med skybilder + cloud-init
Skybilder starter raskt opp og konfigurerer brukere automatisk, SSH nøklerog nettverk via skyinitiering.
# Download an Ubuntu cloud image
cd /var/lib/libvirt/images
sudo wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
# Create cloud-init seed ISO with your SSH key and user
mkdir -p /tmp/seed
cat > /tmp/seed/user-data <<'EOF'
#cloud-config
users:
- name: devops
sudo: ALL=(ALL) NOPASSWD:ALL
groups: sudo
shell: /bin/bash
ssh-authorized-keys:
- ssh-rsa AAAA...yourkey...
chpasswd:
list: |
devops:changeme
expire: false
packages: [qemu-guest-agent]
ssh_pwauth: false
runcmd:
- systemctl enable --now qemu-guest-agent
EOF
cat > /tmp/seed/meta-data <<'EOF'
instance-id: vps-01
local-hostname: vps-01
EOF
genisoimage -output seed-vps01.iso -volid cidata -joliet -rock /tmp/seed/user-data /tmp/seed/meta-data
# Create the VM
sudo virt-install
--name vps-01
--memory 2048 --vcpus 2
--disk path=/var/lib/libvirt/images/vps-01.qcow2,size=20,format=qcow2
--disk path=/var/lib/libvirt/images/seed-vps01.iso,device=cdrom
--import --os-variant ubuntu22.04
--network network=default
--noautoconsoleHvis du bruker offentlige IP-adresser, erstatt network=default med network=br0 og konfigurer den statiske IP-adressen i user-data.
Alternativ B: Installer fra ISO med virt-install
For tilpasset partisjonering eller operativsystemer uten skybilder, start opp fra en ISO.
# Place ISO under /var/lib/libvirt/images
sudo virt-install
--name vps-02
--memory 4096 --vcpus 2
--disk path=/var/lib/libvirt/images/vps-02.qcow2,size=40,format=qcow2
--cdrom /var/lib/libvirt/images/ubuntu-22.04.4-live-server-amd64.iso
--os-variant ubuntu22.04
--network network=br0
--graphics noneKoble til via konsoll under installasjon:
virsh console vps-02Brannmur, sikkerhet og tilgang
Harden SSH og begrens porter
# UFW (Ubuntu)
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80,443/tcp
sudo ufw enable
# firewalld (RHEL)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reloadDeaktiver passord SSHBruker SSH nøkler, og endre standardinnstillingen SSH port om nødvendig. Installer fail2ban, og sørg for at qemu-guest-agent kjører for rene avslutninger og IP-rapportering.
NAT-portvideresendinger (hvis nødvendig)
Eksponer tjenester fra en NAT-basert virtuell maskin med iptables eller portvideresending via brannmur.
# Example: forward host port 2222 to VM 192.168.122.50:22
sudo iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to 192.168.122.50:22
sudo iptables -A FORWARD -p tcp -d 192.168.122.50 --dport 22 -j ACCEPT
# Persist rules via your distro's firewall toolingSikkerhetskopier, øyeblikksbilder og gjenoppretting
Planlegg sikkerhetskopier utenfor verten. For qcow2-disker, ta øyeblikksbilder i vedlikeholdsvinduer; for LVM-tynne, bruk LVM-snapshots. Test alltid gjenoppretting til en staging VM.
# Basic qcow2 snapshot example
virsh snapshot-create-as vps-01 pre-update --disk-only --atomicLagre sikkerhetskopier på et separat lagringsnivå eller objektlagring. Vurder inkrementell rsync, BorgBackup eller restic for sikkerhetskopier på filnivå i virtuelle maskiner.
Skalering og automatisering
Maler og skyinitiering
Opprett en virtuell maskin med et «golden image» med nødvendige pakker, og sysprep den deretter eller konverter den til en mal for skybasert image-stil. Bruk cloud-init-brukerdata for å standardisere brukere. SSH nøkler, pakker og nettverkskonfigurasjoner på tvers av virtuelle maskiner.
Infrastruktur som kode
Bruk Ansible til å konfigurere verter, og Terraform pluss libvirt-leverandøren til å deklarere og klargjøre virtuelle maskiner. Dette gjør VPS-hostingen din reproduserbar og versjonskontrollert.
Overvåking og ressurskontroller
Aktiver Prometheus node_exporter på verten, og spor CPU stjeletid, diskforsinkelse og minnetrykk. Bruk vCPU festing eller delinger hvis du blander latensfølsomme og bursty-arbeidsbelastninger. Unngå CPU overcommit for databaser.
Feilsøking av vanlige problemer
VM får ikke en IP-adresse
Sjekk nettverksgrensesnittnavnet til den virtuelle maskinen og at riktig nettverk er koblet til (virsh domiflist). For NAT, bekreft at standardnettverket er aktivt. For broer, bekreft at br0 er oppe og at leverandøren ruter delnettet ditt til verten.
Dårlig diskytelse
Bruk virtio-drivere, plasser bilder på NVMe, og unngå dype snapshot-kjeder. For tung I/O, foretrekk LVM-tynn med writeback-cache eller pass-through-disker. Kontroller at ingen RAID-kontrollercache er deaktivert.
Kan ikke koble til via SSH
Bekreft at den virtuelle maskinen kjører (virsh-liste), SSH lytter inne i den virtuelle maskinen, og brannmurregler tillater porten. Bekreft DNAT-regler på NAT. Sørg for riktig gateway og r på broer.DNS hvis e-postlevering er nødvendig.
Alternativer og kontrollpaneler
Proxmox VE (alt-i-ett webgrensesnitt)
Proxmox VE legger et robust webgrensesnitt, klynging og sikkerhetskopier oppå KVM og LXC. Flott for laboratorier med flere noder og små og mellomstore bedrifter. Hvis du ønsker et polert brukergrensesnitt uten å bygge fra bunnen av, er Proxmox et utmerket alternativ.
Kommersielle paneler og fakturering
Verktøy som Virtualizor, SolusVM eller Fleio legger til selvbetjening, fakturering og isolering av flere leietakere. De er nyttige hvis du planlegger å videreselge VPS-instanser.
Foretrekker du administrert VPS?
Hvis du vil ha ytelsen til KVM uten driftskostnadene, YouStable'S managed VPS leverer finjusterte kjerner, NVMe-lagring, snapshots og proaktiv overvåking – alt støttet av hostingeksperter. Migrer når du er klar; vi hjelper deg med å justere størrelsen, sikre og skalere.
Sjekkliste for beste praksis
- Hold verts-OS minimalt, oppdatert og dedikert til virtualisering.
- Bruk KVM med virtio-drivere, qemu-guest-agent og cloud-init.
- Velg NAT for enkelhets skyld; legg nettverksbro når du trenger offentlige IP-adresser.
- Foretrekker NVMe og LVM-tynn for ytelse; overvåker I/O-metning.
- Automatiser provisjonering (Ansible/Terraform) og vedlikehold gylne avbildninger.
- Sikre SSH, håndheve brannmurer og aktiver fail2ban.
- Implementer sikkerhetskopier utenfor verten og testgjenopprettinger regelmessig.
- Overvåke CPU, RAM, diskforsinkelse og nettverksfeil; varsling ved terskler.
- Dokument IP-tildelinger, DNS, og rDNS for hver VPS.
Spørsmål og svar
Hvilken Linux-distribusjon er best for å lage en VPS-vert?
Ubuntu Server LTS og Rocky/AlmaLinux er toppvalg takket være stabilitet og sterk KVM-støtte. Ubuntu tilbyr gode skybaserte initieringsverktøy; Rocky/AlmaLinux er tilpasset RHEL. Velg økosystemet du er mest komfortabel med å automatisere.
KVM vs. VirtualBox vs. VMware: hvilken bør jeg bruke?
KVM er den innebygde Linux-hypervisoren med utmerket ytelse og OSS-verktøy (libvirt/virt-install). VirtualBox er rettet mot stasjonære datamaskiner, ikke servere. VMware ESXi er i bedriftsklassen, men proprietær. For Linux-servere er KVM standarden.
Trenger jeg en bro for å gi hver VPS en offentlig IP?
Ja. Bruk bronettverk (br0) knyttet til ditt fysiske nettverkskort, og sørg for at leverandøren ruter det offentlige delnettet til verten din. NAT fungerer uten bro, men gir private IP-adresser. Du trenger portviderekoblinger for innkommende tilgang.
Hvor mye RAM og CPU bør jeg allokere per VPS?
Tilpass ressurser til arbeidsmengde. For en liten nettstabel, start med 1–2 vCPU og 2–4 GB RAMDatabaser eller Elasticsearch trenger mer. Unngå overcommitment. CPU for latenssensitive tjenester; bruk overvåking for å justere størrelsen over tid.
Hva er den raskeste måten å sette opp flere VPS-instanser?
Bruk skybilder med cloud-init og automatiser med Terraform (libvirt-leverandør) og Ansible. Oppretthold et gyllent bilde, injiser. SSH nøkler og pakker via brukerdata, og deklarer nettverk/lagring i kode for repeterbarhet.
