DONOT move if in a cluster
vi /etc/network/interfaces
vi /etc/hostname
hostname -f
vi /etc/hosts
vi /etc/issue
reboot
resource maps based on https://netstack.org/docs/lan/README.md
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/mikrotik-routeros.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/plex.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu.sh)"
web proxy | Link | type | description |
---|---|---|---|
https://ng.ns.lan/ | http://192.168.2.1/ | static | docs ng.ns.lan mikrotik vrrp ns gw |
truenas | http://192.168.2.2/ | static | truenas sg on subnet |
proxmox | https://192.168.2.3:8006/ | static | proxmox cg subnet |
http://192.168.2.103/ | static | ||
http://192.168.2.103:81 | macDHCP | ||
portainer admin | http://192.168.2.103:9000 | macDHCP | portainer admin on proxmox docker 103 |
http://192.168.2.103:32400 | ~~macDHCP | 32400 on IP plex on portainer~~ | |
http://192.168.2.2:32500 | static | ||
nswin11 | http://192.168.2.195 | static | windows 11 vm-400 |
cg Name | CIDR | gw | pt/slv/brg | ID | type | description |
---|---|---|---|---|---|---|
enp60f0 | - | - | - | - | Network Device | phy port left |
enp60f1 | - | - | - | - | Network Device | phy port right |
vmbr0 | 192.168.2.3/24 | 192.168.2.1 | enp60f0 | - | Linux Bridge | vio bridge |
vmbr1 | 192.168.254.0/24 | - | enp60f1 | - | Linux Bridge | vio bridge |
ct-100 | ssh -p 22 admin@192.168.2.100 | gw | pt/slv/brg | ID | type | description |
eth0 | 192.168.2.100/24 | 192.168.2.1 | vmbr0 | net0 | ct-100 eth0 | ct-100 (ubuntu) eth0 |
ct-103 | ssh -p 22 admin@192.168.2.103 | gw | pt/slv/brg | ID | type | description |
eth0 | 192.168.2.103/24 | 192.168.2.1 | vmbr0 | net0 | ct-103 eth0 | ct-103 (docker) eth0 |
vm-101 | ssh -p 22 admin@192.168.2.4 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ether2 | 192.168.254.195/24 | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (ngMiktrotik) ether2 |
ether3 | - | - | vmbr0 | net2 | vm-101 ether3 | vm-101 (ngMiktrotik) ether3 |
vm-102 | ssh -p 22 admin@192.168.2.2 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (truenas) ether1 |
ether2 | - | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (truenas) ether2 |
vm-400 | ssh -p 22 admin@192.168.2.4 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ssh -p 22 admin@192.168.2.100
ssh -p 22 admin@192.168.2.103
ssh -p 22 admin@192.168.2.4
ssh -p 22 admin@192.168.254.195
apt install lshw
lshw -class disk -class storage
lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm'
root@cg:~# lshw -class disk -class storage
*-sata
description: SATA controller
product: 88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo
vendor: Marvell Technology Group Ltd.
physical id: 0
bus info: pci@0000:08:00.0
logical name: scsi7
logical name: scsi13
version: 11
width: 32 bits
clock: 33MHz
capabilities: sata pm msi pciexpress ahci_1.0 bus_master cap_list rom emulated
configuration: driver=ahci latency=0
resources: irq:33 ioport:c040(size=8) ioport:c030(size=4) ioport:c020(size=8) ioport:c010(size=4) ioport:c000(size=16) memory:fb410000-fb4107ff memory:fb400000-fb40ffff
*-disk
description: ATA Disk
product: WDC WDBNCE5000P
vendor: Western Digital
physical id: 0
bus info: scsi@7:0.0.0
logical name: /dev/sde
version: 00WD
serial: 19272Q446913
size: 465GiB (500GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=d49c6931-4d94-4061-928f-e93b31b01298 logicalsectorsize=512 sectorsize=512
*-sata
description: SATA controller
product: C600/X79 series chipset 6-Port SATA AHCI Controller
vendor: Intel Corporation
physical id: 1f.2
bus info: pci@0000:00:1f.2
logical name: scsi2
logical name: scsi3
logical name: scsi4
logical name: scsi5
version: 06
width: 32 bits
clock: 66MHz
capabilities: sata msi pm ahci_1.0 bus_master cap_list emulated
configuration: driver=ahci latency=0
resources: irq:32 ioport:f090(size=8) ioport:f080(size=4) ioport:f070(size=8) ioport:f060(size=4) ioport:f020(size=32) memory:fb625000-fb6257ff
*-disk:0
description: ATA Disk
product: ST4000DM005-2DP1
physical id: 0
bus info: scsi@2:0.0.0
logical name: /dev/sda
version: 0001
serial: ZDH1XZRW
size: 3726GiB (4TB)
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
*-disk:1
description: ATA Disk
product: WDC WD40EZRZ-00G
vendor: Western Digital
physical id: 1
bus info: scsi@3:0.0.0
logical name: /dev/sdb
version: 0A80
serial: WD-WCC7K7ZHJNLJ
size: 3726GiB (4TB)
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
*-disk:2
description: ATA Disk
product: ST4000DM005-2DP1
physical id: 2
bus info: scsi@4:0.0.0
logical name: /dev/sdc
version: 0001
serial: ZGY0H6BY
size: 3726GiB (4TB)
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
*-disk:3
description: ATA Disk
product: ST4000DM005-2DP1
physical id: 3
bus info: scsi@5:0.0.0
logical name: /dev/sdd
version: 0001
serial: ZGY0H29Y
size: 3726GiB (4TB)
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=4096
root@cg:~#
root@cg:~# qm set 102 -scsi1 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH1XZRW
update VM 102: -scsi1 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZDH1XZRW
root@cg:~# qm set 102 -scsi2 /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K7ZHJNLJ
update VM 102: -scsi2 /dev/disk/by-id/ata-WDC_WD40EZRZ-00GXCB0_WD-WCC7K7ZHJNLJ
root@cg:~# qm set 102 -scsi3 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZGY0H6BY
update VM 102: -scsi3 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZGY0H6BY
root@cg:~# qm set 102 -scsi4 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZGY0H29Y
update VM 102: -scsi4 /dev/disk/by-id/ata-ST4000DM005-2DP166_ZGY0H29Y
root@cg:~#
cg Name | CIDR | gw | pt/slv/brg | ID | type | description |
---|---|---|---|---|---|---|
enp60f0 | - | - | - | - | Network Device | phy port left |
enp60f1 | - | - | - | - | Network Device | phy port right |
vmbr0 | 192.168.2.3/24 | 192.168.2.1 | enp60f0 | - | Linux Bridge | vio bridge |
vmbr1 | 192.168.254.0/24 | - | enp60f1 | - | Linux Bridge | vio bridge |
ct-100 | ssh -p 22 admin@192.168.2.100 | gw | pt/slv/brg | ID | type | description |
eth0 | 192.168.2.100/24 | 192.168.2.1 | vmbr0 | net0 | ct-100 eth0 | ct-100 (ubuntu) eth0 |
ct-103 | ssh -p 22 admin@192.168.2.103 | gw | pt/slv/brg | ID | type | description |
eth0 | 192.168.2.103/24 | 192.168.2.1 | vmbr0 | net0 | ct-103 eth0 | ct-103 (docker) eth0 |
vm-101 | ssh -p 22 admin@192.168.2.4 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ether2 | 192.168.254.195/24 | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (ngMiktrotik) ether2 |
ether3 | - | - | vmbr0 | net2 | vm-101 ether3 | vm-101 (ngMiktrotik) ether3 |
vm-102 | ssh -p 22 admin@192.168.2.2 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (truenas) ether1 |
ether2 | - | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (truenas) ether2 |
vm-400 | ssh -p 22 admin@192.168.2.4 | gw | pt/slv/brg | ID | type | description |
ether1 | 192.168.2.4/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ssh -p 22 admin@192.168.2.100
ssh -p 22 admin@192.168.2.103
ssh -p 22 admin@192.168.2.4
ssh -p 22 admin@192.168.254.195
IP -> Firewall | NAT tab |
ssh -p 22 admin@192.168.2.11
ssh -p 22 admin@192.168.254.125
nsMikrotik | CIDR | gw | pt/slv/brg | ID | type | description |
---|---|---|---|---|---|---|
ether1 | 192.168.254.1/24 | 192.168.2.1 | vmbr1 | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ether2 | - | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (ngMiktrotik) ether2 |
ether3 | - | - | vmbr0 | net2 | vm-101 ether3 | vm-101 (ngMiktrotik) ether3 |
ssh -p 22 admin@192.168.2.12
ssh -p 22 admin@192.168.254.125
nsbuMikrotik | CIDR | gw | pt/slv/brg | ID | type | description |
---|---|---|---|---|---|---|
ether1-gateway | 192.168.254.1/24 | 192.168.2.1 | bridge-local | net0 | vm-101 ether1 | vm-101 (ngMiktrotik) ether1 |
ether2 | - | - | vmbr1 | net1 | vm-101 ether2 | vm-101 (ngMiktrotik) ether2 |
ether3 | - | - | vmbr0 | net2 | vm-101 ether3 | vm-101 (ngMiktrotik) ether3 |
stateDiagram
[*] --> WAN<br>LAN : 192.168.254.0/24
WAN<br>LAN --> ng<br>Mikrotik : 192.168.2.11 <br> 192.168.2.1 vIP <br> 49 VRID <br> priority=100 <br> 00.00.5E.00.00.31 vMAC
WAN<br>LAN --> ngbu<br>Mikrotik : 192.168.2.12 <br> 192.168.2.1 vIP <br> 49 VRID <br> priority=254 <br> 00.00.5E.00.00.31 vMAC
ng<br>Mikrotik --> LAN<br>client : clinet 192.168.2.120/24
/ip address add address=192.168.2.11/24 interface=ether1
/interface vrrp add interface=ether1 vrid=49 priority=254
/ip address add address=192.168.2.1/32 interface=vrrp1
/ip address add address=192.168.2.12/24 interface=ether1-gateway
/interface vrrp add interface=ether1 vrid=49
/ip address add address=192.168.2.1/32 interface=vrrp1
/
First of all, check if both routers have correct flags at VRRP interfaces. On router R1 it should look like this
/interface vrrp print detail
0 RM name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:31 arp=enabled interface=ether1 vrid=49
priority=254 interval=1 preemption-mode=yes authentication=none password="" on-backup=""
on-master="" version=3 v3-protocol=ipv4
/interface vrrp print detail
0 B name="vrrp1" mtu=1500 mac-address=00:00:5E:00:01:31 arp=enabled interface=ether1 vrid=49
priority=100 interval=1 preemption-mode=yes authentication=none password=""
on-backup="" on-master=" version=3 v3-protocol=ipv4
[admin@client] > /ping 192.168.1.1
192.168.1.254 64 byte ping: ttl=64 time=10 ms
192.168.1.254 64 byte ping: ttl=64 time=8 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 8/9.0/10 ms
[admin@client] /ip arp> print
Flags: X - disabled, I - invalid, H - DHCP, D - dynamic
# ADDRESS MAC-ADDRESS INTERFACE
...
1 D 192.168.1.1 00:00:5E:00:01:31 bridge1
qemu-img convert \
-f raw \
-O qcow2 \
/root/chr-6.44.3.img \
/var/lib/vz/images/150/vm-150-disk-1.qcow2
qm create 101 --name ngMikrotik --net0 virtio,bridge=vmbr1 --bootdisk virtio0 --ostype l26 --memory 256 --onboot no --sockets 1 --cores 1 --virtio0 local:101/vm-101-disk-1.qcow2
qm create 150 \
–name chr-cust1 \
–net0 virtio,bridge=vmbr0 \
–bootdisk virtio0 \
–ostype l26 \
–memory 256 \
–onboot no \
–sockets 1 \
–cores 1 \
–virtio0 local:150/vm-150-disk-1.qcow2
qm create 101 --name ngMikrotik --net0 virtio,bridge=vmbr1 --bootdisk virtio0 --ostype l26 --memory 256 --onboot
no --sockets 1 --cores 1 --virtio0 local:101/vm-101-disk-1.qcow2
root@cg:~# mkdir /var/lib/vz/template/qcow/
root@cg:~# qemu-img convert -f raw -O qcow2 /var/lib/vz/template/iso/chr-7.8.img /var/lib/vz/template/qcow/mikrotik-chr-7-8.qcow2
qm create 101 --name ngMikrotik --net0 virtio,bridge=vmbr1 --bootdisk virtio0 --ostype l26 --memory 256 --onboot
no --sockets 1 --cores 1
root@cg:~# cd /var/lib/vz/template/qcow/
root@cg:/var/lib/vz/template/qcow# qm importdisk 101 mikrotik-chr-7-8.qcow2 local
importing disk 'mikrotik-chr-7-8.qcow2' to VM 101 ...
Formatting '/var/lib/vz/images/101/vm-101-disk-0.raw', fmt=raw size=134217728 preallocation=off
transferred 0.0 B of 128.0 MiB (0.00%)
transferred 6.7 MiB of 128.0 MiB (5.21%)
transferred 10.5 MiB of 128.0 MiB (8.21%)
transferred 17.0 MiB of 128.0 MiB (13.27%)
transferred 22.2 MiB of 128.0 MiB (17.38%)
transferred 28.7 MiB of 128.0 MiB (22.43%)
transferred 35.2 MiB of 128.0 MiB (27.49%)
transferred 41.7 MiB of 128.0 MiB (32.54%)
transferred 48.1 MiB of 128.0 MiB (37.60%)
transferred 54.6 MiB of 128.0 MiB (42.65%)
transferred 61.1 MiB of 128.0 MiB (47.71%)
transferred 67.3 MiB of 128.0 MiB (52.61%)
transferred 70.6 MiB of 128.0 MiB (55.13%)
transferred 77.6 MiB of 128.0 MiB (60.66%)
transferred 84.1 MiB of 128.0 MiB (65.72%)
transferred 89.6 MiB of 128.0 MiB (69.98%)
transferred 96.1 MiB of 128.0 MiB (75.04%)
transferred 102.5 MiB of 128.0 MiB (80.09%)
transferred 109.0 MiB of 128.0 MiB (85.15%)
transferred 115.5 MiB of 128.0 MiB (90.21%)
transferred 119.1 MiB of 128.0 MiB (93.05%)
transferred 125.6 MiB of 128.0 MiB (98.10%)
transferred 127.0 MiB of 128.0 MiB (99.21%)
transferred 128.0 MiB of 128.0 MiB (100.00%)
transferred 128.0 MiB of 128.0 MiB (100.00%)
Successfully imported disk as 'unused0:local:101/vm-101-disk-0.raw'
root@cg:/var/lib/vz/template/qcow#
tracert cf.christrees.com
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/ubuntu-v5.sh)"
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker-v5.sh)"
https://github.com/automatic-ripping-machine/automatic-ripping-machine
root@cg:~# ls /var/lib/vz/template/iso/
Youtube - Before I do anything on Proxmox, I do this first commandline document Techno Tim - Document quickstart documents Techno Tim - launchpad
# not for production
deb http://download.proxmox.com/debian bullseye pve-no-subscription
# deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
GRUB_CMDLINE_LINUX=""
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
root@cg:~# lspci -v
01:00.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Device 30de:0000
Flags: bus master, fast devsel, latency 0, IRQ 32, IOMMU group 1
Memory at 96000000 (32-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=64M]
Memory at 94000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at 2000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouvea
root@cg:~# lspci -n -s 01:00
01:00.0 0300: 10de:06fd (rev a1)
echo "options vfio-pci ids=10de:06fd disable_vga=1"> /etc/modprobe.d/vfio.conf
update-initramfs -u
reset
nsadmin@nsweb100:~$ sudo apt update && sudo apt dist-upgrade
nsadmin@nsweb100:~$ sudo dpkg --configure -a
nsadmin@nsweb100:~$ systemctl status qemu-guest-agent.service
● qemu-guest-agent.service - QEMU Guest Agent
Loaded: loaded (/lib/systemd/system/qemu-guest-agent.service; static; vendor preset: enabled)
Active: inactive (dead)
nsadmin@nsweb100:~$ sudo poweroff
nsadmin@nsweb100:~$ apt search cloud-init
nsadmin@nsweb100:~$ cd /etc/ssh
nsadmin@nsweb100:/etc/ssh$ sudo rm ssh_host_*
[sudo] password for nsadmin:
nsadmin@nsweb100:/etc/ssh$
nsadmin@nsweb100:/etc/ssh$ cat /etc/machine-id
685018d745174d9e95f638d501a91d42
nsadmin@nsweb100:/etc/ssh$ sudo truncate -s 0 /etc/machine-id
nsadmin@nsweb100:/etc/ssh$ ls -l /var/lib/dbus/machine-id
lrwxrwxrwx 1 root root 15 Feb 22 22:25 /var/lib/dbus/machine-id -> /etc/machine-id
nsadmin@nsweb100:/etc/ssh$ sudo apt clean
nsadmin@nsweb100:/etc/ssh$ sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
nsadmin@nsweb100:/etc/ssh$ sudo poweroff
01:46 - Plex Install
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
sudo ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
sudo apt update
sudo apt install plexmediaserver
sudo apt upgrade
06:20 - Plex Mount Network Share
nsadmin@nsweb100:~$ sudo vi /etc/fstab
# PlexMedia mount
//192.168.2.2/cfplex /PlexMedia cifs username=xxx,password=xxx 0 0
nsadmin@nsweb100:~$ cd /PlexMedia
nsadmin@nsweb100:/PlexMedia$ ls
'Application Support' DVRAnimation DVRDrWho DVRSitCom DVRStarTrek plexdatabackup
09:22 - CPU Transcoding 11:19 - PCIe Passthrough - ProxMox settings
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
GRUB_CMDLINE_LINUX=""
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
root@cg:~# lspci -v
01:00.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Device 30de:0000
Flags: bus master, fast devsel, latency 0, IRQ 32, IOMMU group 1
Memory at 96000000 (32-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=64M]
Memory at 94000000 (64-bit, non-prefetchable) [size=32M]
I/O ports at 2000 [size=128]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouvea
root@cg:~# lspci -n -s 01:00
01:00.0 0300: 10de:06fd (rev a1)
echo "options vfio-pci ids=10de:06fd disable_vga=1"> /etc/modprobe.d/vfio.conf
update-initramfs -u
reset
16:37 - PCIe Passthrough - VM Settings
nsadmin@nsweb100:~$ lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
00:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
00:08.0 Communication controller: Red Hat, Inc. Virtio console
00:10.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1)
00:12.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:1e.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:1f.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
wget https://us.download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run
sudo chmod +x NVIDIA-Linux-x86_64-###.##.##.run
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo bash -c "echo options nouveau modset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
sudo update-initramfs -u
sudo reboot
sudo apt update
sudo apt install build-essential libglvnd-dev pkg-config
./NVIDIA-Linux-x86_64-###.##.##.run
lspci -v
Kernel driver in use: nvidia
nsadmin@nsweb100:~$ nvidia-smi
Unable to determine the device handle for GPU 0000:00:10.0: Unknown Error
sudo halt -p
cd /etc/pve/qemu-server
vi ###.conf (# is the VM identifier of your Plex server)
root@cg:~# cd /etc/pve/qemu-server
root@cg:/etc/pve/qemu-server# ls
100.conf 901.conf
root@cg:/etc/pve/qemu-server# vi 901.conf
Modify cpu line...
cpu: host,hidden=1
Save file and exit.
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off"
update-grub
reboot
root@cg:~# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
reboot
root@cg:~# cat /etc/pve/.vmlist
{
"version": 1,
"ids": {
"100": { "node": "cg", "type": "qemu", "version": 2 },
"901": { "node": "cg", "type": "qemu", "version": 1 }}
}
root@cg:~# ps aux | grep "/usr/bin/kvm -id 901"
root 53380 20.8 12.8 5116484 4234736 ? SLl 15:02
root@cg:~# kill -9 53380
root@cg:~# qm unlock 901
root@cg:~# qm stop 901
root@cg:~#
03:11 - Get the latest VirtIO Drive Disk
[03:29]( - Create our Windows 11 VM and all settings [06:48]( - Installing Windows 11 on a VM [08:49]( - Windows 11 First Boot & Configuration [10:48]( - Installing VirtIO drives on Windows 11 [12:02]( - Windows 11 with all drivers