Proxmox PCI Passthrough Experience

Proxmox PCI Passthrough Experience - Graphic showcasing virtualization technology for hardware passthrough.

Navigating Challenges with Proxmox PCI Passthrough

Exploring the capabilities of Proxmox PCI passthrough can be both exciting and challenging. This powerful feature allows virtual machines to directly access hardware devices, greatly enhancing performance. However, it can also introduce complex issues, as I discovered during my recent experience with passing through a SATA controller. In this post, I’ll guide you through my troubleshooting journey and the steps I took to resolve these issues effectively.

Table of Contents

Proxmox PCI Passthrough: A Troubleshooting Journey

PCI passthrough is a powerful feature of Proxmox that allows VMs to directly access hardware devices. While it can significantly enhance performance, it also comes with risks, as I discovered during a recent attempt to pass through a SATA controller to a VM. This post details my experience and the steps I took to resolve the issues that arose.

The Problem

To improve performance for one of my virtual machines, I decided to add a SATA controller via PCI passthrough. However, this change quickly led to serious issues:

  • Proxmox began to crash immediately after the VM with the passthrough device started.
  • I lost access to the Proxmox web GUI and console.
  • Rebooting the server did not help, as the VM would start automatically and crash the system again.

Troubleshooting Steps

Initial Diagnosis and Attempts

Realizing that the automatic startup of the VM was causing Proxmox to crash, my initial attempts focused on trying to access the Proxmox interface quickly after a reboot. Unfortunately, each time the VM started, the system would lock up before I could make any changes.

Booting into Ubuntu for Recovery

With no success accessing Proxmox directly, I turned to an Ubuntu live USB. Booting into Ubuntu allowed me to mount the Proxmox root filesystem and attempt to fix the issue from there. Here’s a detailed look at what I did:

Mounting the Proxmox Filesystem

# List all partitions to identify the Proxmox root partition
sudo lsblk

# Assuming the root partition is /dev/sda3 (this may vary)
# Create a mount point
sudo mkdir /mnt/proxmox-root

# Mount the Proxmox root filesystem
sudo mount /dev/sda3 /mnt/proxmox-root

# Bind mount necessary filesystems
sudo mount --bind /dev /mnt/proxmox-root/dev
sudo mount --bind /proc /mnt/proxmox-root/proc
sudo mount --bind /sys /mnt/proxmox-root/sys

Disabling Proxmox Services

To prevent the VMs and other services from starting automatically, I disabled several Proxmox services:

# Chroot into the Proxmox environment
sudo chroot /mnt/proxmox-root

# Disable Proxmox services
systemctl disable pve-guests
systemctl disable pve-cluster
systemctl disable pvedaemon
systemctl disable pveproxy
systemctl disable pvestatd
systemctl disable pve-firewall

Locating and Modifying Configuration Files

Next, I modified the Proxmox service file to prevent VMs from starting automatically:

# Open the service file for editing
nano /lib/systemd/system/pve-guests.service

# Comment out the lines responsible for starting and stopping VMs
# ExecStart=/usr/bin/pvesh ...
# ExecStop=/usr/bin/pvesh ...

# Save and exit the file
# Press Ctrl + O, Enter to save and Ctrl + X to exit

Rebooting and Fixing the VM

After disabling the services and modifying the service file, I rebooted the server into Proxmox. This time, Proxmox started without automatically launching the VMs, allowing me to access the web GUI. I immediately removed the problematic PCI device from the VM settings.

Reverting the Service Changes

With the issue resolved, I reverted the changes I made to the pve-guests.service file by uncommenting the previously commented lines:

# Re-enter the chroot environment if needed
sudo chroot /mnt/proxmox-root

# Open the service file again
nano /lib/systemd/system/pve-guests.service

# Uncomment the lines
ExecStart=/usr/bin/pvesh ...
ExecStop=/usr/bin/pvesh ...

# Save and exit the file
# Press Ctrl + O, Enter to save and Ctrl + X to exit

Re-enabling Proxmox Services

Finally, I re-enabled the previously disabled Proxmox services:

# Re-enable Proxmox services
systemctl enable pve-guests
systemctl enable pve-cluster
systemctl enable pvedaemon
systemctl enable pveproxy
systemctl enable pvestatd
systemctl enable pve-firewall

Unmounting and Rebooting

After making the necessary changes, I unmounted the filesystems and rebooted the server:

# Exit the chroot environment
exit

# Unmount the filesystems
sudo umount /mnt/proxmox-root/dev
sudo umount /mnt/proxmox-root/proc
sudo umount /mnt/proxmox-root/sys
sudo umount /mnt/proxmox-root

# Reboot the server
sudo reboot

Outcome

After these steps, Proxmox was back to normal. Fortunately, despite the multiple forced shutdowns and reboots, no damage was done to the disks, and the system was stable once more. This experience highlighted several important lessons for anyone managing a Proxmox environment.

