Proxmox
Information
Proxmox is an exquisite open-source server platform that empowers you to orchestrate and administer virtual machines, containers, storage, networking, and backup. It is based on Linux (Debian operating system) and uses KVM (qEMU) and LXC as virtualization technologies. Proxmox offers a web interface for easy administration, as well as command-line interface/tools and a RESTful API. The objective of this software is provide a base-line to build your own paradigm style hybrid cloud through HA (High Avalibity), CEPH and load balancing built-in.
Hint: Utilize the PAM/PVE settings within Proxmox to secure and abstract the system authentication.
Cheatsheet
Proxmox Cheatsheet for quick commands and below are the basic CLI (command-line interface)
QEMU
- qEMU
man qm
qm list
- List qEMUs on the server.qm start $v_id
- Start the specific virtual machine (qEMU).qm shutdown $v_id
- Shutdown the specific vm (qEMU).qm reboot $v_id
- Reboot the specific vm (qEMU).qm resume $v_id
- Resume the specific vm (qEMU).qm reset $v_id
- Reset the specific vm (qEMU).qm stop $v_id
- Stop the specific vm (qEMU).qm config $v_id
- Configure the specific vm (qEMU).qm set -onboot 1 $v_id
LXC
- Proxmox Container
man pct
pct list
- List all containers on the server. (LXC)pct listsnapshot
- List all snapshotspct start $v_id
- Start container by the specific $v-ID.pct shutdown $v_id
- Shutdown container by specific $v-ID.pct reboot $v_id
- Reboot container by specific $v-ID.pct config $v_id
- Configure container by specific $v-ID.pct set -memory $v_ram $v_id
- Set the memory for container.- Example:
pct set -memory 1024 420
$v_ram
is in megabytes by default.
- Example:
pct enter $v_id
- Enter the terminal of the container (LXC).
Network
- Proxmox has several types of networking options and integrations. We will go over the basics here and slowly expand to different concepts afterwards.
- The default ports for proxmox are
8006
for the web panel, which you can log in via PAM/Proxmox PVE and85
for the PvEDaemon. To double check the ports, runnmap 127.0.0.1 -p-
to see the two open ports and then runnetstat -nlp | grep -E ":85|:8006"
to get more information.
Network Config (OVH)
-
Initial IPv4 Configuration during Install
-
Subnet: XXX.XXX.XXX.XXX/32 Address: XXX.XXX.XXX.XXX Gateway: DDD.DDD.DDD.DDD Name Servers: 208.67.222.222, 208.67.220.220 Search Servers: fqdn.com #XXX.XXX.XXX.XXX is the IP of the container. #DDD.DDD.DDD.DDD is the IP of the dedicated server.
-
NOTE: As it turns out, this doesn’t work, and we’re not sure if it will ever work.
-
Ubuntu 22.04 LTS netplan config for container
-
network: version: 2 ethernets: ens18: dhcp4: false addresses: [XXX.XXX.XXX.XXX/32] # The IP of the container routes: - to: 0.0.0.0/0 via: XXX.XXX.XXX.254 # The first three octets of the host on-link: true nameservers: addresses: [1.1.1.1, 1.0.0.1] # Default Nameservers (Shouldn't matter) #addresses: [208.67.222.222, 208.67.220.220] # OVH Nameservers
-
-
NOTE: If you’ve set up the ubuntu box using the minimized version (which lacks vim, nano, etc), move or delete the existing
00-installer-config.yaml
and runcat <<EOF >>00-installer-config.yaml
followed by the configuration above. -
After updating the yaml, go ahead and run:
-
sudo netplan apply
-
Test the command by pinging a domain (google.com) and an IPv4 (8.8.8.8), making sure that it works!
Windows
This is a generic guide to installing and setting up windows.
Windows Audio
When booting up the Windows KVM, there has to be an audio configuration that has to be setup for the qemu server.
Grab the qEMU server id from the proxmox list, then go to /etc/pve/qemu-server/$VMID.conf
, replacing the $VMID
with the ID.
Then add this to the args
:
args: -device intel-hda,id=sound5,bus=pci.0,addr=0x18 -device hda-micro,id=sound5-codec0,bus=sound5.0,cad=0 -device hda-duplex,id=sound5-codec1,bus=sound5.0,cad=1
If this is a fresh install, then you can add the args configuration at the bottom of the file.
Windows Error
Quick and short solutions to common window errors that we faced when deploying.
VirtIO Drivers
There are two drivers that you can use, the stable
and latest
iso.
To add them into your Proxmox instance, go to the iso folder, located below and then download the right driver ISO.
cd /var/lib/vz/template/iso
- Stable
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
- Latest (in the case if Stable does not work.)
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso
After downloading the right ISO, attach it to your KVM/QEMU instance and then reboot the machine. After the reboot, go to My Computer
and run the iso to install the proper drivers.
Notes
- eXtremeSHOCK Optimization / Post Install Scripts located below
Style
- Dark Mode Theme for Proxmox
- Installation Script located here: Github PVEDiscordDark
- The script alters the css / js , so that the panel has a “Dark” / Discord theme base.
bash <(curl -s https://raw.githubusercontent.com/Weilbyte/PVEDiscordDark/master/PVEDiscordDark.sh ) install
Podcast
General jokes/memes about the proxmox and general weird methods. We were trying to find a cute and creative way to introduce the vast realm of virtual machines.
Jokes
Dock Swarm
# Setting up Docker Swarm on multiple Proxmox VE containers
#> Ziggy9263 (@jzanecook), h0lybyte (@KBVE)
## 1. Introduction
### 1.a. Crack your head against a wall
#> The important thing to remember is that any all things that go horribly wrong can and will do so.
#> Ziggy9263, from the docker container he has found himself trapped in
#In order to begin working on a Docker Swarm, first you need to brush up on the general concepts behind the entire premise of this system. There are no winners, and there are no losers, there are only those who have discovered the wonders of setting up Docker Swarm, and those who have wandered a little too close to the wonders and have developed a pus filled growth on their abdomen.
#If you have begun emitting a yellowish bioluminescence from your fingertips or have developed a large green and cyan vein stretching from your lower cheek to your posterior, then this article is not for you, and it's too late.
#Otherwise, if you've simply peered over the edge of this foreign landscape, not yet realizing that the brush you're walking through is toxic in nature due to the radiation left from previous swarms, then this article may come in handy in your short lived traversal from bomb stricken wasteland to the maw of the amorphous creature you accidentally brought to your doorstep while typing `docker stack deploy`.
#In the following sections, we'll go over the process of:
#-> Setting up Proxmox VE (7.2.1)
#-> Installing Proxmox Darkmode for Comfort
#-> Setting up `vmbr1` for Internalized Networking
#-> Setting up Traefik
#-> Minimizing DUIs
#-> Initializing a Docker Swarm
#-> Creating Nodes and Keeping Order via Quorum
#-> Creating Replicants and how to keep Rick Deckard off your ass
#-> Creating Reverse Proxies for your Nodes
### 1.b. Invest in your retirement fund
#If you haven't already, it's important that you do before it's too late. This article, however, will not help you with that.
## 2. Proxmox
### 2.a. Setting up Proxmox VE (7.2.1)
### 2.b. Installing Proxmox Darkmode for Comfort
### 2.c. Setting up `vmbr1` for Internalized Networking
## 3. Traefik
### 3.a. Setting up Traefik (Version Number Here h0ly don't forget version number here version number don't forget)
### 3.b. Minimizing DUIs
## 4. Docker Swarm
### 4.a. Initializing a Docker Swarm
### 4.b. Creating Nodes and Keeping Order via Quorum
### 4.c. Creating Replicants and how to keep Rick Deckard off your ass
#In case you aren't in the know like cool guy Jones, Rick Deckard is from Bladerunner and he hunts stray replicants, the premise here don't let replicants go stray.
### 4.d. Creating Reverse Proxies for your Nodes