Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - zigi

Stran: [1]
1
Server / Re:Proxmox a VMs si navzájem ovlivňují CPU
« kdy: 27. 01. 2023, 02:26:59 »
Dobrý den,

  pokud Vám na hypervizoru běží numad zkuste vypnout - systemctl stop numad.service.

Máte velká VMs - hodně CPU a předpokládám i hodně RAM a pak se to navzájem pere, protože se to snaží přesouvat proces na CPU a jeho lokální RAM.

2
Citace
Bud pouzij homogenni server pool, a pokud to nejde, tak si zjisti co mas nejhorsi zelezo a podle toho nakonfiguruj ty ostatni systemy.

jj, tohle je mi jasný, viz virsh cpu-baseline a virsh cpu-compare

Citace
Co jsi nezminil je, zda se nektere featury daji zapnout nad ramec hosta, ze by to pak bezelo v emulaci.. ktera bude mit velikej vykonnostni dopad. Nebo je guest vzdy subset z hosta pri "hw virtualizaci" ?

ano, dle dokumentace k Libvirtu by měly jit zapnout i featury, které se pak emulují, ale popravdě, jak se toto nastavuje/povoluje jsem ještě z dokumentace ne zcela pochopil... nyní řeším jen subset features z hosta do guesta

To co mi přijde skvělé a zároveň matoucí/zavádějící je to, že pro kontrolu features/flags host (fyzického) CPU a nastavení features/flags CPU guesta (virtuálního) se používají ty samé konfigurační elementy.

Při konfiguraci CPU si mohu vybrat z předdefinovaných obecných CPU modelů, u kterých je pak případně potřeba pozapínat další features, hlavně ty spojené s Meltdown/Spectre apod. Když vyberu host-model CPU, tak Libvirt automaticky vybere nejpodobnější obecný CPU model a automagicky pozapíná další features podporované hostitelským CPU včetně "ochran" pro Meltdown/Spectre apod. a pak ještě komunikuje s daným qemu-kvm procesem a upravuje definici CPU běžícího VM, podle toho, jak se to qemu-kvm podařio spustit... režim CPU host-passthrough jsem zatím nezkoušel, protože chci zachovat možnost live migrace.

Problém je v tom, že podpora pro dané features/flags musí lícovat mezi Libvirt a QEMU/KVM - když uvedu vybrané CPU features/flags v konfiguraci VM v Libvirtu a ten je pak předá QEMU/KVM, tak to ještě neznamená, že budou dostupné ve virtuálním CPU ve spuštěném VM ač je i hostitelské (fyzické) CPU podporuje. Některá CPU features/flags závisí na jiných, např. nemá cenu zapínat avx bez xsave (možná ani neprojde pokus o nastavení v konfiguráku, nezkoušel jsem), jiná zase nejsou vhodné ve spojení s live migrací.

Určitého souladu mezi Libvirtem a QEMU/KVM se dá asi docílit vhodnou kombinací atributů match, check a fallback.

Proto se ptám po nějakém přehledu/tabulce, ze kterého by to bylo jednoduše odvoditelné. Obávám se, ale že mi nezbude nic jiného, než se tou magickou autokonfigurací prokousat ve zdrojácích Libvirtu a QEMU/KVM.


Uvedu příklad:

- flags fyzického CPU - Intel(R) Xeon(R) CPU E5-2620v3:
Kód: [Vybrat]
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts md_clear spec_ctrl intel_stibp flush_l1d

- features virtuálního CPU z Libvirtu:
Kód: [Vybrat]
<cpu mode='custom' match='exact' check='partial'>
  <model fallback='allow'>Haswell-IBRS</model>
  <vendor>Intel</vendor>
  <feature policy='require' name='vme'/>
  <feature policy='require' name='ds'/>
  <feature policy='require' name='acpi'/>
  <feature policy='require' name='ss'/>
  <feature policy='require' name='ht'/>
  <feature policy='require' name='tm'/>
  <feature policy='require' name='pbe'/>
  <feature policy='require' name='dtes64'/>
  <feature policy='require' name='monitor'/>
  <feature policy='require' name='ds_cpl'/>
  <feature policy='require' name='vmx'/>
  <feature policy='require' name='smx'/>
  <feature policy='require' name='est'/>
  <feature policy='require' name='tm2'/>
  <feature policy='require' name='xtpr'/>
  <feature policy='require' name='pdcm'/>
  <feature policy='require' name='dca'/>
  <feature policy='require' name='osxsave'/>
  <feature policy='require' name='f16c'/>
  <feature policy='require' name='rdrand'/>
  <feature policy='require' name='arat'/>
  <feature policy='require' name='tsc_adjust'/>
  <feature policy='require' name='md-clear'/>
  <feature policy='require' name='stibp'/>
  <feature policy='require' name='ssbd'/>
  <feature policy='require' name='xsaveopt'/>
  <feature policy='require' name='pdpe1gb'/>
  <feature policy='require' name='abm'/>
  <feature policy='disable' name='hle'/>
  <feature policy='disable' name='rtm'/>
  <feature policy='require' name='hypervisor'/>
</cpu>

