FAQ

Benjamin Gilbert edited this page Aug 5, 2013 · 5 revisions

General

Can I run OpenISR on Windows/Mac OS?

The OpenISR software presently only runs on Linux. If you would like to run an OpenISR client on a Windows-only system, check out Pocket ISR.

Does it work with Xen?

OpenISR does not currently support Xen.

Building

autogen.sh failed because I didn't have libtool installed, but when I installed libtool and reran autogen.sh it complained about missing files.

You can correct this by passing the --force option to autogen.sh.

Client

How do I suspend my parcel?

It depends on your VMM:

  • VirtualBox: Press RightCtrl-Q, select "Save the machine state", and then click OK.
  • VMware: Click the close box in the drop-down toolbar (if in full-screen mode) or close the window (otherwise).
  • KVM: Press RightCtrl-Q.

How do I resume my parcel while disconnected from the network?

While still connected to the network, run isr checkout -d <parcel>. This will fetch all of the data needed to run the parcel disconnected. Then, to resume while disconnected from the network, run isr resume -d <parcel>.

Can I hibernate my client while a parcel is running?

Yes. With older versions of the OpenISR client, suspending the host while parcels were running would often crash the host. Starting with version 0.9.8, the OpenISR client attempts to suspend running parcels when you suspend or hibernate the host. OpenISR version 0.10.0 fixes this problem entirely.

How do I access the virtual disk of a parcel without using a VMM?

Pass -m shell to the isr resume command. Instead of launching a VMM, ISR will bind the virtual disk and then launch a shell. The path to the virtual disk will be printed to the terminal and is also available in the $DISK environment variable within the shell. When you exit the shell, ISR will suspend the parcel.

To allow the root user to access the virtual disk on OpenISR 0.10.0 or later, add -o allow_root to the isr resume command line. This requires user_allow_other to be specified in /etc/fuse.conf.

My host crashed while a parcel was running, and now the parcel is damaged. How can I recover the document I was working on?

See ParcelRecovery.

When I resume a parcel, ISR says "Unknown or missing VERSION in parcel.cfg".

You are most likely trying to resume a new-format parcel with an OpenISR client older than version 0.9.8. Upgrade your client to at least version 0.9.8.

After I upgrade my ISR client, it says "Unrecognized compression profile".

The set of supported values for the "compression" configuration option changed in version 0.9.8. See the isr(1) manual page for the current list and update your ISR config file.

Server

How do I create my first parcel?

There are two ways to create a parcel from scratch:

  1. Use isr_admin makeparcel to create an empty parcel. Resume the parcel on your client, install an operating system from a CD or ISO image, and check it in.

  2. If you have an existing virtual machine disk image, you can convert it to raw format and then use isr_admin import to create a parcel out of it.

Once you have created your first parcel, you can make additional copies for yourself or other users with isr_admin copyparcel.

How do I change the memory image size of an existing parcel?

Shut down and check in your parcel, then edit ~/.isr/<parcelname>/parcel.cfg on the server and change the MEM line to the desired memory image size in megabytes.

How do I change the disk image size of an existing parcel?

Starting with OpenISR 0.9.7, you can use isr_admin copyparcel with the -s flag to resize a parcel. Note that this will create a new parcel with a resized disk. Before performing the resize, you should shut down the parcel and check it in. The first client to resume the resized parcel must be version 0.9.7 or higher; subsequent clients can be any version. After resizing, you will need to update the partition table and resize filesystems within the guest operating system, just as you would if replacing a disk in a physical machine.

Can I run the server on the same machine as the client?

We do not support this configuration, though it may work. You will probably need to run the ISR client from a different user account than the one containing the ISR parcel data.

When I check out a parcel, I get a message about the server/userid/name not matching the parcel.cfg.

The server hostname specified to the client must match the server's own idea of its hostname. The server tries to figure out its hostname, but if it guesses incorrectly, you will need to override its guess by placing a line in /etc/openisr/locksrv.conf:

hostname = server.hostname.example.com

Note that this hostname setting is processed at the point that a parcel is created. If you change the server's hostname after creating parcels, you will need to update the metadata for each parcel on the server by updating the SERVER, RPATH, and WPATH keys in /home/<userid>/.isr/<parcel>/parcel.cfg.

When I run isr auth, it says "Unable to run ssh-add on the server".

ISR accounts on the server must be created with isr_admin adduser, not with your operating system's user management tools.

What disk image formats can I use with isr_admin import?

isr_admin import directly supports only raw images. You can convert VirtualBox VDI files to raw format with:

VBoxManage clonehd --format RAW <in> <out>

qemu and KVM images can be converted to raw format with:

qemu-img convert -O raw <in> <out>

Pocket ISR

The BitTorrent download link doesn't work.

The Pocket ISR torrent uses web seeding; we don't run a traditional seed. Not all BitTorrent clients support web seeding, and some clients claim to support it but don't actually work. Deluge is known to work.

Pocket ISR Update says "Couldn't download update metadata: Connection reset by peer".

You may be behind a proxying firewall that blocks the download of BitTorrent files. Try running Pocket ISR Update behind a less-restrictive firewall.

KVM

How do I change the command-line parameters passed to KVM?

