Home Install Proxmox
Post
Cancel
Preview Image

Install Proxmox

The Proxmox VE (Virtual Environment) provides an open-source server management platform for virtualisation, based on Debian Linux operating system. It has an integrated web-based user interface to manage Virtual Machines (VMs) and Linux Containers (LXC). The VE has low overhead (1-3% performance loss compared to using standalone server).

The intention is to run NAS software, media server and home control server all in one device in VMs and Docker containers.

Make Promox USB Boot Media

  • Option 1. Make Proxmox USB boot disk
    • Download latest Proxmox ISO image (link) 7.4
    • Flash to USB drive with balenaEtcher
    • On completion remove USB
  • Option 2. Use Ventoy USB
    • Copy latest Proxmox ISO image as above

Prepare Hardware

  • For TITAN tower server
    • Plug keyboard & mouse into USB slots on rear of server
    • Boot server, hold DEL key for setup
      • Check Intel Virtualisation / VT-d enabled in BIOS
    • Plug Proxmox USB into top front RHS slot
    • Boot server, press F11 for boot menu
  • For HYPERION server
    • Plug keyboard and USB drive into front USB slots
    • Power on PC, press F10 to access BIOS
    • Move to Security tab -> Secure Boot configuration
      • Set Legacy Support = Enabled
      • Set Secure Boot = Disabled
    • Move to Security tab -> System Security
      • Set Virtualization Technology (VTx) = Enabled
      • Set Virtualization Technology Directed I/O (VTd) = Enabled
    • Reboot the PC, press F9 to select boot device
  • Select USB drive in UEFI list
      • If using Venotoy USB, select Proxmox ISO from list
        • Boot in normal mode
  • This will start booting Proxmox from the USB drive

Install Proxmox on Server

  • Welcome to Proxmox screen: select Install Proxmox VE
  • EULA screen: click on I Agree
  • PVE screen: select Target Harddisk from dropdown (240GB SSD), click Next
    • Have option here to use two drives and RAID1 (mirror)
    • ADD DISK TO SINGLE TO MAKE A BOOTABLE MIRROR
      • Initially only used one Samsung 850 EVO 120GB drive, formatted ZFS
      • Added second SSD to server, then used following process:
        • Goto node -> Disks, identify current drive (sdb), and new one (sda)
        • Replicate partitioning of original disk to new disk
          1
          
          sgdisk /dev/sdb -R /dev/sda
          
        • Randomise GUIDs in new disk to ensure unique
          1
          
          sgdisk --randomize-guids /dev/sda
          
        • Make new disk bootable
          1
          2
          
          pve-efiboot-tool format /dev/sda2 --force
          pve-efiboot-tool init /dev/sda2
          
        • Get the disk IDs
          1
          
          ls -lsah /dev/disk/by-id/</strong>
          

          Shows all disks by ID:

          1
          2
          
          current = ata-Samsung_SSD_850_EVO_120GB_S21UNXAG403730J-part3
          new = ata-SanDisk_SSD_PLUS_240GB_22190N449310-part3
          

          Attach the new disk to the existing ZFS pool. The -f forces the action as the Sandisk had been used in the TrueNAS server and was already “part” of a ZFS pool and would not overwrite

          1
          2
          
          zpool attach -f rpool <current_device_ID> <new_device_ID>
          zpool status
          

          Should show the mirror created, and that resilvering to the new disk is in hand. Can also go to Proxmox GUI, node -> Disks -> ZFS. Double click on ‘rpool’ to get Status. Note that if the two SSD are different sizes and the mirrored pool is the size of the smallest SSD

  • Location and Time Zone screen: select UK / Europe/London / UK, press Next
  • Admin Password and Email Address screen:
    • Set password [STRONGBOX] and email address, click Next
  • Management Network Config screen:
    • Note: need to set Static IP Reservation in router against Proxmox MAC address. Need to build server first to get MAC address from >_Shell in pve, and type ip a
      • Proxmox TITAN : AC:1F:6B:6D:81:0A, 192.168.0.8
      • Proxmox Hyperion: C4:34:6B:57:5C:4C, 192.168.0.20
    • Set Hostname = titan.proxmox (TITAN) hyperion.proxmox (HYPERION), should be allocated DHCP from reserved list in router, click Next
  • Summary screen: check entries ok, Auto reboot option checked, and click Install
  • Wait until installation completes
  • As server reboots, remove USB drive
  • Once server reboots, screen will show URL to connect to, and the login prompt

