Virtualizáció

ACS override patch nem működik, nem tudom szeparálni az IOMMU groupokat

Fórumok

Sziasztok!

Az otthoni proxmoxos szerveremen létrehoztam egy VM-et a pfSense-nek és át akarom adni neki a külső PCI expresses hálókártyámat és egy M.2-es wifi adaptert. A probléma az, hogy az alaplapi hálókártya ugyanazon a PCI bridgen van, ezért egy IOMMU group-ba kerülnek, így viszont csak egyszerre mind a 3 eszközt tudom átadni a VM-nek. ACS override patch (pcie_acs_override=downstream,multifunction) sem csinál semmit.

Az alaplapom egy Asrock J3455-ITX, frissítettem a BIOS-t, engedélyeztem az intel virtualizációt és a VT-d is.


dmesg | grep -i iommu
[ 0.000000] Command line: BOOT_IMAGE=/ROOT/pve-1@/boot/vmlinuz-4.15.18-10-pve root=ZFS=rpool/ROOT/pve-1 ro root=ZFS=rpool/ROOT/pve-1 boot=zfs quiet intel_iommu=on pcie_acs_override=downstream,multifunction
[ 0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[ 0.000000] Kernel command line: BOOT_IMAGE=/ROOT/pve-1@/boot/vmlinuz-4.15.18-10-pve root=ZFS=rpool/ROOT/pve-1 ro root=ZFS=rpool/ROOT/pve-1 boot=zfs quiet intel_iommu=on pcie_acs_override=downstream,multifunction
[ 0.000000] DMAR: IOMMU enabled
[ 0.004000] DMAR-IR: IOAPIC id 1 under DRHD base 0xfed65000 IOMMU 1
[ 1.329307] iommu: Adding device 0000:00:00.0 to group 0
[ 1.329322] iommu: Adding device 0000:00:02.0 to group 1
[ 1.329337] iommu: Adding device 0000:00:0e.0 to group 2
[ 1.329360] iommu: Adding device 0000:00:0f.0 to group 3
[ 1.329375] iommu: Adding device 0000:00:12.0 to group 4
[ 1.329429] iommu: Adding device 0000:00:13.0 to group 5
[ 1.329450] iommu: Adding device 0000:00:13.1 to group 5
[ 1.329469] iommu: Adding device 0000:00:13.2 to group 5
[ 1.329488] iommu: Adding device 0000:00:13.3 to group 5
[ 1.329511] iommu: Adding device 0000:00:15.0 to group 6
[ 1.329533] iommu: Adding device 0000:00:1f.0 to group 7
[ 1.329546] iommu: Adding device 0000:00:1f.1 to group 7
[ 1.329557] iommu: Adding device 0000:01:00.0 to group 5
[ 1.329569] iommu: Adding device 0000:02:00.0 to group 5
[ 1.329581] iommu: Adding device 0000:03:00.0 to group 5
[ 1.329596] iommu: Adding device 0000:04:00.0 to group 5

A külső hálózati kártya pedig ide van kötve:

lspci -tv
-[0000:00]-+-00.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Host Bridge
+-02.0 Intel Corporation Device 5a85
+-0e.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Audio Cluster
+-0f.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Trusted Execution Engine
+-12.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SATA AHCI Controller
+-13.0-[01]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
+-13.1-[02]----00.0 Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter
+-13.2-[03]----00.0 ASMedia Technology Inc. ASM1062 Serial ATA Controller
+-13.3-[04]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
+-15.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series USB xHCI
+-1f.0 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series Low Pin Count Interface
\-1f.1 Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series SMBus Controller

lspci -vvnnns 00:13.3
00:13.3 PCI bridge [0604]: Intel Corporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A #4 [8086:5adb] (rev fb) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR-
Latency: 0
Interrupt: pin D routed to IRQ 125
Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: 91300000-913fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort-
BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0
ExtTag- RBE+
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 256 bytes, MaxReadReq 128 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #6, Speed 5GT/s, Width x1, ASPM not supported, Exit Latency L0s <1us, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
Slot #5, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState+
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range ABC, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd+
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
Address: fee002d8 Data: 0000
Capabilities: [90] Subsystem: ASRock Incorporation Atom/Celeron/Pentium Processor N4200/N3350/E3900 Series PCI Express Port A [1849:5adb]
Capabilities: [a0] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v0] #00
Capabilities: [140 v1] Access Control Services
ACSCap: SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd- EgressCtrl- DirectTrans-
ACSCtl: SrcValid- TransBlk- ReqRedir- CmpltRedir- UpstreamFwd- EgressCtrl- DirectTrans-
Capabilities: [150 v0] #00
Capabilities: [200 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=40us PortTPowerOnTime=10us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=0ns
L1SubCtl2: T_PwrOn=10us
Kernel driver in use: pcieport
Kernel modules: shpchp

Esetleg van valakinek valami ötlete, hogy lehetne megoldani, hogy külön IOMMU groupba kerüljenek?

[megoldva] Proxmox külső - belső IP cím azonos

Fórumok

Adott egy Proxmox VE 5.1-41 amely DHCP-n kell hogy IP-t kapjon. Futtat több Windows guest-et, bridge módban szintén DHCP-n saját, egyedi IP-t kapnak.
Kell most egy Debian/Stretch guest is. Szépen feltelepül, Intel E1000 hálózati kártya és egyedi MAC címmel bridge módba állított hálozattal. Gond az, állandóan ugyanazt az IP-t kapja mint a Proxmox maga (ami a vmbr0 címe) hiába a különböző hálózati kártyák és eltérő MAC címek.
Hol vagy min kell állítani hogy a Debian guest egyedi, saját IP-t kapjon?

Erőből kiadtam a 'dhclient -v' parancsot mind a Proxmox-on, mind a Debian guest-en. Helyreállt a rend.

Container mysqld

Fórumok

Sziasztok!

Több helyre is lehetett volna tenni a kérdést, de talán itt a legjobb.

Androidon van egy termux (linux environment), szeretnék ezen mysqt futtatni, ami egy darabig működött, de aztán elromlott...
Van egy Fedora on termux megoldás, ami https://archive.fedoraproject.org/pub/fedora/linux/releases/29/Containe…
container imaget tesz elérhetővé termux (Android) alatt.
Ebben a konténerben telepítek egy mariadb és mariadb-server -t.
Elindítani már nem tudom a mysqld-t, mert az systemd-n keresztül kívánna (?) elindulni, de a systemd nem megy ilyenkor containerből.

A kérdés talán általánosan úgy szól, hogy containerből hogy kell service-t indítani?

Remélem nem mondok hülyeséget, de ez még nem docker, a docker image-t ebből lehet előállítani, de azt már termuxon nem lehet futtatni.

Üdv,
Róbert

Docker self signed registry segítség

Fórumok

Sziasztok,

Egy docker registry-t szeretnék beüzemelni self signed certificate-tel. A lépéseket a docker oldala alapján csináltam:



#!/bin/sh
fqdn=xxx.hu
ip=nn.mm.xx.zz
#creating CA (ca-key.pem)
openssl genrsa -aes256 -out ca-key.pem 4096
#creating CA (ca.pem)
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
#creating server key (server-key.pem)
openssl genrsa -out server-key.pem 4096
#createing cert signing request (server.csr)
openssl req -subj "/CN=${fqdn}" -sha256 -new -key server-key.pem -out server.csr
#sign public key with CA (server-cert.pem)
echo subjectAltName = DNS:${fqdn},IP:${ip},IP:127.0.0.1 >> extfile.cnf
echo extendedKeyUsage = serverAuth >> extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
#create client key (key.pem)
openssl genrsa -out key.pem 4096
#create certificate signing request (client.csr)
openssl req -subj '/CN=client' -new -key key.pem -out client.csr

Ezután a doksi alapján a docker daemon-nal meg kellene etetni a certificate-et:


 dockerd --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H=0.0.0.0:2376

Mivel nekem registry kell nem ezt kellene használnom, hanem a docker registry-t kellene indítani:


docker run -d \
  --restart=always \
  --name registry \
  -v /srv/registry/security:/certs \
  -v /srv/registry/data:/var/lib/registry \
  -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.pem \
  -e REGISTRY_HTTP_TLS_KEY=/certs/server-key.pem \
  -p 5000:5000 \
  registry:2

Ez persze egy másik doksiból származik de csak két file-t kér. Ha elindítom és kérek egy logot, akkor azt mondja, hogy:
private key does not match public key

mit rontok el?

Android emulátor vagy VM

Fórumok

Suliban windows-os (win10 x64) gépeken szeretnénk fejlesztő játékokat futtatni. Szükség lenne egy Android 7.1 környezetre, ill. play áruház stabil működésére.
Mit ajánlanátok? Emulátort? Ha igen milyet? Virtuális gép? Milyen image? Kinek milyen tapasztalatai vannak? Mit érdemes? Természetesen free megoldásokat preferálnék.
Köszönöm!

VirtualBox 6.0 + PhpVirtualbox se Remote Display , se a Console nem enged kapcsolódni VMhez

Fórumok

Sziasztok!

A napokban kellett újratelepítenem egy szervert, amin futott egy Virtualbox 5.0 + Phpvirtualbox 5.0.5, ami szépen működött is.
Az újratelepítést követően Virtualboxbol a 6.0-t tettem fel, Phpvirtualboxbol pedig továbbra is az 5.0.5-öt, de mivel nem egészen működtek együtt kompatibilisen, ezért kipróbáltam a phpvirtualbox developer editiont, amivel már tudtam virtualis gépet létrehozni, és beállítani a specifikációját, viszont csatlakozni hozzá , sem console-on keresztül, sem remote desktoppal nem tudok.

Console-on való csatlakozáskor , ez a hibaüzenet fogad:

Disconnect reason: E: TCP: SECURITY_ERROR Error #2048

Remote Desktop esetén pedig visszautasítja a kapcsolatot a pc, amihez csatlakozni szeretnek.

Próbáltam , ssh tunnelen keresztül csatlakozni a 127.0.0.1:rdpport címen, consoleon, illetve rdp kliens használatával, de nem jártam sikerrel.

Tűzfalon mind a 3 lánc Accepten van.

Régebbi phpvirtualboxban ezzel a verziójú virtualboxal nem jutok odáig, hogy létrehozzak gépet, mert erro hibával leáll a storage létrehozásánál, így tesztelni sem tudom a console, vagy rdp elérést.

Van esetleg ötletetek, hogy , hogyan lehetne orovosolni a problémát, virtualbox downgrade nélkül?

A válaszokat és a segítségeteket előre is köszönöm!

Citrix Workspace app futás után azonnal bezáruló applikációk

Fórumok

Sziasztok. Egy kis problémám akadt egy Citrixes rendszerrel, amin egyedi alkalmazások futnak és .ica fájlokat letöltve lehet csatlakozni hozzájuk. Maga a háttér rendszer a storefront, netscaler és a többi úgy tűnik, hogy szépen üzemel. A netscaler logok alapján a végén csatlakozik is az appokat futtató számítógéphez. Sajnos a szerver, kliens logokban sem találhatóak error bejegyzések és a rendszerben sem történt nagyobb verzióváltás. Viszont nemrég kijött egy frissítés a kliens oldalról, amikor a Citrix Receivert felváltotta a Citrix Workspace az appok futtatásához. Jelenleg fel is van telepítve a legfrissebb aktuális verzió: 18.12.0.12. A hiba jelenség pedig úgy néz ki, hogy a letöltött .ica filet megnyitva egy pillanatra, felvillan valami és be is zárul avval a lendülettel. A gyártó oldalán nincs jelenleg evvel a verzióval kapcsolatban hozzá köthető bugok. Viszont a régebbi verziójú Citrix Receiverrel is hasonló jelenséget produkál. Valakinek van esetleg evvel kapcsolatban valamilyen jellegű tapasztalata vagy tippje, hogy mi okozhatja ezt? Köszönöm előre is a segítő hozzászólásokat.

Kubernetes PersistentVolume konfiguráció

Fórumok

ELK (Elasticsearch+Logstash+Kibana) stacket próbálok létrehozni Kubernetessel. Tisztán tanulási céllal, minden egy minikube VM-ben van, amiben van 25Gb tárhelye.

Amit szeretnék megcsinálni: Logstashel folyamatosan tölteni az adatokat Elasticsearchbe és Kibana-val megjeleníteni végül. Ezen belül skálázódást szeretném kipróbálni, pontosabban a konfigurációját, hogyan tudnám elérni, hogy valami mentén skálázódjon ez a setup. Amire elsőként gondoltam, hogy van egy ES master pod és több data pod, alapból 1Gb tárhellyel. Ha fogytán a hely, a saját autoscale konfigom csinál új data pod-ot és remélhetőleg innentől majd abba mennek az indexek. Így tovább egészen mondjuk 10-20 data pod-ig. Remélem eddig még nem hibás az elepelképzelés.

Ahol megakadtam: hiába van elég sok jó leírás és példa konfiguráció a neten, rögtön egy elég alap dolgot nem sikerült megértenem. Csináltam egy 20Gb-s PersistentVolume-ot. Ez a minikube

/usr/share/elasticsearch/data

könyvtárat használja. Ezek után megcsinálom a StatefulSet-et, ez lenne az, ami meg a megfelelő mennyiségű (egyelőre fix számú) data pod-ot létrehozza. Ennek a StatefulSet-nek a leírásába raktam a

volumeClaimTemplates

-et ami az előbbi PersistentVolume-ot hivatkozza, továbbá beállítottam, hogy 1Gb-t igényeljen pod-onként. Ez azt eredményezi, hogy 1 pod elkészül, az összes többi pedig pending állapotban marad mert nem talál a PersistentVolumeClaim-hez PersistentVolume-ot.

Kérdésem: a PersistentVolume-ok és PersistentVolumeClaim-ok között 1:1 megfeleltetés kell legyen? Ebben az esetben mi történik

/usr/share/elasticsearch/data

könyvtárban? Esetleg csináljak 20 könyvtárat minden egyes PersistentVolume-nak és ezek közül fognak majd "válogatni" a pod-ok mikor létrejönnek? Így kellene ennek működni, vagy alapból félreértettem a Kubernetes működését?
Köszönöm előre is a segítséget!