Machines
A machine boots with 64 vCPU and 8 GiB of memory, and grows to 256 GiB of memory and 1 PiB of disk as its workload needs them. It runs until you stop it, and you only pay for the per-second usage of its resources.
Lifecycle
ix new boots a machine from the base template. Point it at a template or a snapshot to boot from those
instead.
ix new$ix stop app$ix start app$ix rm appix stop powers the machine off. Its disk and state survive: ix start brings it back where it left off. A stopped machine is billed for its disk only. ix rm removes the machine and
its disk.
Access
There are four ways into a machine, ordered by how broken things are: each one needs less of the machine to be healthy than the one before it.
Shell
ix shell appA normal interactive shell. It needs the in-guest agent to be alive. Run a
single command with ix shell app -- <command>, and add --noninteractive in scripts: pipes behave, and your command’s exit code passes through
unchanged.
Console
ix console appix console attaches to the workload’s own terminal: what the machine’s
main process prints and reads. ix shell opens a separate shell beside it.
Serial
ix serial appThe emulated serial console, terminated on the host. When the guest agent
is dead and ix shell hangs, ix serial still answers: this is the kernel
rescue line. One attach holder at a time, --force evicts a stale one.
Logs
ix logs app --lines 50ix logs reads output the platform already recorded, so it works even when
the machine does not answer at all. --follow streams new entries, --since 5m narrows the window, and --stream picks which recording to
read: the workload’s stdout, or the kernel and platform streams below it.
Snapshots
A snapshot is the whole machine at one moment, disk and memory, frozen while it runs. Take one before risky work.
ix snapshot app$ix snapshot ls appThe machine keeps running. Restore a snapshot with ix new: this creates a
new machine and leaves the original untouched, so restoring the same
snapshot several times gives you several machines from the same point.
ix new <snapshot-id>A restore defaults to the snapshot’s own region: snapshots live in one region, like templates. Storage is deduplicated, so a snapshot costs only its unique bytes, billed as disk.
A snapshot arrives in two steps. ix snapshot returns the id once the
machine is captured, which is the only part that touches the machine. The
disk then copies to the rest of the region in the background, and ix snapshot ls reports the snapshot as capturing until that finishes,
then ready, or failed if the copy does not land. Until then it exists on
one node only, and only a ready snapshot can be restored: a restore started
earlier waits for the copy and then proceeds. Pass --wait-durable when you
want ix snapshot itself to return only once the copy has landed.