Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


lvm (105) Versions 0.8.12

Installs and manages Logical Volume Manager

cookbook 'lvm', '= 0.8.12', :supermarket
cookbook 'lvm', '= 0.8.12'
knife supermarket install lvm
knife supermarket download lvm
Quality -%


Installs lvm2 package and includes resources for managing LVM.


  • Debian/Ubuntu
  • RHEL/CentOS
  • Suse Enterprise Linux (SLES)


There are three LWRPs in the LVM cookbook that can be used to perform operations
with the Logical Volume Manager.


Manages LVM physical volumes.


  • :create - Creates a new physical volume. Default.

Attribute Parameters

  • name The device to create the new physical volume on. Required, name parameter.


lvm_physical_volume '/dev/sda'


Manages LVM logical volumes


  • :create - Creates a new logical volume

Attribute Parameters

  • name - The name of the logical volume. Required, name parameter.
  • group - The volume group in which to create the new volume. Required unless the volume is declared inside of an lvm_volume_group block (<a href='#volume_group'>see below</a>).
  • size - The size of the volume. This can be any of the size specifications supported by LVM—SI bytes (e.g. 10G), physical extents, or percentages of all the extents in the volume group, all the free extents, or of the physical volumes assigned to the volume.
  • filesystem - The filesystem to format the volume as. The appropriate tools must be installed for the filesystem.
  • mount_point - Either a string containing the path to the mount point, or a Hash containing the following keys:
    • location - the directory to mount the volume on. Required.
    • options - the mount options for the volume.
    • dump - the dump field for the fstab entry.
    • pass - the pass field for the fstab entry.
  • physical_volumes - An array of physical volumes that the volume will be restricted to.
  • stripes - the number of stripes for the volume.
  • stripe_size - the number of kilobytes per stripe segment. Must be a power of 2 less than or equal to the physical extent size for the volume group.
  • mirrors - the number of mirrors for the volume.
  • contiguous - whether or not volume should use the contiguous allocation policy. Default is non-contiguous.
  • readahead - the readahead sector count for the volume. Can be a value between 2 and 120, 'auto', or 'none'


lvm_logical_volume 'home' do
    group 'vg00'
    size '25%VG'
    filesystem 'ext4'
    mount_point '/home'
    stripes 3
    mirrors 2

<a name='volume_group' />


Manages LVM volume groups.


  • :create - Creates a new volume group. Default.

Attribute Parameters

  • name - The name of the volume group. Required, name parameter.
  • physical_volumes - A device or list of devices to use as physical volumes. If they haven't already been initialized as physical volumes, they will be initialized automatically. Required.
  • physical_extent_size - The physical extent size for the volume group.
  • logical_volume - A shortcut for creating a new lvm_logical_volume definition. The logical volumes will be created in the order they are declared.


lvm_volume_group 'vg00' do
    physical_volumes [ /dev/sda, /dev/sdb, /dev/sdc ]
    logical_volume 'logs' do
        size '1G'
        filesystem 'xfs'
        mount_point :location => '/var/log', :options => 'noatime,nodiratime'
        stripes 3
    logical_volume 'home' do
        size '25%VG'
        filesystem 'ext4'
        mount_point '/home'
        stripes 3
        mirrors 2


Make sure the lvm package is always up to date with this recipe. Put
it in a base role that gets applied to all nodes.

Note that this cookbook depends on the
di-ruby-lvm and
di-ruby-lvm-attrib gems.
The di-ruby-lvm-attrib gem in particular is a common cause of failures when
using the providers. If you get a failure with an error message similar to

No such file or directory - /opt/chef/.../di-ruby-lvm-attrib-0.0.3/lib/lvm/attributes/2.02.86(2)/lvs.yaml

then you are running a version of lvm that the gems do not support. However,
getting support added is usually pretty easy. Just follow the instructions on
"Adding Attributes" in the di-ruby-lvm-attrib README.

License and Author

Author:: Joshua Timberman

Author:: Greg Symons

Copyright:: 2011, Opscode, Inc

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

This cookbook has no specified dependencies.

Contingent cookbooks

bigdata Applicable Versions
chef-provisioning-aws-helper Applicable Versions
drbd Applicable Versions
ephemeral_lvm Applicable Versions
filesystem Applicable Versions
ganeti Applicable Versions
gluster Applicable Versions
maxdb Applicable Versions
open-build-service Applicable Versions
openstack-block-storage Applicable Versions
sbuild Applicable Versions
server_utils Applicable Versions
zabbix_lwrp Applicable Versions

No quality metric results found