Check out the parcel, then edit ~/.isr/<uuid>/cfg/kvm.cfg. You must have resumed the parcel at least once for this file to exist. To get the UUID of the parcel, run isr uuid <parcel>.

How do I attach a CD-ROM image to my parcel?

Unlike VirtualBox and VMware, KVM does not provide a GUI for attaching a CD-ROM (ISO) image to a virtual machine. To automatically connect a KVM parcel to the host CD-ROM drive if one is available, edit the parcel's kvm.cfg (see above) and ensure that the -cdrom line exists and reads -cdrom auto. (This is the default for KVM parcels created with OpenISR 0.9.5 or above.) To connect the parcel to a CD-ROM image file, edit the line as follows:

-cdrom /path/to/image.iso

If the -cdrom line points to an image file which does not exist, the parcel will fail to resume.

KVM hangs indefinitely when I try to suspend my parcel.

qemu-kvm version 0.11 and higher does not suspend and resume properly with OpenISR 0.9.10 and earlier. Upgrade to OpenISR 0.10.0.

VirtualBox

What's the deal with USB support?

Older versions of VirtualBox came in two editions, the Personal Use and Evaluation License (PUEL) closed-source version and the Open Source Edition (OSE). The PUEL version supported attaching host USB devices such as flash drives to the guest OS, but the OSE version didn't. For licensing reasons, older versions of Pocket ISR included VirtualBox OSE. If a parcel is configured to support USB and is suspended on a PUEL host, the parcel will fail to resume on an OSE host such as an older version of Pocket ISR. The reverse is also true: a parcel configured with USB support that is cold-booted and suspended on an OSE host will fail to resume on a PUEL host. Disabling USB support in the parcel allows suspend/resume between PUEL and OSE hosts but prevents USB devices from being attached to the guest OS.

VirtualBox 4.0 changed its licensing model to an open-source core with optional, proprietary plugins licensed under the PUEL. Pocket ISR includes the core package but cannot include the proprietary plugins. Support for USB 1.1 devices is included in the core package, so parcels that will only be used with VirtualBox 4 and above can safely enable USB 1.1. In this configuration, USB 2.0 devices can still be used with the parcel at USB 1.1 speeds. Support for USB 2.0 remains available only in a proprietary plugin.

OpenISR 0.9.x enabled USB support on parcels which were first resumed with VirtualBox PUEL, but disabled it on parcels first resumed with VirtualBox OSE. OpenISR 0.10.0 always disabled USB support on newly-created parcels for maximum compatibility. OpenISR 0.10.1 and above enables USB 1.1 support on parcels that are first resumed with VirtualBox 4.0, as these parcels cannot be used with older versions of VirtualBox.

You can enable or disable USB support for a VirtualBox parcel by following the instructions here.

How do I change the VirtualBox settings for my virtual machine?

If you want to attach a CD-ROM disc or USB device, configure shared folders, etc., you can do that from the Devices menu while the parcel is running. If you want to change the memory allocation, see here. If you want to change the disk size, see here. To modify other settings:

  • With OpenISR 0.10.0 or later:
    1. Resume the parcel and shut down the guest OS.
    2. Resume the parcel again, passing -o noresume on the isr command line: isr resume -o noresume <parcel>.
    3. Use the VirtualBox GUI to change your parcel settings.
    4. Press Ctrl-C in the terminal window you used for isr resume.
  • With OpenISR 0.9.x, you will need to modify the virtual machine's XML configuration file directly. It can be found at ~/.isr/<uuid>/cfg/virtualbox.xml, assuming the parcel is checked out and has been resumed at least once. To get the UUID of the parcel, run isr uuid <parcel>.

VirtualBox claims that my parcel's saved state is damaged or from an older version of VirtualBox, and says something about VERR_SSM_LOAD_CPUID_MISMATCH.

By default, VirtualBox does not allow resumption of a virtual machine that was suspended on a CPU with a different set of feature flags. To work around this problem, OpenISR 0.9.9 and above will configure newly-created parcels to emulate a predetermined set of feature flags, but only if the new parcel is initially resumed on a system running VirtualBox 3.1 or above.

When I resume a VirtualBox parcel on a Red Hat Enterprise Linux client, it produces a message about HostAudioNotResponding.

OpenISR 0.9.8 and later configure new VirtualBox parcels to use the PulseAudio sound driver. This is not properly supported on RHEL by VirtualBox earlier than 3.1.4. Upgrade to the most recent version of VirtualBox.

VMware

What's this about fuse.conf and user_allow_other?

Beginning with version 0.10.0, the OpenISR client uses FUSE to provide access to a parcel's virtual disk. For security, access to a FUSE filesystem is usually allowed only to the user who originally mounted the filesystem; for ISR, this is the user who runs isr resume. However, VMware runs its VMM process as root, so in order to resume a VMware parcel, you must configure FUSE to allow root to access virtual filesystems created by others. To do this, edit /etc/fuse.conf, creating it if necessary, and add the following line:

user_allow_other

Note that this option does not give the root user access to all FUSE filesystems on the machine. It simply allows individual filesystem implementations to request that other users be allowed access. ISR specifically takes advantage of this option to give VMware the access it needs, but most filesystems will not encounter any change in behavior with this option enabled.