This commit is contained in:
MacRimi 2025-03-04 19:07:23 +01:00
parent a768e0106b
commit 0d556f01c4
2 changed files with 38 additions and 28 deletions

View File

@ -2,65 +2,75 @@ import { Steps } from "@/components/ui/steps"
import CopyableCode from "@/components/CopyableCode" import CopyableCode from "@/components/CopyableCode"
export const metadata = { export const metadata = {
title: "Disk Passthrough to a VM | ProxMenux Documentation", title: "Import Disk Image to a VM | ProxMenux Documentation",
description: "Step-by-step guide to configure disk passthrough to a virtual machine in Proxmox VE using ProxMenux.", description: "Step-by-step guide to import a disk image into a virtual machine in Proxmox VE using ProxMenux.",
} }
export default function DiskPassthroughVM() { export default function ImportDiskImageVM() {
return ( return (
<div className="max-w-3xl mx-auto"> <div className="max-w-3xl mx-auto">
<h1 className="text-3xl font-bold mb-6">Disk Passthrough to a VM</h1> <h1 className="text-3xl font-bold mb-6">Import Disk Image to a VM</h1>
<p className="mb-4"> <p className="mb-4">
This guide explains how to assign physical disks to virtual machines (VMs) in <strong>Proxmox VE</strong> using <strong>ProxMenux</strong>. This guide explains how to import a disk image into a virtual machine (VM) in <strong>Proxmox VE</strong> using <strong>ProxMenux</strong>.
Disk passthrough allows a VM to have direct access to a physical disk, providing improved performance and compatibility for certain applications. The script simplifies the process by scanning for available disk images and allowing users to attach them to VMs without manual configuration.
</p> </p>
<h2 className="text-2xl font-semibold mt-8 mb-4">Overview</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Overview</h2>
<p className="mb-4">The script automates the following steps:</p> <p className="mb-4">The script automates the following steps:</p>
<ol className="list-decimal pl-6 space-y-2 mb-6"> <ol className="list-decimal pl-6 space-y-2 mb-6">
<li>Lists available physical disks on the Proxmox host, excluding the system disk.</li> <li>Scans for disk images (.img, .qcow2, .vmdk) in <code>/var/lib/vz/template/images/</code>.</li>
<li>Displays a list of available virtual machines (VMs) for selection.</li> <li>Displays a list of available virtual machines (VMs) for selection.</li>
<li>Allows the user to select multiple disks to assign to a VM.</li> <li>Allows users to choose one or multiple disk images for import.</li>
<li>Ensures selected disks are not already in use by another VM.</li> <li>Provides storage volume options for placing the imported disk.</li>
<li>Configures the selected disks for passthrough to the chosen VM.</li> <li>Offers an interface choice (SATA, SCSI, VirtIO, or IDE) for each imported disk.</li>
<li>Imports and attaches the selected disk images to the chosen VM.</li>
</ol> </ol>
<h2 className="text-2xl font-semibold mt-8 mb-4">Implementation Steps</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Implementation Steps</h2>
<Steps> <Steps>
<Steps.Step title="Disk Selection"> <Steps.Step title="Preparation">
<img src="https://macrimi.github.io/ProxMenux/disk/disk-selection.png" alt="Disk Selection Menu" className="mt-4 rounded shadow-lg" /> <p>Ensure that the disk images you want to import are placed in <code>/var/lib/vz/template/images/</code>.</p>
<p>The script scans the system and displays a list of available physical disks, excluding the system disk.</p>
</Steps.Step> </Steps.Step>
<Steps.Step title="VM Selection"> <Steps.Step title="VM Selection">
<p>The user selects the virtual machine (VM) to which the disk(s) will be assigned.</p> <p>Select the VM where the disk image(s) will be imported.</p>
</Steps.Step> </Steps.Step>
<Steps.Step title="Disk Assignment"> <Steps.Step title="Storage Selection">
<p>The script performs the following actions:</p> <p>Choose the Proxmox storage volume where the imported disk(s) will be placed.</p>
</Steps.Step>
<Steps.Step title="Image Selection">
<p>Select one or more disk images to import from the list of detected compatible images.</p>
</Steps.Step>
<Steps.Step title="Configuration">
<p>For each selected image:</p>
<ul className="list-disc pl-6 space-y-1 mt-2"> <ul className="list-disc pl-6 space-y-1 mt-2">
<li>Ensures the selected disk is not in use by another VM.</li> <li>Choose the interface type (SATA, SCSI, VirtIO, or IDE).</li>
<li>Provides an interface choice (SATA, SCSI, VirtIO, or IDE).</li> <li>Optionally enable SSD emulation (for non-VirtIO interfaces).</li>
<li>Automatically configures the disk passthrough and assigns it to the VM.</li> <li>Decide whether to make the disk bootable.</li>
</ul> </ul>
</Steps.Step> </Steps.Step>
<Steps.Step title="Confirmation & Finalization"> <Steps.Step title="Import Process">
<p>The script verifies the operation and confirms the successful disk passthrough.</p> <p>The script will import each selected disk image and display real-time progress updates.</p>
</Steps.Step>
<Steps.Step title="Finalization">
<p>After the import is complete, the script attaches the disks to the VM and applies the selected settings.</p>
</Steps.Step> </Steps.Step>
</Steps> </Steps>
<h2 className="text-2xl font-semibold mt-8 mb-4">Expected Results</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Expected Results</h2>
<ul className="list-disc pl-6 space-y-2 mb-6"> <ul className="list-disc pl-6 space-y-2 mb-6">
<li>The selected physical disk(s) are successfully assigned to the specified VM.</li> <li>The selected disk images are successfully imported and attached to the specified VM.</li>
<li>Users are provided with a confirmation of the disk assignment.</li> <li>Users receive confirmation of the import operation.</li>
<li>The VM is configured to recognize the disk(s) upon startup.</li> <li>The VM is configured to recognize the new disks upon startup.</li>
</ul> </ul>
<h2 className="text-2xl font-semibold mt-8 mb-4">Important Considerations</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Important Considerations</h2>
<ul className="list-disc pl-6 space-y-2 mb-6"> <ul className="list-disc pl-6 space-y-2 mb-6">
<li>The script requires root privileges to execute.</li> <li>Ensure you have sufficient storage space in the selected Proxmox storage volume.</li>
<li>Ensure the selected disk is not already in use by another VM.</li> <li>Supported disk image formats include <code>.img</code>, <code>.qcow2</code>, and <code>.vmdk</code>.</li>
<li>VMs must be powered off before adding disks to prevent data corruption.</li> <li>The target VM must be powered off before importing disk images.</li>
<li>Using disk passthrough limits certain VM features, such as live migration.</li> <li>SSD emulation is only available for non-VirtIO interfaces (SATA, SCSI, IDE).</li>
<li>Importing a disk as bootable will modify the VMs boot order. Adjust boot settings as needed.</li>
</ul> </ul>

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB