Author: Bian Xi

Convert Proxmox Cluster Node to Standalone Local Mode

Convert Proxmox Cluster Node to Standalone PVE

When adding the Proxmox node into existing cluster, the IP to DNS reverse lookup has different name, miss configuration. Then the new node thought it is already a member of cluster, but other nodes are not.

Solution

Convert the node back to local mode

Convert the node

Stop the corosync and pve-cluster services on the node:

systemctl stop pve-cluster
systemctl stop corosync

Start the cluster file system again in local mode:

pmxcfs -l

Delete the corosync configuration files:

rm /etc/pve/corosync.conf
rm -r /etc/corosync/*

Start the file system again as a normal service:

killall pmxcfs
systemctl start pve-cluster

The node is now separated from the cluster.

Remove the node from cluster

Deleted it from any remaining node of the cluster if it is already a node of cluster

pvecm delnode oldnode

If the command fails due to a loss of quorum in the remaining node, you can set the expected votes to 1 as a workaround:

pvecm expected 1

And then repeat the pvecm delnode command.

Cleanup the cluster files

This ensures that the node can be added to another cluster again without problems.

rm /var/lib/corosync/*

Remove /etc/pve/nodes/<node_name> from other nodes.

Stop remove access

Remove ssh key from /etc/pve/priv/authorized_keys file

References

Remove a cluster node

Synchronous Proxmox Nodes UI certificates

Synchronous Proxmox Nodes UI certificates

If same certificate can be used for multiple domains in Proxmox clusters' nodes, then can use following steps to synchronous certificates.

  • Login to the new node (target node)
  • Change to current node directory /etc/pve/nodes/<target_node_name>
  • Copy two files pveproxy-ssl.pem and pveproxy-ssl.key in /etc/pve/nodes/<source_node_name> directory into target node directory.
  • Restart pveproxy service using command systemctl restart pveproxy.
  • Refresh UI webpage

References

Restore Default Proxmox UI Certificate

Restore Default Proxmox UI Certificate

After install custom certificate, the Proxmox UI could not be displayed.

Solution

Remove two files pveproxy-ssl.pem and pveproxy-ssl.key in /etc/pve/nodes/<node_name> directory. Then restart Proxmox.

References

Unable to access GUI after uploading my certificates
Proxmox Certificate Management

Excel Functions

Excel Functions

Filter

The (*) operator returns ANDfunction result

=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),"")

Above means get a sub list of A5:D20 which has C5:C20=H1 and A5:A20=H2. The H1 and H2 are values to be matched in column C and column A.

IS functions

Function Returns TRUE if -

  • ISBLANK Value refers to an empty cell.
  • ISERR Value refers to any error value except #N/A.
  • ISERROR Value refers to any error value (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL!).
  • ISLOGICAL Value refers to a logical value.
  • ISNA Value refers to the #N/A (value not available) error value.
  • ISNONTEXT Value refers to any item that is not text. (Note that this function returns TRUE if value refers to a blank cell.)
  • ISNUMBER Value refers to a number.
  • ISREF Value refers to a reference.
  • ISTEXT Value refers to text.

VLOOKUP

Return value searching

=VLOOKUP(value, table_array, col_index,[range_lookup])

MATCH

Return index of a value in an range.

=MATCH(25,A1:A3,0)

INDEX

Return value of specific cell in an range

=INDEX(A2:B3,2,2)

VLOOKUP vs INDEX MATCH

=INDEX(range, MATCH(lookup_value, lookup_range, match_type))

Better than VLOOKUP as

  • Dynamic Column Reference
  • Insert/Delete Columns Safely
  • Lookup Value Size Limit
  • Higher processing speed
  • Lookup Value Position

COUNTIF vs COUNTIFS function

=COUNTIF(A2:A5,A4)
=COUNTIFS(B2:B5,"=Yes",C2:C5,"=Yes")
=COUNTIFS(A2:A7, "<" & A6,B2:B7,"<" & B4)

References

FILTER function
MATCH function
INDEX function
Difference between ISNA and ISERROR
COUNTIF function