Key Takeaways

  • Preparation: Always have a backup plan and ensure you have live boot media available for emergencies. This can save a lot of time and stress in case of critical issues.
  • Recovery Options: Booting into a different OS like Ubuntu can provide the necessary access to fix critical issues when the primary system is unresponsive.
  • Caution with Passthrough: Be cautious when configuring PCI passthrough. Thoroughly research and understand the hardware and Proxmox settings to avoid potential crashes.
  • Service Management: Knowing how to disable and manage system services can prevent automatic actions that might lead to system crashes. It’s crucial to understand how to stop and start services safely.
  • System Monitoring: Regularly monitor your system’s health and ensure that you have tools like SMART monitoring in place to catch potential disk issues early.

By sharing this experience, I hope to provide some insights and potential solutions for anyone facing similar challenges. Persistence and systematic troubleshooting can help you overcome even the most frustrating technical issues. If you have similar experiences or tips, feel free to share them in the comments below. Let’s help each other navigate these tricky situations!

Recommended Products

1. USB 2.5G Ethernet Adapter


UGREEN USB to Ethernet Adapter 2.5Gb, Ethernet to USB Adapter, Aluminum, USB 3.0 to RJ45 Computer Network Internet LAN Ethernet Dongle for laptop, Compatible for MacBook Air/Pro, XPS, Windows, macOS

Enhance your network speed with this USB 2.5G Ethernet Adapter. Ideal for users looking to upgrade from 1Gbit to 2.5Gbit without changing the entire network infrastructure.

2. USB-C 2.5G Ethernet Adapter


UGREEN USB C to Ethernet Adapter 2.5G, Ethernet Adapter for Laptop, Aluminum, Type C (Thunderbolt 4/3) to Rj45 Network Internet LAN Adapter, Compatible for NAS, MacBook Air/Pro, XPS, iPhone 15 Pro/Max

Enhance your network speed with this USB 2.5G Ethernet Adapter. Ideal for users looking to upgrade from 1Gbit to 2.5Gbit without changing the entire network infrastructure.

3. PCIe 10G Network Card


10G PCI-E Network Card with 10Gbps Dual RJ45 Ports, Intel X540-T2 Controller, VIMIN 10Gb Ethernet Adapter Card Compatible with PCI Express X8, X16, Support Windows/Windows Server/Linux/VMware

For those requiring higher network speeds, the PCIe 10G Network Card is perfect. It provides reliable and fast data transfer rates, suitable for intensive network tasks.

4. Network Switch with 10G Uplinks


8 Port 2.5G PoE Switch Unmanaged with 8 x 2.5Gb Base-T PoE+@120W + 10G SFP Uplink, 2.5Gbe IEEE802.3af/at Power Over Ethernet Switch, Support WiFi6 AP, NAS, 4K PoE Camera NVR.

This network switch supports multiple ports with 10G uplinks, allowing for a versatile and scalable network setup. Ideal for environments with mixed network speeds.

5. High-Speed Ethernet Cable (Cat 6a)


Rapink Patch Cables Cat6a 1ft (10 Pack) Slim, Cat6a Ethernet Patch Cable 10G Support, Snagless Cat 6 Patch Cable for Patch Panel to Switch, Flexible Cat 6a Ethernet Cable with Gold Plated

Ensure your network operates at optimal speeds with Cat 6a Ethernet Cables. These cables support higher bandwidths and faster data transfer rates.

6. Network Performance Monitoring Tool


Klein Tools VDV526-200 Cable Tester, LAN Scout Jr. 2 Ethernet Cable Tester for CAT 5e, CAT 6/6A Cables with RJ45 Connections

Monitor your network performance and troubleshoot issues effectively with this Network Performance Monitoring Tool. Essential for maintaining optimal network health.

Why Support Matters

Creating valuable free content is a significant part of our mission, but it requires resources to maintain and grow. While we are dedicated to providing these resources without charging, they do incur costs. Your support is crucial in helping us continue offering this content. Here’s how you can help:

  • Use Affiliate Links: As an Amazon Associate, I earn from qualifying purchases. By using our affiliate links for your purchases, you help us earn small commissions that contribute to covering our operational costs, at no extra cost to you.
  • Engage and Share: Engage with our content by liking, commenting, and sharing it with others. This increases our reach and attracts more visitors who might support us financially, allowing us to continue providing valuable content.
  • Provide Direct Support: Consider donating or subscribing to support the content you value. Even small contributions can make a significant difference and help us sustain our efforts.

Your engagement and support are vital to keeping this content available and accessible. Thank you for being part of our community and for helping us continue to grow and improve.

Disclaimer

As an Amazon Associate, I earn from qualifying purchases. This means I may earn a commission from qualifying purchases made through affiliate links, at no extra cost to you.

Stay Connected and Updated

For exclusive updates, training tips, fitness advice, and more, follow us across all our platforms through one easy link.

👉 Stay Connected for Exclusive Martial Arts & Fitness Tips

Join our community and never miss an update!

Return to the home section.

0

Your Cart Is Empty

No products in the cart.