Proxmox

Directories

  • VM images /var/lib/vz/images/<VMID>
  • ISO images /var/lib/vz/template/iso
  • LXC Template /var/lib/vz/template/cache
  • LXC Config /etc/pve/lxc
  • VM Config /etc/pve/qemu-server

Some Commands

List ids

cat /etc/pve/.vmlist | jq '.ids |= keys | .ids  | .[]' | tr -d '"'

Stop all running lxc

lxc-ls --running | xargs -n1 pct stop

Destroy all lxc

lxc-ls | xargs -n1 pct destroy

Run script on lxc

cat shellscript.sh | lxc-attach <id> bash
lxc-attach -n <id> -- /sbin/ip a
lxc-attach -n <id> -- /usr/bin/apt update

Set locale

dpkg-reconfigure locales

or

cat <<EOF >> ~/.bash_profile
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
EOF

VM

qm unlock 100
qm stop 100
qm destory 100

LXC

Create

Create command and div setup:

pct create <id> /var/lib/vz/template/cache/debian-10-standard_10.5-1_amd64.tar.gz \
    -arch amd64 \
    -ostype <centos|ubuntu|etc> \
    -hostname <hostname> \
    -cores <cores> \
    -memory <memory(MB)> \
    -swap <swap(MB)> \
    -storage local-zfs \
    -password \
    -unprivileged 1 \
    -net0 name=eth0,bridge=<bridge>,gw=<gateway>,ip=<cidr>,type=veth  &&\
pct start <id> &&\
sleep 10 &&\
pct resize <id> rootfs <storage(ex: +4G)> &&\
pct exec <id> -- bash -c "yum update -y &&\
    yum install -y openssh-server &&\
    systemctl start sshd &&\
    useradd -mU someuser &&\
    echo "somepassword" | passwd --stdin someuser"

Sample of creating an container:

pct create 200 /var/lib/vz/template/cache/debian-10-standard_10.7-1_amd64.tar.gz \
    -arch amd64 \
    -ostype ubuntu \
    -hostname deb10 \
    -features keyctl=1,nesting=1 \
    -cores 2 \
    -memory 4096 \
    -swap 0 \
    -storage local-zfs \
    -password \
    -unprivileged 1 \
    -net0 name=eth0,bridge=vmbr0,gw=10.10.2.1,ip=10.10.2.200/24,type=veth