Update README.md
This commit is contained in:
parent
a05f064004
commit
04e86b37cb
1 changed files with 113 additions and 2 deletions
115
README.md
115
README.md
|
@ -86,7 +86,7 @@ echo "Exporting VM to OVA and copying directly to Proxmox..."
|
|||
|
||||
# Run import script on Proxmox
|
||||
echo "Running import script on Proxmox..."
|
||||
sshpass -p "$PROXMOX_PASSWORD" ssh ${PROXMOX_USER}@${PROXMOX_HOST} "bash /var/lib/vz/template/inport3.sh $VM_NAME $VMID"
|
||||
sshpass -p "$PROXMOX_PASSWORD" ssh ${PROXMOX_USER}@${PROXMOX_HOST} "bash /var/lib/vz/template/inport.sh $VM_NAME $VMID"
|
||||
|
||||
# Clean up the temporary files on Proxmox
|
||||
echo "Cleaning up temporary files on Proxmox..."
|
||||
|
@ -191,7 +191,7 @@ Navigate to Ubuntu container and import and export VM using this command.
|
|||
```
|
||||
You need to use exact name of the VM from VMware and NUMBER-FOR-ROXMOX is required for proxmox. If you dont know what number to use then just use 100 and increase the number with each VM.
|
||||
|
||||
#### ! Migration requires at least double the size of VM on Proxmox for it to work. !
|
||||
#### ! Migration requires at least double the size of VM in Proxmox for it to work. !
|
||||
|
||||
### 7. Enjoy
|
||||
|
||||
|
@ -199,3 +199,114 @@ Congratulations! If you did everything right the VM will export and inport autom
|
|||
|
||||
# Variant 2. server-desktop-server migration (easier)
|
||||
|
||||
### 1. Export VM
|
||||
|
||||
Open VMware vSphare web interface.
|
||||
|
||||
Shutdown VM you want to export.
|
||||
|
||||
Right-click on the VM and select ``Template > Export OVF Template`` then dowload VM files.
|
||||
|
||||
### 2. Move saved files to Proxmox
|
||||
|
||||
You will need SCP for transfaring files, easiest method is to [download and install PuTTY](https://putty.org/). And dont forget to add PSCP utility during the installation.
|
||||
|
||||
Open cmd.exe and copy files to proxmox.
|
||||
```powershell
|
||||
pscp C:\path\to\vm-name.ovf root@IP-ADRESS-OF-PROXMOX:/var/lib/vz/template
|
||||
pscp C:\path\to\vm-name-1.vmdk root@IP-ADRESS-OF-PROXMOX:/var/lib/vz/template
|
||||
```
|
||||
|
||||
### 3. Import VM
|
||||
|
||||
Open Proxmox web interface.
|
||||
|
||||
Navigate to server terminal.
|
||||
|
||||
``Server > Console``
|
||||
|
||||
In terminal navigate to /var/lib/vz/template directory
|
||||
|
||||
```bash
|
||||
cd /var/lib/vz/template
|
||||
```
|
||||
|
||||
Create import.sh file and copy my script.
|
||||
|
||||
```bash
|
||||
nano import.sh
|
||||
```
|
||||
__import.sh__
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
# Script to import VMware images (OVF or OVA based) to Proxmox VE, executed locally on the Proxmox host
|
||||
|
||||
PROXMOX_STORAGE=local-lvm
|
||||
VM_PATH=/var/lib/vz/template
|
||||
VM_NAME=$1
|
||||
VMID=$2
|
||||
|
||||
if [[ -z "$VM_NAME" || -z "$VMID" ]]; then
|
||||
echo "Usage: $0 <vm_name> <vm_id>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Determine file extension to handle OVF and OVA appropriately
|
||||
FILE_EXTENSION="${VM_NAME##*.}"
|
||||
|
||||
# Import VM on Proxmox based on file type
|
||||
echo "Importing VM..."
|
||||
if [ "$FILE_EXTENSION" == "ova" ]; then
|
||||
# Assuming qm supports OVA directly; if not, this needs to be extracted first
|
||||
qm importova $VMID "$VM_PATH/$VM_NAME" $PROXMOX_STORAGE
|
||||
else
|
||||
qm importovf $VMID "$VM_PATH/$VM_NAME.ovf" $PROXMOX_STORAGE
|
||||
fi
|
||||
|
||||
# Ensure VM is fully stopped before making hardware changes
|
||||
echo "Ensuring VM is stopped..."
|
||||
qm stop $VMID --skiplock
|
||||
sleep 10
|
||||
|
||||
# Set the SCSI controller to LSI Logic
|
||||
echo "Setting SCSI hardware type to LSI..."
|
||||
qm set $VMID -scsihw lsi
|
||||
|
||||
# Transition each detected SCSI disk to IDE interface
|
||||
DISKS=$(qm config $VMID | grep -oP 'scsi\d+: \K.*')
|
||||
DISK_ID=0
|
||||
for DISK_PROP in $DISKS; do
|
||||
echo "Transitioning SCSI disk to IDE..."
|
||||
qm set $VMID -scsi$DISK_ID none
|
||||
qm set $VMID -ide$DISK_ID $DISK_PROP
|
||||
((DISK_ID++))
|
||||
done
|
||||
|
||||
# Set network and boot order
|
||||
echo "Setting network model and boot order..."
|
||||
qm set $VMID -net0 model=vmxnet3,bridge=vmbr0
|
||||
qm set $VMID -boot order=ide0
|
||||
|
||||
# Start the VM
|
||||
echo "Starting VM..."
|
||||
qm start $VMID
|
||||
```
|
||||
At first few lines of the script you can change ``local-lvm`` to change storage on your Proxmox and the script will import VM to that storage.
|
||||
|
||||
And make it executable:
|
||||
|
||||
```bash
|
||||
chmod +x ./import.sh
|
||||
```
|
||||
|
||||
Now we are ready to import, you can import VM using this command:
|
||||
|
||||
```bash
|
||||
./import.sh NAME-OF-VM NUMBER-OF-VM
|
||||
```
|
||||
You need to use exact name of the VM from VMware and NUMBER-FOR-ROXMOX is required for proxmox. If you dont know what number to use then just use 100 and increase the number with each VM.
|
||||
|
||||
### 4. Enjoy
|
||||
|
||||
Congratulations! If you did everything right the VM will export and inport automatically and start when the process ends.
|
Reference in a new issue