COROSYNC-VQSIM(8)
β¨ NAME β¨
corosync-vqsim β bestie, it's the votequorum simulator π
πΈ SYNOPSIS πΈ
corosync-vqsim [-c config_file] [-o output file] [-n] [-h]
π¦ DESCRIPTION π¦
okay so corosync-vqsim simulates the quorum functions of corosync in a single program, no cap. it can simulate multiple nodes, network splits and a basic quorum device. it's giving β¨entire cluster in one little binaryβ¨
By default vqsim will build a virtual cluster of all the nodes in the corosync.conf file, each 'node' running in a forked subprocess (and thus asynchronously). Then it hands you a command-line interface where you can add (up) or remove (down) nodes, and cause network splits and rejoins. After each event it shows the new quorum status for all nodes. literally every time. it's so satisfying to watch π«Ά
Nodes in vqsim are always referred to by their nodeid (the IP address is meaningless, don't even look at it bestie) and optionally by a 'partition' which precedes the nodeid with a colon. By default all nodes are in partition 0. Nodes can be moved between partitions using the split and join commands. Multiple nodes can be split and joined at the same time. obsessed π
β οΈ important!! To script vqsim you must send input to it via a pipe rather than just redirectingSTDIN. This is because it runs asynchronously to enable the virtual 'nodes' to report status when needed. (eg if you kill a subprocess using thekill(1)command it gets removed from the cluster). yes really, the pipe thing is not optional, it's the whole vibe π
By default vqsim will wait for all nodes in all partitions to reach the same ring sequence number before returning a prompt, and there's a timeout associated with this in case of a 'node' failure. Exceeding this timeout can (optionally) quit the program signalling an error. so dramatic of it π
You can disable waiting using the sync off command or the -n command-line option. This can easily cause unexpected behaviour so use it with care. fr fr, be careful. π
The number of votes per node is read from corosync.conf. New nodes added using the up command will copy their number of votes from the first node in corosync.conf. This may not be what you expect and I might fix it in future. As most clusters have only 1 vote per node (and this is strongly recommended) then this should rarely be a problem. ngl it's a lil quirk but it's fine π
Once you have the vqsim> prompt you can type help and get a list of sub-commands. go off, explore, it's your main character moment π
π OPTIONS π
-cβ This specifies the fully qualified path to thecorosyncconfiguration file. The default is/etc/corosync/corosync.conf. π-oβ Specifies the output destination.STDOUTby default. π€-nβ Don't pause after each command, come straight back to a prompt. Use with care! π¬-hβ Display a brief help message. π
π§ SEE ALSO π§
corosync(9), corosync.conf(5),
π AUTHOR π
Christine Caulfield π
okay that's the whole page bestie, you ate that. this was the System Manager's Manual edition, dated 2019-05-10, and it's still iconic. byeee πβ¨
π¦ where this page comes from
- centos-stream 10: corosync-vqsim 3.1.10-3.el10 Β· BSD-3-Clause
- centos-stream 9: corosync-vqsim 3.1.10-3.el9 Β· BSD-3-Clause
- debian bookworm: corosync-vqsim 3.1.7-1+deb12u2 Β· BSD-3-Clause
- debian trixie: corosync-vqsim 3.1.9-2+deb13u1 Β· BSD-3-Clause
- fedora 43: corosync-vqsim 3.1.10-3.fc43 Β· BSD-3-Clause
- fedora 43: corosync-vqsim 3.1.9-5.fc43 Β· BSD-3-Clause
- fedora 44: corosync-vqsim 3.1.10-4.fc44 Β· BSD-3-Clause
- fedora 44: corosync-vqsim 3.1.10-6.fc44 Β· BSD-3-Clause
- ubuntu jammy: corosync-vqsim 3.1.6-1ubuntu1 Β· BSD-3-Clause
- ubuntu jammy: corosync-vqsim 3.1.6-1ubuntu1.2 Β· BSD-3-Clause
- ubuntu noble: corosync-vqsim 3.1.7-1ubuntu3 Β· BSD-3-Clause
- ubuntu noble: corosync-vqsim 3.1.7-1ubuntu3.2 Β· BSD-3-Clause
- ubuntu questing: corosync-vqsim 3.1.9-2ubuntu1
- ubuntu questing: corosync-vqsim 3.1.9-2ubuntu1.1
- ubuntu resolute: corosync-vqsim 3.1.9-2ubuntu3 Β· BSD-3-Clause
- ubuntu stonking: corosync-vqsim 3.1.10-3ubuntu1 Β· BSD-3-Clause
- Copyright (C) 2019 Red Hat, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms