User Tools

Site Tools


Sidebar

unix:freebsd:system_builds:xenstoragebackend

Build Storage Backend for Virtualization (Xen)

I am moving our iSCSI target over to FreeBSD. Our iSCSI servers are generally used as the “disk drives” for Xen virtual servers. NFS with File Backed Devices (FBD) is really too slow when several virtuals are running at the same time, but iSCSI appears to fix this issue.

This document will describe how it is built.

Basic Requirements

  • NFS service used for common files
    • xen-configs stores the Xen configuration files shared by all DOM0's. It is generally mounted under /etc/xen/iscsi-configs
    • xen-store stores common files for all DOM0's. This includes ISO images (for install and/or maintenance).
    • xen-images stores FBD's, allowing quick and dirty testing where necessary.
  • iSCSI exports for the virtual images. Each virtual may have one or two images exported by the iSCSI target. In many cases, I use a small image for the operating system, then a larger image for the data. The second image for Linux is usually set up as a Physical Volume for LVM2 during installation. For FreeBSD, it would be ZFS. For Windows, we generally use only one image.

The Setup

  1. Do a basic install with any utilities you might commonly need. My personal choices are in the article Basic FreeBSD Installation, which is still a work in progress.
  2. Install NFS
    1. Create a directory tree under /media/nfs
    2. Populate NFS directory tree
  3. Install iSCSI
  4. Create some ZFS volumes to store the images and configure iSCSI to export them
  5. Start the iSCSI service

Details

NFS

As mentioned earlier, we use nfs to store some files common to all of the virtuals. Thus, we can store Xen configuration files, installer and utility ISO's, etc… via nfs so they are usable by all machines. We can even store FBD (File Backed Devices) here. Basically, anything that does not get a lot of data access.

See Build NFS Server for notes on how to set up NFS server.

Set up iSCSI server

Create iSCSI volumes and export them

unix/freebsd/system_builds/xenstoragebackend.txt · Last modified: 2019/03/01 22:45 by rodolico