Wybór sprzętu wirtualnego: to, co pokazujesz gościowi, decyduje o jego szybkości

Sprzęt maszyny wirtualnej nie jest faktem, tylko wyborem. Emulowany stary sprzęt jest narzędziem na dzień instalacji, a nie na całe życie maszyny.

AtlasPVE ·

Ten wpis odpowiada na

  • proxmox virtio czy e1000
  • proxmox maszyna wolna sieć
  • proxmox wydajność dysku iothread
  • proxmox sterownik virtio windows
  • proxmox wybór wirtualnej karty sieciowej

Sprzęt maszyny wirtualnej nie jest faktem, tylko wyborem. To ty decydujesz, jaką kartę sieciową i jaki kontroler dysków pokazuje się gościowi. A ta decyzja wprost ustala szybkość maszyny.

Dwie rodziny

Emulowany sprzęt rzeczywisty. Gościowi pokazuje się fizyczną kartę, którą zna od lat. Ponieważ już ją zna, niczego dodatkowego nie trzeba instalować.

Sprzęt zaprojektowany do wirtualizacji. Gościowi pokazuje się urządzenie mówiące, że jest wirtualne. Ponieważ gość o tym wie, rozmawia językiem krótkim i bezpośrednim.

Różnica ujawnia się w wydajności. Przy karcie emulowanej każdy pakiet przechodzi przez warstwę naśladującą zachowanie sprzętu, którego naprawdę nie ma. Przy urządzeniu zaprojektowanym do wirtualizacji tego naśladowania nie ma.

Po co istnieje emulacja

Dla zgodności. Stary system operacyjny bez sterowników wirtualnych patrzy na kartę emulowaną, mówi, że tę zna, i wstaje bez kłopotu.

Emulowany sprzęt jest więc narzędziem na dzień instalacji. Po to, żeby maszyna wstała, żebyśmy mogli wejść do środka i zainstalować sterowniki.

Prawdziwa sprawa: nikt nie wraca

Tu jest problem. Maszyna jest zainstalowana, działa, wykonuje swoją pracę. Nikt nie mówi, że sterowniki wirtualne są już na miejscu, więc zmienię sprzęt.

Wynik: przez miesiące, czasem lata, ta maszyna pracuje dalej na tymczasowym sprzęcie wybranym w dniu instalacji. Nic nie zgłasza błędu. Jest po prostu wolniejsza, niż powinna być.

Reguła jest prosta: emulowany sprzęt to narzędzie na dzień instalacji, a nie na całe życie maszyny. Zmień go w chwili, gdy sterowniki są już wewnątrz gościa.

Dwa ustawienia, do których nikt nie wraca

Model karty sieciowej. Stare modele kart nadal da się wybrać i po wybraniu działają. Działanie nie znaczy, że są właściwe.

Uruchamianie kolejki dyskowej na własnym wątku. Sprawia to, że żądania dyskowe nie czekają na główne przetwarzanie maszyny. Przy wyłączonym wszystko nadal działa, tylko w chwilach obciążenia czekają na siebie nawzajem.

Oba zostawiane są przy wartościach domyślnych podczas instalacji i nigdy więcej nieotwierane.

I lekcja o pomiarze: suma nie jest objawem

To najbardziej ogólna część tego wpisu i nie dotyczy wyłącznie sprzętu wirtualnego.

Karty sieciowe mają licznik odrzuconych pakietów, a ten licznik nigdy nie jest zerowany. Jeśli maszyna, która rok temu miała jedną złą godzinę, pokazuje dwieście odrzuconych pakietów, ta liczba siedzi tam na zawsze.

Spojrzenie na tę liczbę i powiedzenie, że ta maszyna gubi pakiety, jest błędne. Właściwym pytaniem jest, czy gubi teraz, czyli nie suma, tylko tempo. Ile pakietów ginie w ciągu minuty?

To samo rozróżnienie pojawiło się przy zużyciu dysku: nie procent, tylko nachylenie. Da się zapisać jako regułę ogólną: narosła suma mówi o przeszłości, tempo mówi o dziś. Decyzje podejmuje się, patrząc na dziś.

Co robi Atlas

Atlas rozpoznaje stare modele kart sieciowych i oznacza, gdy maszyna nadal używa jednego z nich. W ten sam sposób pokazuje, gdy kolejka dyskowa nie działa na własnym wątku.

Oba są na poziomie podpowiedzi, a nie ostrzeżenia. Powód jest ten sam co w poprzednim wpisie: to nie są rzeczy zepsute, mogłyby po prostu być lepsze. Nazywanie ostrzeżeniem czegoś, co nie jest zepsute, dewaluuje ostrzeżenia prawdziwe.

Przy utracie pakietów produkt stosuje powyższą lekcję o pomiarze: nie patrzy na narosły licznik, tylko na tempo gubienia z ostatnich kilku minut. Jeśli ginie co najmniej jeden pakiet na minutę, karta się pojawia; gdy gubienie ustaje, karta znika sama.

Powód tego jest zapisany w kodzie: przez licznik, który nigdy nie jest zerowany, maszyna, która kiedyś zgubiła dwieście pakietów, wyglądałaby na winną dożywotnio. Zadawane pytanie brzmi nie, czy gubiła pakiety w przeszłości, tylko czy gubi je teraz.

Źródła

Własna dokumentacja Proxmoksa. Po angielsku i to ona ma ostatnie słowo w tej sprawie.

Powiązane wpisy

Jak to wygląda wewnątrz Atlasa?

Przejdź do strony produktu