Configure Proxmox remotely

  • On main computer, go to http://<IP_ADDRESS>:8006, using IP address from above
  • At the Connection is not Private message, click Show Details, and Visit this Website, confirm and enter password (message is due to invalid SSL certificate)
  • Login to Username = root, Password = [STRONGBOX], click Login
  • Ignore the No valid subscription (NVS) message, keep it free!, click OK

Proxmox Post Install

This script provides options for managing Proxmox VE repositories, including disabling the Enterprise Repo, adding or correcting PVE7 sources, enabling the No-Subscription Repo, adding the test Repo, disabling the subscription nag, updating Proxmox VE, and rebooting the system. Run the command below in the Proxmox VE Shell, answer “y” to each option:

1
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/post-pve-install.sh)"

Add CPU temperatures to summary panel

Followed this guide with modifications to fix errors, and place the information in a different location.

  • In Proxmox node shell type

    apt-get install lm-sensors

    • To check installed okay, type sensors, should get something like
      1
      2
      3
      4
      5
      
      coretemp-isa-0000
      Adapter: ISA adapter
      Package id 0:  +33.0°C  (high = +80.0°C, crit = +100.0°C)
      Core 0:        +32.0°C  (high = +80.0°C, crit = +100.0°C)
      Core 1:        +35.0°C  (high = +80.0°C, crit = +100.0°C)
      
    • Alternatively type sensors -j to see output in JSON format
  • Edit perl module in Proxmox to run sensors, type

    nano /usr/share/perl5/PVE/API2/Nodes.pm

    • Press F6, search for my $dinfo and press Enter
    • Before this section add:
      1
      
      $res->{thermalstate} = `sensors`;
      
    • Press Ctrl-O, Enter and Ctrl-X to save
  • Edit javascript file to add display info to summary panel, type

    nano /usr/share/pve-manager/js/pvemanagerlib.js

    • Press F6, search for second loadavg; press Enter, F6, Enter
    • In the itemId: 'wait' section above delete the rowspan: 2 to allow the new CPU Temperatures line to sit below the IO delay line
    • Below the loadavg section add:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      
      {
      itemId: 'thermal',
      printBar: false,
      iconCls: 'fa fa-fw fa-thermometer-half',
      title: gettext('CPU Core Temperature'),
      textField: 'thermalstate',
      renderer: function(value) {
        let objValue = JSON.parse(value);
        let core0 = objValue["coretemp-isa-0000"]["Core 0"]["temp2_input"];
        let core1 = objValue["coretemp-isa-0000"]["Core 1"]["temp3_input"];
        return `0: ${core0}°C | 1: ${core1}°C`;
      }
      },
      
    • Press Ctrl-O, Enter and Ctrl-X to save

    • Restart the Summary page, type

      systemctl restart pveproxy

    • Go to the Summary page. If the page locks up, refresh the browser tab

Update Proxmox (as required)

  • Click on Proxmox server hostname under Datacenter, then Updates, then Refresh button at top
  • Click [X] at top right to close dialog; page will reload with any updates
  • Click Upgrade button, and in popup Y key and Enter
  • After updating, close the terminal window
  • Click Refresh button again to confirm all up to date, should get No updates available

Set boot disk order in BIOS (F11)

References

  • Change the IP address of a Proxmox host (link)
This post is licensed under CC BY 4.0 by the author.
Recently Updated
Trending Tags
Contents
Trending Tags