RainbowHackerHorse / vzvol

Licence: BSD-2-Clause License
vzvol is a general use ZFS zvol management tool, that handles creation, destruction, listing, and formatting with various FSes, in an easy to use single program

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to vzvol

Robox
The tools needed to robotically create/configure/provision a large number of operating systems, for a variety of hypervisors, using packer.
Stars: ✭ 303 (+1022.22%)
Mutual labels:  freebsd, debian, virtualbox
extfstools
Tools for extracting files from ext2,3,4 filesystem images
Stars: ✭ 84 (+211.11%)
Mutual labels:  ext4, ext3, ext2
Democratic Csi
csi storage for container orchestration systems
Stars: ✭ 120 (+344.44%)
Mutual labels:  freebsd, debian, storage
Hiddenvm
HiddenVM — Use any desktop OS without leaving a trace.
Stars: ✭ 1,183 (+4281.48%)
Mutual labels:  debian, virtualbox, virtualization
Imm2Virtual
This is a GUI (for Windows 64 bit) for a procedure to virtualize your EWF(E01), DD (raw), AFF disk image file without converting it, directly with VirtualBox, forensically proof.
Stars: ✭ 40 (+48.15%)
Mutual labels:  virtualbox, filesystem, virtualization
gcsfs
Google Cloud Storage filesystem for PyFilesystem2
Stars: ✭ 36 (+33.33%)
Mutual labels:  storage, filesystem
ModernOperatingSystems AndrewTanenbaum
My notes after reading 'Modern Operating Systems' book by Andrew Tanenbaum and Herbert Bos.
Stars: ✭ 71 (+162.96%)
Mutual labels:  filesystem, virtualization
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (+40.74%)
Mutual labels:  freebsd, virtualbox
ansible-role-packer-debian
Ansible Role - Packer Debian/Ubuntu Configuration for Vagrant VirtualBox
Stars: ✭ 32 (+18.52%)
Mutual labels:  debian, virtualbox
yosild
Yosild is a single shell script that builds a full, minimal Linux distribution based on BusyBox.
Stars: ✭ 97 (+259.26%)
Mutual labels:  debian, virtualbox
OpenWRT-x86 64-Install
Create and deploy a LEGACY or EFI OpenWRT bootable image for x86_64 processors
Stars: ✭ 15 (-44.44%)
Mutual labels:  ext4, ext4-filesystem
findlargedir
find all "blackhole" directories with a huge amount of filesystem entries in a flat structure
Stars: ✭ 15 (-44.44%)
Mutual labels:  freebsd, filesystem
MeowDB.js
Database in JSON (Node.JS Library)
Stars: ✭ 12 (-55.56%)
Mutual labels:  storage, filesystem
go-ext4
A pure Go implementation of an ext4 reader with journaling support that does not require the kernel nor privileged access.
Stars: ✭ 31 (+14.81%)
Mutual labels:  ext4, ext4-filesystem
vagrant-templates
Vagrantfiles for self-contained development/test environments.
Stars: ✭ 28 (+3.7%)
Mutual labels:  freebsd, debian
xfsvol
Local Docker Volumes with XFS Project Quota
Stars: ✭ 24 (-11.11%)
Mutual labels:  storage, xfs
TLightFileStream
Implements a lightweight, high-performance, non-allocating advanced-record-based wrapper around the SysUtils file handling routines as an alternative to Classes.TFileStream.
Stars: ✭ 21 (-22.22%)
Mutual labels:  filesystem, sysutils
ext2py
The slowest ext2fs driver ever! (in Python)
Stars: ✭ 14 (-48.15%)
Mutual labels:  ext2, filesystem
echfs
The echfs filesystem
Stars: ✭ 150 (+455.56%)
Mutual labels:  filesystem, filesystem-utils
packer-FreeBSD
Build a FreeBSD VM for Vagrant using packer
Stars: ✭ 23 (-14.81%)
Mutual labels:  freebsd, virtualbox

Testing Status: CircleCI

vzvol

VZvolLogo

vzvol is a tool to assist in the creation of ZFS zvols as storage for various virtualization providers.

What

Creates a ZFS zvol, and configures permissions, and creates and registers a VirtualBox VMDK shim for the zvol if you ask nicely.

Why

This allows you to use the zvol to back a disk for VirtualBox, bhyve, or other virtualization providers. vzvol also allows you to format your zvol with many filesystems, including:

  • zfs
  • ufs2
  • fat32
  • ext2,3,4
  • xfs

Dependencies

vzvol is written to be a 0-dependency program for its main functionality. However, to enable the use of certain functions, some additional packages are required:

FreeBSD

  • The -p flag requires the installation of sysutils/pv. This port is not needed if you don't use -p
  • XFS filesystem support requires the installation of sysutils/xfsprogs
  • ext2, ext3, and ext4 require the installation of sysutils/e2fsprogs
  • vzvol no longer requires sudo, however now, it must either be run as root, or with sudo.

By default, on FreeBSD, these options are enabled. They can be disabled if installing fron ports.

Linux

  • dialog
  • dosfstools
  • xfsprogs
  • pv
  • zfsutils

Contributing

Fork and open a PR with your changes. If you've contributed, please ensure you edit CONTRIBUTORS and add your GitHub username to the bottom if it isn't already listed!

Package Status

vzvol is currently supported in the following OS pkg systems:

FreeBSD Ports

  1. cd /usr/ports/sysutils/vzvol && make install clean or pkg install vzvol

Debian (Using my repo)

  1. Ensure apt-transport-https is installed.
  2. Add deb https://repo-hackerhorse-io.nyc3.digitaloceanspaces.com/deb/ debian main to /etc/apt/sources.list.d/vzvol.list (Once DO allows for CNAMEs on Spaces, this will change to https://repo.hackerhorse.io/deb)
  3. Run sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FF07F6AE
  4. Run apt-get update
  5. Run apt-get install vzvol

Unsupported

  • Debian Linux - If you know a Debian pkg maintainer who would like to sponser us getting a pkg made officially, get us in touch!

Building Linux Packages

I made building Linux packages easy here, thanks to FPM.

Dependencies: FPM

  1. Clone the git repo
  2. cd to where you cloned the repo to
  3. cd build
  4. ./vzvol_build.sh "version" "deb/rpm" "vzvol git directory" "maintainer email"

Creating a repo

I'm lazy and found a thing called aptly. This is how I created the Debian repo.

  1. aptly repo create vzvol
  2. aptly repo add vzvol vzvol_VERSION_all.deb
  3. aptly snapshot create vzvol from repo vzvol
  4. aptly publish -distribution=debian -architectures=amd64 snapshot vzvol
  5. aptly publish -distribution=ubuntu -architectures=amd64 snapshot vzvol

Your repo will be in ~/.aptly/public Publish where you please, or just mirror mine!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].