- odpovídající parametry pro qemu-kvm (navíc je pseudo flag check) - po spustění přes libvirt:
Kód: [Vybrat]
# /usr/libexec/qemu-kvm -name centos7.0 -S -machine pc-i440fx-rhel7.0.0,accel=kvm -cpu Haswell-IBRS,+vme,+ds,+acpi,+ss,+ht,+tm,+pbe,+dtes64,+monitor,+ds_cpl,+vmx,+smx,+est,+tm2,+xtpr,+pdcm,+dca,+osxsave,+f16c,+rdrand,+arat,+tsc_adjust,+md-clear,+stibp,+ssbd,+xsaveopt,+pdpe1gb,+abm,-hle,-rtm,check -m 1024 ...
CPU feature arat not found
CPU feature tsc_adjust not found
warning: host doesn't support requested feature: CPUID.01H:EDX.ds [bit 21]
warning: host doesn't support requested feature: CPUID.01H:EDX.acpi [bit 22]
warning: host doesn't support requested feature: CPUID.01H:EDX.ht [bit 28]
warning: host doesn't support requested feature: CPUID.01H:EDX.tm [bit 29]
warning: host doesn't support requested feature: CPUID.01H:EDX.pbe [bit 31]
warning: host doesn't support requested feature: CPUID.01H:ECX.dtes64 [bit 2]
warning: host doesn't support requested feature: CPUID.01H:ECX.monitor [bit 3]
warning: host doesn't support requested feature: CPUID.01H:ECX.ds_cpl [bit 4]
warning: host doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
warning: host doesn't support requested feature: CPUID.01H:ECX.smx [bit 6]
warning: host doesn't support requested feature: CPUID.01H:ECX.est [bit 7]
warning: host doesn't support requested feature: CPUID.01H:ECX.tm2 [bit 8]
warning: host doesn't support requested feature: CPUID.01H:ECX.xtpr [bit 14]
warning: host doesn't support requested feature: CPUID.01H:ECX.pdcm [bit 15]
warning: host doesn't support requested feature: CPUID.01H:ECX.dca [bit 18]
warning: host doesn't support requested feature: CPUID.01H:ECX.osxsave [bit 27]
- ač je ve warningu uvedeno "host doesn't support..." dle mne je tím myšleno guest
  ... tyto flagy pak nejsou uvedeny u virtuálního CPU



3
Server / CPU features/flags - host vs. guest (KVM/Libvirt/QEMU)
« kdy: 06. 09. 2022, 00:18:47 »
Zdravím,

  nevíte někdo o nějakém přehledu, tabulce (ideálně co nejvíc aktuální) s jednotlivými CPU features/flags pro x86_64 (prioritně Intel), ve kterém by bylo uvedeno:
  • popis jednotlivých features/flags
  • závislosti mezi jednotlivými features/flags - např. avx na xsave
  • jaké features/flags se kontrolují na hypervizoru (host), ale nepropagují se do guesta - např. acpi, ds, monitor, pbe, tm atd. - některé vymaskuje/zakáže [(ne)jsou podporovány] Libvirt, jiné zase KVM/QEMU
  • jaké features/flags aktivní u guesta omezují určité chování/možnosti virtualizace jako třeba live migraci - např. invtsc, xsaves
  • zatím jsem našel jen https://github.com/libvirt/libvirt/blob/master/src/cpu_map/x86_features.xml - feature s migratable='no'
Chtěl bych vyladiť konfiguraci CPU pro virtuální servery, tzn. zvolit základní CPU model a zapnout/vypnout potřebné či vhodné features/flags při zachování možnosti live migrace. Unikají mi ale výše uvedené souvislosti, protože ne všechny uvedené features v rámci cpu elementu v definici VM (domény v Libvirtu) jsou pak vidět uvnitř VM v /proc/cpuinfo. Samozřejmě vím o dalších souvisejících příkazech, registrech atd. jako "virsh capabilities", MSR, fixech v mikrokódu CPU, host-model či host-passthrough CPU...

Předem díky

4
Dobrý den,

  měl bych zájem. Můžu osobně vyzvednout v Praze a v Liberci. Prosím, pošlete mi detaily do mailu.

Děkuji K. Ziegler

5
Sítě / Implementace BCP38 na linuxovém firewallu
« kdy: 08. 09. 2020, 09:05:09 »
Ahoj,

  jak správně na linuxovém routeru/firewallu implementovat BCP38 pomocí iptables/nftables, rp_filter, route (blackholes) apod.?

Předem díky

  Zigi

6
Hardware / Re:HW RAID10 a přidání disků za běhu
« kdy: 06. 02. 2017, 19:13:02 »
Ahoj,

  dle mych zkusenosti nelze HW RAID 10 na radicich od LSI (Avagotech/Broadcom) pomoci MegaCLI popr storcli rozsirit. Ani pridanim dalsiho paru disku a ani vymenou disku za vetsi.

LSI to neumi - https://www.broadcom.com/support/knowledgebase/1211161503168/how-to-expand-an-array-on-megaraid-controllers-adding-drives-to-&dskeyword=expand&dsperpage=10&tab=search
Adaptec to asi umi - http://ask.adaptec.com/app/answers/detail/a_id/15127/~/how-to-expand-the-capacity-of-a-raid-array-using-adaptec%2Ficp-or-maxview-storage

Dale tam je limit na pocet spanu:
Citace
RAID 10 supports a maximum of 8 spans, with a maximum of 32 drives per span. You must use an even number of drives in each RAID 10 virtual drive in the span.
Ale trochu nechapu tech 32 disku per span. Mozna, pri vetsim poctu disku, se to pak konfiguruje jako RAID100.

V pripade LSI se da vyuzit figle a to pouzit RAID1, ktery se pro vetsi pocet disku jak 2 chova jako RAID1E a rozsirovat lze vzdy po 2 discich - viz ten odkaz na broadcom. Pak se to vlastne chova jako takova RAID10.

Stran: [1]