Create ASMDISK on LVM

the first, i created logical volume: lvcreate -L 2000M -n lvdata1 vg01 ( volume group is: vg01)
lvcreate -L 2000M -n lvdata2 vg01
lvcreate -L 2000M -n lvdata3 vg01
i created the ASMDISKS: ASM1 , ASM2, ASM3 ( use asmlib): /etc/init.d/oracleasm createdisk ASM1 /dev/vg01/lvdata1,...
when i executed: /etc/init.d/oracleasm listdisks , result as:
DATA1
DATA2
ASM1
ASM2
ASM3
connected to asm instance:
then , i created a diskgroup: dgdata01 by execute cmd: create diskgroup dg03 normal redundancy disk 'ORCL:ASM1','ORCL:ASM2';
execute commandline: show parameter asm_diskgroup , appear: dg01,dg02,dg03, successfully.
When i restart server, then i execute: /etc/init.d/oracleasm listdisks, the result : DATA1 ,DATA2
ls -l /dev/oracleasm/disks appear: DATA1, DATA2
-->the asm disks: ASM1,ASM2,ASM3 not found.
thanks,

Hi,
a.) Why do you want an logical volume manager below a volume manager? ASM is a volume manager, so it does not make sense to put it on top of LVM.
b.) If this is for a cluster, this won't work anyway. LVM is not clusteraware.
Even though: Look here for a solution:
RHEL/OL5 oracleasm listdisks fails not list LVM-managed ASM devices after reboot (Doc ID 558596.1)
Sebastian

Similar Messages

  • [SOLVED] KVM Virtual machine using virt-install on a LVM partition

    Hello,
    I am far from an expert, and I am trying to build a virtual machine (debian squeeze) on my Arch 64 bits host. The VM will serve as a server with usual services (http, mail, ftp, media server etc). This is only for my own purpose and I do it as a hobby.I have no obligation to success, and more important I want to understand everything i do. I have some doubts, so why my post here.
    I want to install the VM on a LVM partition.
    -I first create successfully a LVM partition on /dev/sda4
    $fdisk -l /dev/sda
    /dev/sda4 1925115904 2949116309 512000203 8e LVM Linux
    I will install the VM (named "daffodil") on a 200G Logical Volume on groupe vg0
    $ lvcreate –n lv_daffodil –L 200G vg0
    Logical volume “lv_daffodil” created
    Now I need to create the VM. I want to use virt-install IN COMMAND LINE. After days an days of reading (and headache), here is what i think is the correct command :
    virt-install --connect qemu:///system --name=daffodil --ram 8192 --cpu host
    --disk path=/dev/vg0/lv_daffodil,size=200,bus=virtio,sparse=false,format=raw --cdrom /var/lib/libvirt/images/isofiles/debian-6.0.4-amd64-netinst.iso
    --description="daffodil (debian squeeze) - vm guest on host magnolia" --graphics vnc --os-type=linux --os-variant=debiansqueeze
    --network bridge:br0 --video=vga --hvm --accelerate
    So my questions :
    Is the command correct and academic?
    I think size=200 is maybe not needed, as the LV has already be created. Right?
    format=raw seems weird to me and not needed. Right?
    My host has 16G RAM. Shall I put 16 as --ram argument or stay with 8 ?
    How about the filesystem? I want an ext4. Shall I create it on lv_daffodil BEFORE the install or will I do it under the install process when partitioning?
    Any advantage in creating smaller than 200G logical volume, even if I want my VM have enough space (The whole HD is 2T)?
    Not sure about the --accelerate argument
    Any hint for optimization?
    As a n00b ++, will I be able to manage SELinux on my server, as it seems a litle bit tricky?
    what about --noautoconsole argument?
    Thank you for your help and knowledge.
    Last edited by gabx (2012-05-02 10:39:16)

    As I didn't have any answer in one week, I suscribed to [email protected]
    For those of you interested in KVM, find below a script doing excatly the needed job.
    #!/bin/bash
    #created Thursday April 26 2012
    #following Richard W.M.Jones <[email protected]> advices and script
    #this script can be changed according your own need. This one will
    #install a debian VM called daffodil on a LVM partition, with 2 CPU, 8192 RAM
    # Script used to install VMs.
    # You have to lvcreate the disk first!
    # lvcreate -L sizeG -n $name vg_data
    set -e
    name=daffodil
    cpus="--cpu=host --vcpus=2"
    disk="--disk path=/dev/vg0/lv_daffodil"
    location="--cdrom /var/lib/libvirt/images/isofiles/debian-6.0.4-amd64-netinst.iso
    type="--os-type=linux"
    variant="--os-variant=debiansqueeze"
    graphics="--graphics spice"
    bus="virtio"
    network="--network bridge=br0"
    virt-install -n $name -r 8192 \
    $name $cpus $type $variant $disk $location $graphics $bus $network
    To answer to some of my queries in first post:
    no need to give the size as I want to use the full lvm I created first. Virt-install will pick up the size
    the filesystem will be created during install
    CPU amount should be less than the host, as well as CPU numbers.
    --accelerate argument is no more needed
    spice give usually better graphic results than vnc

  • Syslinux, GPT, RAID 0/1, LVM: Successfully boots, then hangs/crashes

    I have a system with two hard drives that were initially zeroed-out (sda and sdb).  I'm trying to do an Arch install with Syslinux, GPT partitioning, RAID1 (/boot and swap), and RAID0 (LVM for / and /home).  I can get my install to boot successfully but after I enter my username (root) and password (hunter2) it's completely usable until it seems to hang (sometimes shifting the display) moments later.
    Here's my best recreation of my installation steps.  Hopefully you can tell me what I'm doing wrong or how I can troubleshoot further.
    # Partitioning
    gdisk /dev/sda
    gdisk /dev/sdb
    # I configure the partition table identically on sda and sdb:
    # # Flags Type Size
    # 1 Boot FD00 128 MB # /boot
    # 2 FD00 2 GB # swap
    # 3 FD00 Remaining space (~ 253 GB) # LVM for / and /home
    # Load kernel modules
    modprobe dm-mod
    modprobe raid0
    modprobe raid1
    ## RAID
    mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=1.0 /dev/sd[ab]1 # Create RAID1 for /boot
    mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sd[ab]2 # Create RAID1 for swap
    mdadm --create /dev/md3 --level=0 --raid-devices=2 /dev/sd[ab]3 # Create RAID0 for LVM for / and /home
    ## LVM
    pvcreate /dev/md3 # Initialize /dev/md3 for LVM
    vgcreate VolGroup00 /dev/md3 # Create VolGroup00 VG
    lvcreate -L 10G VolGroup00 -n lvroot # Create LV for /
    lvcreate -L 10G VolGroup00 -n lvhome # Create LV for /home
    # Formatting
    mkfs.ext2 /dev/md1 # Create ext2 file system for /boot
    mkswap /dev/md2 # Create swap device
    mkfs.ext4 /dev/mapper/VolGroup00-lvroot # Create ext4 file system for /
    mkfs.ext4 /dev/mapper/VolGroup00-lvhome # Create ext4 file system for /home
    # Mount the partitions
    mount /dev/mapper/VolGroup00-lvroot /mnt
    mkdir /mnt/boot
    mount /dev/md1 /mnt/boot
    mkdir /mnt/home
    mount /dev/mapper/VolGroup00-lvhome /mnt/home
    # Connect to the internet (skip; DHCP worked)
    # Install the base system
    pacstrap /mnt base base-devel vim
    # Install a bootloader
    arch-chroot /mnt pacman -S syslinux
    # Configure the system
    genfstab -pU /mnt >> /mnt/etc/fstab
    arch-chroot /mnt /bin/bash
    echo swamp > /etc/hostname
    ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
    locale > /etc/locale.conf
    # I fix a few minor things in /etc/locale.conf so they are all set like LC_ALL="en_US.UTF-8"
    echo "KEYMAP=us" > /etc/vconsole.conf
    # I uncomment en_US.UTF-8 UTF-8 in /etc/locale.gen
    locale-gen
    # I make these changes to /etc/mkinitcpio.conf:
    # MODULES="ext2 ext4 raid0 raid1 dm_mod"
    # HOOKS="base udev autodetect modconf block mdadm_udev lvm2 filesystems keyboard fsck shutdown"
    mkinitcpio -p linux
    syslinux-install_update -iam
    # I change the APPEND lines in /boot/syslinux/syslinux.cfg from:
    # APPEND root=/dev/sda3 ro
    # ... to:
    # APPEND root=/dev/mapper/VolGroup00-lvroot ro
    # Unmount and reboot
    exit
    umount /mnt/boot
    umount /mnt/home
    umount /mnt
    vgchange -an
    mdadm --stop /dev/md3
    mdadm --stop /dev/md2
    mdadm --stop /dev/md1
    reboot
    Last edited by roknir (2013-02-20 04:50:18)

    WonderWoofy wrote:Can you chroot and find out what is in the journal?  You may not even have to chroot, as I think you can simply use the -D option.
    Interesting.  I didn't know about the systemd logging.  I'm glad it's on by default.  Here is the excerpt:
    Feb 19 21:39:40 swamp systemd[1]: Started Trigger Flushing of Journal to Persistent Storage.
    Feb 19 21:39:40 swamp systemd[1]: Starting Permit User Sessions...
    Feb 19 21:39:40 swamp systemd[1]: Started Login Service.
    Feb 19 21:39:40 swamp systemd[1]: Started Permit User Sessions.
    Feb 19 21:39:40 swamp systemd[1]: Starting Getty on tty1...
    Feb 19 21:39:40 swamp systemd[1]: Started Getty on tty1.
    Feb 19 21:39:40 swamp systemd[1]: Starting Login Prompts.
    Feb 19 21:39:40 swamp systemd[1]: Reached target Login Prompts.
    Feb 19 21:39:40 swamp systemd[1]: Starting Multi-User.
    Feb 19 21:39:40 swamp systemd[1]: Reached target Multi-User.
    Feb 19 21:39:40 swamp systemd[1]: Starting Graphical Interface.
    Feb 19 21:39:40 swamp systemd[1]: Reached target Graphical Interface.
    Feb 19 21:39:40 swamp systemd[1]: Starting Update UTMP about System Runlevel Changes...
    Feb 19 21:39:40 swamp systemd[1]: Started Update UTMP about System Runlevel Changes.
    Feb 19 21:39:40 swamp systemd[1]: Startup finished in 1s 201ms 384us (kernel) + 1s 125ms 388us (userspace) = 2s 326ms 772us.
    Feb 19 21:39:42 swamp login[357]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
    Feb 19 21:39:42 swamp systemd-logind[353]: New session 1 of user root.
    Feb 19 21:39:43 swamp login[357]: ROOT LOGIN ON tty1
    Feb 19 21:39:45 swamp kernel: usb 2-1.2.2: new full-speed USB device number 5 using ehci_hcd
    Feb 19 21:39:45 swamp kernel: input: Logitech G9x Laser Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.2/2-1.2.2:1.0/in
    Feb 19 21:39:45 swamp kernel: hid-generic 0003:046D:C066.0003: input,hidraw2: USB HID v1.11 Mouse [Logitech G9x Laser Mouse] on usb-000
    Feb 19 21:39:45 swamp kernel: input: Logitech G9x Laser Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2.2/2-1.2.2:1.1/in
    Feb 19 21:39:45 swamp kernel: hid-generic 0003:046D:C066.0004: input,hiddev0,hidraw3: USB HID v1.11 Keyboard [Logitech G9x Laser Mouse]
    Feb 19 21:39:56 swamp kernel: Console: switching to colour frame buffer device 128x48
    Feb 19 21:39:56 swamp kernel: fb0: astdrmfb frame buffer device
    Feb 19 21:39:56 swamp kernel: drm: registered panic notifier
    Feb 19 21:39:56 swamp kernel: [drm] Initialized ast 0.1.0 20120228 for 0000:06:05.0 on minor 0
    Feb 19 21:39:56 swamp kernel: nouveau ![ DEVICE][0000:01:00.0] unknown Kepler chipset
    Feb 19 21:39:56 swamp kernel: nouveau E[ DEVICE][0000:01:00.0] unknown chipset, 0x0e6060a1
    Feb 19 21:39:56 swamp kernel: nouveau E[ DRM] failed to create 0x80000080, -22
    Feb 19 21:39:56 swamp kernel: nouveau: probe of 0000:01:00.0 failed with error -22
    Feb 19 21:39:56 swamp systemd-udevd[217]: Failed to apply ACL on /dev/dri/card1: No such file or directory
    Feb 19 21:39:56 swamp systemd-udevd[217]: Failed to apply ACL on /dev/dri/card1: No such file or directory
    Feb 19 21:40:34 swamp systemd-logind[353]: Power key pressed.
    Feb 19 21:40:34 swamp systemd-logind[353]: Powering Off...
    Feb 19 21:40:34 swamp systemd-logind[353]: System is powering down.
    Feb 19 21:40:34 swamp systemd[1]: Stopping Sound Card.
    Feb 19 21:40:34 swamp systemd[1]: Stopped target Sound Card.
    Feb 19 21:40:34 swamp systemd[1]: Stopping LVM2 metadata daemon...
    I think these are the pertinent errors:
    Feb 19 21:39:56 swamp kernel: nouveau ![ DEVICE][0000:01:00.0] unknown Kepler chipset
    Feb 19 21:39:56 swamp kernel: nouveau E[ DEVICE][0000:01:00.0] unknown chipset, 0x0e6060a1
    Feb 19 21:39:56 swamp kernel: nouveau E[ DRM] failed to create 0x80000080, -22
    Feb 19 21:39:56 swamp kernel: nouveau: probe of 0000:01:00.0 failed with error -22
    Feb 19 21:39:56 swamp systemd-udevd[217]: Failed to apply ACL on /dev/dri/card1: No such file or directory
    Feb 19 21:39:56 swamp systemd-udevd[217]: Failed to apply ACL on /dev/dri/card1: No such file or directory
    Where do I go from there?

  • Problem with SUNWmdr and SUNWmdu in sol-9-u8-ga-sparc (9/05)

    I'm jumpstarting a 280R with sol-9-u8-ga-sparc (9/05) and it's not installing SUNWmdr and SUNWmdu correctly.
    The profile contains:
    root_device c1t0d0s0
    boot_device c1t0d0s0 update
    partitioning explicit
    filesys mirror c1t0d0s0 c1t1d0s0 15000 / logging
    filesys mirror c1t0d0s1 c1t1d0s1 4096 swap
    filesys mirror c1t0d0s6 c1t1d0s6 free /u00 logging
    metadb c1t0d0s7
    metadb c1t1d0s7
    During the jumpstart the 280R displays:
    - Selecting all disks
    - Configuring boot device
    - Configuring SVM State Database Replica on (c1t0d0s7)
    - Configuring SVM State Database Replica on (c1t1d0s7)
    - Configuring SVM Mirror Volume on / (c1t0d0s0)
    - Configuring SVM Mirror Volume on (c1t1d0s0)
    - Configuring SVM Mirror Volume on swap (c1t0d0s1)
    - Configuring SVM Mirror Volume on SWAP_MIRROR (c1t1d0s1)
    - Configuring SVM Mirror Volume on /u00 (c1t0d0s6)
    - Configuring SVM Mirror Volume on (c1t1d0s6)
    Verifying disk configuration
    Verifying space allocation
    - Total software size: 211.94 Mbytes
    Preparing system for Solaris install
    Configuring disk (c1t0d0)
    - Creating Solaris disk label (VTOC)
    Configuring disk (c1t1d0)
    - Creating Solaris disk label (VTOC)
    Creating and checking UFS file systems
    - Creating / (c1t0d0s0)
    - Creating /u00 (c1t0d0s6)
    Creating SVM Meta Devices
    - Creating SVM State Replica on disk c1t0d0s7
    - Creating SVM State Replica on disk c1t1d0s7
    - metadb: waiting on /etc/lvm/lock
    - Creating SVM Mirror Volume d0 (/)
    - Creating SVM Mirror Volume d10 (swap)
    - Creating SVM Mirror Volume d20 (/u00)
    Beginning Solaris software installation
    so all appears ok but then it shows:
    Completed software installation
    Solaris 9 software installation partially failed
    Solaris 9 packages partially installed
    SUNWmdr
    SUNWmdu
    and then
    Installation complete
    - Creating SVM State Replica on disk c1t0d0s7
    - Creating SVM State Replica on disk c1t1d0s7
    - metadb: waiting on /etc/lvm/lock
    - Creating SVM Mirror Volume d0 (/)
    - Creating SVM Mirror Volume d10 (swap)
    - Creating SVM Mirror Volume d20 (/u00)
    - Making SVM Mirror Volume as boot device (/dev/md/dsk/d0)
    - metaroot: acmifsqorc1-js: /a/etc/lvm/mddb.cf: No such file or directory
    - cp: cannot create /a/etc/lvm/md.cf: No such file or directory
    The system manages to boot but it's not using SVM.
    SunOS Release 5.9 Version Generic_118558-11 64-bit
    Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    configuring IPv4 interfaces: ce0.
    Hostname: xxxxxxx
    /dev/md/dsk/d10: No such device or address
    Configuring /dev and /devices
    The system is coming up. Please wait.
    checking ufs filesystems
    /dev/md/rdsk/d20: No such file or directory
    Can't stat /dev/md/rdsk/d20
    /dev/md/rdsk/d20: CAN'T CHECK FILE SYSTEM.
    /dev/md/rdsk/d20: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    If I repeat the jumpstart with Solaris 9 (9/04) it works without any problems.
    I found the same problem at
    http://supportforum.sun.com/sunos/index.php?t=msg&th=131 3&rid=0
    which says it's fixed in Solaris 9 (9/04). Is it possible that it's broken again in Solaris 9 (9/05)?

    I'm jumpstarting a 280R with sol-9-u8-ga-sparc (9/05) and it's not installing SUNWmdr and SUNWmdu correctly.
    The profile contains:
    root_device c1t0d0s0
    boot_device c1t0d0s0 update
    partitioning explicit
    filesys mirror c1t0d0s0 c1t1d0s0 15000 / logging
    filesys mirror c1t0d0s1 c1t1d0s1 4096 swap
    filesys mirror c1t0d0s6 c1t1d0s6 free /u00 logging
    metadb c1t0d0s7
    metadb c1t1d0s7
    During the jumpstart the 280R displays:
    - Selecting all disks
    - Configuring boot device
    - Configuring SVM State Database Replica on (c1t0d0s7)
    - Configuring SVM State Database Replica on (c1t1d0s7)
    - Configuring SVM Mirror Volume on / (c1t0d0s0)
    - Configuring SVM Mirror Volume on (c1t1d0s0)
    - Configuring SVM Mirror Volume on swap (c1t0d0s1)
    - Configuring SVM Mirror Volume on SWAP_MIRROR (c1t1d0s1)
    - Configuring SVM Mirror Volume on /u00 (c1t0d0s6)
    - Configuring SVM Mirror Volume on (c1t1d0s6)
    Verifying disk configuration
    Verifying space allocation
    - Total software size: 211.94 Mbytes
    Preparing system for Solaris install
    Configuring disk (c1t0d0)
    - Creating Solaris disk label (VTOC)
    Configuring disk (c1t1d0)
    - Creating Solaris disk label (VTOC)
    Creating and checking UFS file systems
    - Creating / (c1t0d0s0)
    - Creating /u00 (c1t0d0s6)
    Creating SVM Meta Devices
    - Creating SVM State Replica on disk c1t0d0s7
    - Creating SVM State Replica on disk c1t1d0s7
    - metadb: waiting on /etc/lvm/lock
    - Creating SVM Mirror Volume d0 (/)
    - Creating SVM Mirror Volume d10 (swap)
    - Creating SVM Mirror Volume d20 (/u00)
    Beginning Solaris software installation
    so all appears ok but then it shows:
    Completed software installation
    Solaris 9 software installation partially failed
    Solaris 9 packages partially installed
    SUNWmdr
    SUNWmdu
    and then
    Installation complete
    - Creating SVM State Replica on disk c1t0d0s7
    - Creating SVM State Replica on disk c1t1d0s7
    - metadb: waiting on /etc/lvm/lock
    - Creating SVM Mirror Volume d0 (/)
    - Creating SVM Mirror Volume d10 (swap)
    - Creating SVM Mirror Volume d20 (/u00)
    - Making SVM Mirror Volume as boot device (/dev/md/dsk/d0)
    - metaroot: acmifsqorc1-js: /a/etc/lvm/mddb.cf: No such file or directory
    - cp: cannot create /a/etc/lvm/md.cf: No such file or directory
    The system manages to boot but it's not using SVM.
    SunOS Release 5.9 Version Generic_118558-11 64-bit
    Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
    Use is subject to license terms.
    configuring IPv4 interfaces: ce0.
    Hostname: xxxxxxx
    /dev/md/dsk/d10: No such device or address
    Configuring /dev and /devices
    The system is coming up. Please wait.
    checking ufs filesystems
    /dev/md/rdsk/d20: No such file or directory
    Can't stat /dev/md/rdsk/d20
    /dev/md/rdsk/d20: CAN'T CHECK FILE SYSTEM.
    /dev/md/rdsk/d20: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    If I repeat the jumpstart with Solaris 9 (9/04) it works without any problems.
    I found the same problem at
    http://supportforum.sun.com/sunos/index.php?t=msg&th=131 3&rid=0
    which says it's fixed in Solaris 9 (9/04). Is it possible that it's broken again in Solaris 9 (9/05)?

  • Setting up raid0 and 2 drives

    Having a problem completing the raid setup with my 2 80GB drives. I followed the wiki perfectly from what I can tell. When I run LVDISPLAY
    It shows
    LV Name /dev/array/root
    VG Name array
    LV Status available
    LV Size 50GB
    PVDISPLAY shows
    PV Name /dev/md0
    VG name array
    PV Size 148GB
    VGDISPLAY shows
    VG Name array
    format lvm2
    VG SIze 148GB
    everything appears to be in order. When I try to install, Arch sees the 2 physical drives sda and sdb.?
    Is this normal, and if so I cant seem to get the installer to setup the raid properly??
    I setup the partitions as 100MB /boot, 50GB root, and I want to make the rest for /home...
    Can anyone help

    This is generally what I do when I'm setting up my raid stuffs...after booting off of core install ... because I want to load packages from the cd/disk img or maybe I'm networkless for whatever reason.
    1.  Configure the individual drives /dev/sd{a,b,c,d...} with 'cfdisk' (however you want) 
        (gotcha:  don't forget to do the math...i.e. "if I want a 100MB RAID10 /boot and I have 4 drives, then ...."  it's comical to wind up with a 10GB /boot or something )
    2.  Reboot & confirm drives have been chopped up how I wanted/intended.
    3.  Check/Load kernel & raid modules/apps & configure raids --RAID0 you say?
    # mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sda5 /dev/sdb5
    3.  Create any desired LVMs & PVMs.
    4.  /arch/install
    It is very important to note that if, for whatever reason, you reboot BEFORE the install has actually finished, you will need to manually reload kernel modules, install mdadm (and anything else you need) and re-create/re-assemble any RAID/LVM partitions before running /arch/install again. 
    After you do it a few times it becomes a breeze I promise ... i credit the wikis

  • PKGBUILDSs for Thunar with LUKS support

    Hi,
    I've made some PKGBUILDs for exo-svn, thunar-svn and thunar-volman which use patches to provide support for LUKS encrypted devices in Thunar.
    I didn't upload them to AUR, cause I will not use the packages. I only wanted to see if it works already and will wait until it's integrated in the stable release of Thunar.
    exo-svn-luks
    # $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
    # Maintainer: aurelien <[email protected]>
    # Contributor: Aurelien Foret <[email protected]>
    pkgname=exo-svn-luks
    pkgver=27155
    pkgrel=1
    pkgdesc="Extensions to Xfce by os-cillation - patched for LUKS support"
    arch=(i686)
    license=('GPL2' 'LGPL2')
    url="http://www.os-cillation.com/article.php?sid=40"
    groups=('xfce4')
    depends=('libxfce4util>=4.4.2' 'gtk2>=2.12.1' 'hal' 'perl-uri')
    makedepends=('pygtk>=2.12.0' 'pkgconfig' 'xfce-mcs-manager>=4.4.2 xfce4-dev-tools')
    options=('!libtool')
    provides=('exo')
    conflicts=('exo')
    install=${pkgname}.install
    source=(http://bugzilla.xfce.org/attachment.cgi?id=1689)
    md5sums=('7a1af943b1df32b6f89ae91823118a22' '22738e04b61e407b583c49ea661b9c63')
    _svntrunk=http://svn.xfce.org/svn/xfce/libexo/trunk/
    _svnmod=libexo
    build() {
    cd $startdir/src
    # Get Latest Source Code
    svn co $_svntrunk $_svnmod
    msg "SVN checkout done or server timeout"
    msg "Starting make..."
    cd $_svnmod
    patch -Np0 -i ../attachment.cgi?id=1689 || return 1
    ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/xfce4 \
    --localstatedir=/var --disable-static \
    --enable-mcs-plugin --enable-python
    make || return 1
    make DESTDIR=${startdir}/pkg install
    thunar-svn-luks
    # $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
    # Contributor: Andrew Simmons <[email protected]>
    pkgname=thunar-svn-luks
    pkgver=27155
    pkgrel=1
    pkgdesc="new modern file manager for Xfce - patched for LUKS support"
    arch=(i686)
    license=('GPL2' 'LGPL2')
    url="http://thunar.xfce.org"
    groups=('xfce4')
    depends=('exo-svn-luks' 'shared-mime-info' 'pcre' \
    'desktop-file-utils' 'libexif' 'hal' 'fam' \
    'startup-notification')
    makedepends=('intltool' 'pkgconfig' 'xfce4-dev-tools')
    provides=('thunar')
    conflicts=('thunar')
    options=('!libtool')
    install=${pkgname}.install
    source=(http://bugzilla.xfce.org/attachment.cgi?id=1690)
    md5sums=('7f381d597d9c34e7f427fe65b011709b')
    _svntrunk=http://svn.xfce.org/svn/xfce/thunar/trunk/
    _svnmod=thunar
    build() {
    cd $startdir/src
    # Get Latest Source Code
    svn co $_svntrunk $_svnmod
    msg "SVN checkout done or server timeout"
    msg "Starting make..."
    cd $_svnmod
    patch -Np0 -i ../attachment.cgi?id=1690 || return 1
    ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/xfce4 \
    --localstatedir=/var --disable-static \
    --disable-gnome-thumbnailers --enable-exif --enable-pcre
    make || return 1
    make DESTDIR=${startdir}/pkg install
    sed -i 's:x-directory/gnome-default-handler;::' ${startdir}/pkg/usr/share/applications/Thunar-folder-handler.desktop
    thunar-volman-luks
    # $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
    # Contributor: Tobias Kieslich <tobias (at) archlinux.org>
    pkgname=thunar-volman-luks
    pkgver=0.2.0
    pkgrel=1
    pkgdesc="automatic management for removeable devices in thunar - patched for LUKS support"
    arch=(i686)
    license=('GPL2')
    url="http://foo-projects.org/~benny/projects/thunar-volman"
    groups=('xfce4-goodies')
    depends=('thunar-svn-luks')
    makedepends=('intltool' 'pkgconfig')
    provides=('thunar-volman')
    conflicts=('thunar-volman')
    options=('!libtool')
    install=${pkgname}.install
    source=(http://download.berlios.de/xfce-goodies/thunar-volman-${pkgver}.tar.bz2 \
    http://bugzilla.xfce.org/attachment.cgi?id=1691
    md5sums=('e4587967fe3b3858d93735fee3edb2fc' 'a5590137233af36fbccf721562312161')
    build() {
    cd ${startdir}/src/thunar-volman-${pkgver}
    patch -Np0 -i ../attachment.cgi?id=1691 || return 1
    ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/xfce4 \
    --localstatedir=/var --disable-static
    make || return 1
    make DESTDIR=${startdir}/pkg install
    The .install files are just renamed copies from the .install files in the ABS tree.

    Thanks for the help so far. I decided against using a keyfile and tailored a set of instructions for my goal (LVM on LUKS, passphrase, non-efi). Is this procedure correct?
    Partitioning
    # cfdisk
              -sda1   -   Boot   -   Primary   -    Linux   -   200 (MB)
              -sda2   -             -   Primary   -    Linux   -
    Load the encryption module
    # modprobe dm-mod
    Configuring LUKS and formating paritions with a passphrase
    Format LUKS
    # cryptsetup -h SHA512 -i 5000 -c aes-xts-plain -y -s 512 luksFormat /dev/sda2
    Check results
    # cryptsetup luksDump /dev/sda2
    Unlocking/Mapping LUKS Partitions with the Device Mapper
    # cryptsetup luksOpen /dev/sda2 lvm
    Initialize physical volume
    # lvm pvcreate /dev/mapper/lvm
    Create volume group
    # lvm vgcreate vgroup /dev/mapper/lvm
    Add logical volumes to volume group
    # lvm lvcreate -L 20G -n root vgroup
    # lvm lvcreate -l 100%FREE -n home vgroup
    Make filesystems and mount partitions
    # mkfs.ext4 /dev/mapper/vgroup-root
    # mount /dev/mapper/vgroup-root /mnt
    # mkfs.ext4 /dev/mapper/vgroup-home
    # mkdir /mnt/home
    # mount /dev/mapper/vgroup-home /mnt/home
    # mkfs.ext2 /dev/sda1
    # mkdir /mnt/boot
    # mount /dev/sda1 /mnt/boot
    Backup cryptheader
    # cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file /mnt/<backup>/<file>.img
    Create an initial ramdisk environment
    # nano /etc/mkinitcpio.conf
    HOOKS="base udev autodetect block encrypt lvm2 filesystems shutdown"
    # mkinitcpio -p linux
    Syslinux
    # pacman -S syslinux
    # syslinux-install_update -i -a -m
    Configure syslinux.cfg to point to the right root partition
    # nano /boot/syslinux/syslinux.cfg
    LABEL arch
            APPEND root=/dev/mapper/vgroup-root cryptdevice=/dev/sda2:vgroup ro
    Last edited by Divinorum (2013-01-22 16:02:13)

  • Dm-crypt with LUKS and systemd changes

    I am planning on setting up an FSE using dm-crypt with LUKS and have just completed the secure wipe process using frandom. To avoid major pitfalls with the next step and confusion with outdated guides I was wondering if anyone can shed some light on dm-crypt with LUKS in regard to changes from systemd.
    Specifically I am looking to partition using LVM and have a key-file. This is more complex than using a standard paritions and password-only setup.
    Reading the discussion on the archwiki page for dm-crypt with LUKS it states at the bottom:
    systemd requires lvm-on-cryptdevice.service active in order to open LVMs on cryptdevices that are not the root partition (which is handled by the initrd).
    What does this mean in the scope of my desired setup and are there any more major changes on the dm-crypt process brought about by systemd? Thank you for the support.

    Thanks for the help so far. I decided against using a keyfile and tailored a set of instructions for my goal (LVM on LUKS, passphrase, non-efi). Is this procedure correct?
    Partitioning
    # cfdisk
              -sda1   -   Boot   -   Primary   -    Linux   -   200 (MB)
              -sda2   -             -   Primary   -    Linux   -
    Load the encryption module
    # modprobe dm-mod
    Configuring LUKS and formating paritions with a passphrase
    Format LUKS
    # cryptsetup -h SHA512 -i 5000 -c aes-xts-plain -y -s 512 luksFormat /dev/sda2
    Check results
    # cryptsetup luksDump /dev/sda2
    Unlocking/Mapping LUKS Partitions with the Device Mapper
    # cryptsetup luksOpen /dev/sda2 lvm
    Initialize physical volume
    # lvm pvcreate /dev/mapper/lvm
    Create volume group
    # lvm vgcreate vgroup /dev/mapper/lvm
    Add logical volumes to volume group
    # lvm lvcreate -L 20G -n root vgroup
    # lvm lvcreate -l 100%FREE -n home vgroup
    Make filesystems and mount partitions
    # mkfs.ext4 /dev/mapper/vgroup-root
    # mount /dev/mapper/vgroup-root /mnt
    # mkfs.ext4 /dev/mapper/vgroup-home
    # mkdir /mnt/home
    # mount /dev/mapper/vgroup-home /mnt/home
    # mkfs.ext2 /dev/sda1
    # mkdir /mnt/boot
    # mount /dev/sda1 /mnt/boot
    Backup cryptheader
    # cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file /mnt/<backup>/<file>.img
    Create an initial ramdisk environment
    # nano /etc/mkinitcpio.conf
    HOOKS="base udev autodetect block encrypt lvm2 filesystems shutdown"
    # mkinitcpio -p linux
    Syslinux
    # pacman -S syslinux
    # syslinux-install_update -i -a -m
    Configure syslinux.cfg to point to the right root partition
    # nano /boot/syslinux/syslinux.cfg
    LABEL arch
            APPEND root=/dev/mapper/vgroup-root cryptdevice=/dev/sda2:vgroup ro
    Last edited by Divinorum (2013-01-22 16:02:13)

  • If I write a waveform file to lev to send to a databas e how can I convert it back to see a waveform?

    Hello
    I created several virtual instruments to go along with my ecg circuit that I created for my senior project. The last step of our senior project is to send the data to a database were it can be retrieved later. I was saving the data as a binary file and than reopening it and displaying the waveform as a graph. I tried to do the same thing saving it as a lvm file because our database guy said that it would be easier to save a text file to a mysql database. But I am having trouble dispalying the data back as a waveform. IIf you open the read file menu and display the data there it wiil show all the text written. So I know the data is saving and being retrieved. After the data is retrieved I send the signal to the create a waveform from dynamic data block and than onto the graph but I do not recieve anything at all on the waveform graph.
    Ray

    It is unclear whether or not you are creating a new LVM file when you fetch from the database or trying to read the text from the database and parse it directly.  The LVM read Express VI expects an LVM file.  If you are creating the LVM file and it is not working, please post a copy of the created file.  It is quite possible the database save/fetch is adding or removing a few things.  In particular, the LVM read will probably not function well if the header info is not restored correctly.
    On a related note, you can probably use the database the return the specific LVM fields without having to go through the create file step.  See the LVM file specification for details of the format.  Talk to your database admin about how to retrieve things.  Let us know if need more help.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • (Native?) ZFS on Linux. Hmm...

    http://www.phoronix.com/scan.php?page=n … &px=ODgyNA
    Has anybody tried any of that? I'd like to see a PKGBUILD or something.

    Do you really expect a FS with end to end checksumming and such a large amount of features to be as fast as a "basic" filesystem?
    ZFS is first and foremost about data integrity and scalabilty, anything else is secondary.
    Consider a mirror setup using a standard FS , if a bit of data gets screwed on drive 1 then the same bit of data gets screwed on drive 2, not so with ZFS. With the checksumming drive 2 recognizes that bit of data is corrupted and self-heals it with the correct data.
    Compare creating mirrors, RAID5, LVM's etc between a normal FS and ZFS, ie RAID 5 with 1 disk for parity
    zfs create tank raidz1 /dev/ada0 /dev/ada1 /dev/ada2
    Snapshots.. its simple to roll back to any of these points in time.
    NAME USED AVAIL REFER MOUNTPOINT
    tank/home/[email protected] 15.0M - 861M -
    tank/home/[email protected] 15.5M - 862M -
    tank/home/[email protected] 13.2M - 835M -
    tank/home/[email protected] 1.69M - 837M -
    tank/home/[email protected] 31.7M - 869M -
    tank/home/[email protected] 354K - 837M -
    tank/home/[email protected] 1.65M - 838M -
    tank/home/[email protected] 480K - 837M -
    /* snip */
    I'd really suggest looking at all the things ZFS offers and then how fast it is all things considered, my workstation storage pool uses mirrored WD caviar blacks 1TB's and gets 250MB | 109MB read/writes, pretty fast enough.

  • [Solved Kinda] Error Message when creating a LVM Snapshot.

    I upgraded my Arch Laptop this morning, which among other things, also had an update for lvm2.
    Anyways, as part of my backup strategy I create a LVM Snapshot of root and transfer that via rdiff-backup.
    This used to work no problem. But ever since the update, whenever I create the snapshot, I get the following error message at the console:
    lvcreate -L1G -s -n SnapRoot /dev/vg/root
      The link /dev/vg/SnapRoot should had been created by udev but it was not found. Falling back to direct link creation.
      semid 294912: semop failed for cookie 0xd4da0ca: incorrect semaphore state
      Could not signal waiting process using notification semaphore identified by cookie value 223191242 (0xd4da0ca)
      semid 294912: semop failed for cookie 0xd4da0ca: incorrect semaphore state
      Failed to set a proper state for notification semaphore identified by cookie value 223191242 (0xd4da0ca) to initialize waiting for incoming notifications.
      Logical volume "SnapRoot" created
    It still creates the Snapshot volume, but I wasn't sure if it wasn't corrupted or something. Does anyone know what this error message means? Can I safely ignore it?
    By the way, I don't know if its relevant, but my partition setup is like this:
    /boot is a standard ext2 volume
    /root is a unencrypted LVM2 volume
    /home is LUKS Encrypted Volume ON TOP of a LVM2 volume.
    Swap is also a LVM2 volume.
    ######update#####
    Well, I don't know what changed, but this evening, I tried the whole lvm snapshot deal again, and this time there was no error message.
    Perhaps some timestamps or something were wrong, or not as they should have been. Either way, I have no idea what might have changed. Since I definately tried one or two reboots to see if that would have fixed the problem.
    Oh well.
    Last edited by ChojinDSL (2010-11-30 21:20:48)

    Go to Preferences and turn off Background Rendering.
    Select your project in the library and in the File menu, click on Delete project Render Files; choose All when prompted. Select your event and do the same with the event Render files. In the project use the range tool to select a short section. Try to export that as a test. Don't render before you export.
    If that doesn't work, copy the project and paste it into a fresh project. Try another export test.
    If that doesn't work, create a new user account.
    As for Blu Ray, there is a Share preset if want to check it out. Very simple menus. And the preset can only handle single tracks.
    Good luck.
    Russ

  • Showstopper bug in latest UEKR3 kernel - can't create LVM snapshot of ext4 fs

    cross-posted to gain a wider audience, because this is urgent
    When my backup system attempts to create an LVM snapshot of an ext4 fs, it fails, and the log is full of kernel warnings.  Some of my servers actually reboot themselves.  i've had to turn off backups for the moment.
    It seems that this is a known problem, and a patch for it already exists.  See: Re: warning in ext4_journal_start_sb on filesystem freeze (Linux Ext4)
    I gave this info to a receptionist at Oracle on 12/30, and she seemed to understand that it needed to get to the Oracle Linux product group, but so far no one has contacted me for details, or to let me know that they're working on this.
    It seems to me that this is a 100% critical bug, that *ought* to have gotten an immediate reaction.  Does anyone here know how to get Oracle's attention?

    Hi @cooldog ,
    I hit this same LVM2 snapshot kernel oops on several Oracle Linux 6.5 servers running UEK R3 kernel version 3.8.13-16.3.1.  I have Linux Premier Support so I opened a Service Request.  Oracle Support got back to me with the following notes.
    Hello Matt, 
    Bug 17487738 : EXT4: STRESS TESTING WITH SUSPEND/RESUME FS ACCESS CAUSES FS ERRORS This bug is fixed in kernel version: 3.8.13-18. This kernel will be available quite soon for download.
    You may upgrade the kernel once its available. ~Siju 
    Update
    Dear Matt, Latest available UEK3 kernel version 'kernel-uek-3.8.13-26.el6uek.x86_64' incorporates the required bugfix. [root@server1 tmp]# rpm -q --changelog -p kernel-uek-3.8.13-26.el6uek.x86_64.rpm | grep -i 17487738
    warning: kernel-uek-3.8.13-26.el6uek.x86_64.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID ec551f03
    - fs: protect write with sb_start/end_write in generic_file_write_iter (Guangyu Sun) [Orabug: 17487738] <<<<<<======================================== You can download the UEK3 kernel from ULN or from public-yum repo. 
    http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/getPackage/kernel-uek-firmware-3.8.13-26.el6uek.noarch.rpm
    http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/getPackage/kernel-uek-3.8.13-26.el6uek.x86_64.rpm Hope this helps! ~Siju 
    Subscribe to the Oracle Linux el-errata mailing list .
    The latest kernel-uek-3.8.13-26.el6uek.x86_64 version fixed the problem.
    - Matt

  • Error creating filesystem dm_crypt (Error creating filesystem lvm-lv)

    I'm new to Arch and I've tried to to a new installation on my notebook. I followed the "Official Arch Linux Installation Guide", chapter "Manually configure block devices, filesystems and mountpoints" in order to create my encrypted disk setup.
    Created 2 partitions: sda1 250MB for boot (bootable), sda2 rest of the disk
    The installer quits the creration of the file system with the error "Error creating filesystem dm_crypt on /dev/sda2". I don't get why and I did not found any information in the forum about this.
    I've sent a bug report, so you can check the content here: http://sprunge.us/HaJA
    The installer log shows "[DEBUG UI ] show_warning 'process_filesystem error': Error creating filesystem lvm-lv on /dev/mapper/cryptgroup. (msg)"
    Last edited by lasombra (2011-09-01 19:12:35)

    Mhh I've redone the whole creation of the volumes and when I have chosen less space for the home partition (550000 MB instead of 555243MiB) the installation went fine.
    40000MiB for cryptroot
    15000MiB for cryptvar
    555243MiB for crypthome
    -> 610243MiB used.
    610245MiB is the disk space for  /dev/sda2
    Therefore I would assume that 555243MiB for crypthome is ok.
    Did I missed something?

  • Creating a static link for an hdd in an lvm?

    One of the HDDs in my lvm has its "Advanced power management level" too low. I can't run a script to change it since you know the hdd name changes, and uuid is only for filesystems and not individual hdds.
    Whats a way I can get a static link to the hdd?

    Mr.Elendig wrote:lvinfu/vginfo/pvinfo will tell you what disk the data is on, if that is what you are after.
    I need something I can point hdparm to. I have to manually keep finding if its in /dev/sdb or /dev/sdd from fdisk and then run hdparm myself

  • Get date-time from .lvm

    With Labview I've created a .lvm file with 6 colums of data. The .lvm also contains a x value (+1 for each row) so i'm saving 1 row of data every second.
    If I plot the data in Diadem the X-axis shows up as relative time, but I want to see the absolute time (date+time). All the information is to do this is present in the header of the .lvm, but I cant find the setting to do this!
    Thank in advance!

    Hi Inspectation,
    OK, I got your *.LVM file, and all is clear.  The problem in this case is that DIAdem 2010 and prior versions are hiding the absolute date/time property of the waveform from you in an attempt not to confuse you.  But since that's exacty what you want to see, this approach ends up being very confusing indeed, even though it works great for most of our customers.
    The good news is that the LVM DataPlugin is parsing the absolute date/time property for each channel, and that property is being loaded (invisibly) into the Data Portal, so you can run a VBScript to fish out that information and create a new DateTime channel to plot the data against on the X axis:
    OPTION EXPLICIT
    Dim GroupIdx, ChanIdx
    GroupIdx = GroupDefaultGet
    IF GroupChnCount(GroupIdx) > 0 THEN
    ChanIdx = CNoXGet(GroupIdx, 1)
    Call WfmToDateWfm(ChanIdx, "DateTime")
    Call ChnRenumber
    END IF
    Function WfmToDateWfm(Channel, DateTimeChanName)
    Dim ChnStartTime, OffStartTime, ChnDeltaTime, RelStartTime, RelStopTime, DateTimeChannel
    IF ChnPropValGet(Channel, "waveform") <> "Yes" THEN Exit Function
    ChnStartTime = CDbl(CDate(ChnPropValGet(Channel, "wf_start_time")))
    OffStartTime = ChnPropValGet(Channel, "wf_start_offset")
    ChnDeltaTime = ChnPropValGet(Channel, "wf_increment")
    RelStartTime = 24*3600*(Trunc(ChnStartTime) + 693958 + Abs(Frac(ChnStartTime))) + OffStartTime
    RelStopTime = RelStartTime + ChnDeltaTime*(ChnLength(Channel) - 1)
    IF DateTimeChanName = "" THEN DateTimeChanName = ChnName(Channel) & " DateTime"
    Call GroupDefaultSet(ChnGroup(Channel))
    DateTimeChannel = ChnLinGen("/" & DateTimeChanName, RelStartTime, RelStopTime, ChnLength(Channel))
    ChnFormat(DateTimeChannel) = "Time"
    Call ChnMove(DateTimeChannel, ChnGroup(Channel), ChnIndex(Channel))
    WfmToDateWfm = DateTimeChannel
    End Function ' WfmToDateWfm()
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • LVM Volumes not available after update

    Hi All!
    I haven't updated my system for about two months and today I updated it. Now I have the problem that I cannot boot properly. I have my root partition in an LVM volume and on boot I get the message
    ERROR: device 'UUID=xxx' not found. Skipping fs
    ERROR: Unable to find root device 'UUID=xxx'
    After that I land in the recovery shell. After some research I found, that "lvm lvdisplay" showed that my volumes where not available and I had to reenable them with "lvm vgchange -a y".
    Issuing any lvm command also produced the following warning:
    WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
    Anyway, after issuing the commands and exiting the recovery shell, the system booted again. However, I would prefer being able to boot without manual actions.
    Thanks in advance!
    Further information:
    vgdisplay
    --- Volume group ---
    VG Name ArchLVM
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 3
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 1
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 232.69 GiB
    PE Size 4.00 MiB
    Total PE 59568
    Alloc PE / Size 59568 / 232.69 GiB
    Free PE / Size 0 / 0
    VG UUID SoB3M1-v1fD-1abI-PNJ3-6IOn-FfdI-0RoLK5
    lvdisplay (LV Status was 'not available' right after booting)
    --- Logical volume ---
    LV Path /dev/ArchLVM/Swap
    LV Name Swap
    VG Name ArchLVM
    LV UUID XRYBrz-LojR-k6SD-XIxV-wHnY-f3VG-giKL6V
    LV Write Access read/write
    LV Creation host, time archiso, 2014-05-16 14:43:06 +0200
    LV Status available
    # open 0
    LV Size 8.00 GiB
    Current LE 2048
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 256
    Block device 254:0
    --- Logical volume ---
    LV Path /dev/ArchLVM/Root
    LV Name Root
    VG Name ArchLVM
    LV UUID lpjDl4-Jqzu-ZWkq-Uphc-IaOo-6Rzd-cIh5yv
    LV Write Access read/write
    LV Creation host, time archiso, 2014-05-16 14:43:27 +0200
    LV Status available
    # open 1
    LV Size 224.69 GiB
    Current LE 57520
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 256
    Block device 254:1
    /etc/fstab
    # /etc/fstab: static file system information
    # <file system> <dir> <type> <options> <dump> <pass>
    # /dev/mapper/ArchLVM-Root
    UUID=2db82d1a-47a4-4e30-a819-143e8fb75199 / ext4 rw,relatime,data=ordered 0 1
    #/dev/mapper/ArchLVM-Root / ext4 rw,relatime,data=ordered 0 1
    # /dev/sda1
    UUID=72691888-a781-4cdd-a98e-2613d87925d0 /boot ext2 rw,relatime 0 2
    /etc/mkinitcpio.conf
    # vim:set ft=sh
    # MODULES
    # The following modules are loaded before any boot hooks are
    # run. Advanced users may wish to specify all system modules
    # in this array. For instance:
    # MODULES="piix ide_disk reiserfs"
    MODULES=""
    # BINARIES
    # This setting includes any additional binaries a given user may
    # wish into the CPIO image. This is run last, so it may be used to
    # override the actual binaries included by a given hook
    # BINARIES are dependency parsed, so you may safely ignore libraries
    BINARIES=""
    # FILES
    # This setting is similar to BINARIES above, however, files are added
    # as-is and are not parsed in any way. This is useful for config files.
    FILES=""
    # HOOKS
    # This is the most important setting in this file. The HOOKS control the
    # modules and scripts added to the image, and what happens at boot time.
    # Order is important, and it is recommended that you do not change the
    # order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
    # help on a given hook.
    # 'base' is _required_ unless you know precisely what you are doing.
    # 'udev' is _required_ in order to automatically load modules
    # 'filesystems' is _required_ unless you specify your fs modules in MODULES
    # Examples:
    ## This setup specifies all modules in the MODULES setting above.
    ## No raid, lvm2, or encrypted root is needed.
    # HOOKS="base"
    ## This setup will autodetect all modules for your system and should
    ## work as a sane default
    # HOOKS="base udev autodetect block filesystems"
    ## This setup will generate a 'full' image which supports most systems.
    ## No autodetection is done.
    # HOOKS="base udev block filesystems"
    ## This setup assembles a pata mdadm array with an encrypted root FS.
    ## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
    # HOOKS="base udev block mdadm encrypt filesystems"
    ## This setup loads an lvm2 volume group on a usb device.
    # HOOKS="base udev block lvm2 filesystems"
    ## NOTE: If you have /usr on a separate partition, you MUST include the
    # usr, fsck and shutdown hooks.
    HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck"
    # COMPRESSION
    # Use this to compress the initramfs image. By default, gzip compression
    # is used. Use 'cat' to create an uncompressed image.
    #COMPRESSION="gzip"
    #COMPRESSION="bzip2"
    #COMPRESSION="lzma"
    #COMPRESSION="xz"
    #COMPRESSION="lzop"
    #COMPRESSION="lz4"
    # COMPRESSION_OPTIONS
    # Additional options for the compressor
    #COMPRESSION_OPTIONS=""
    /boot/grub/grub.cfg
    # DO NOT EDIT THIS FILE
    # It is automatically generated by grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    ### BEGIN /etc/grub.d/00_header ###
    insmod part_gpt
    insmod part_msdos
    if [ -s $prefix/grubenv ]; then
    load_env
    fi
    if [ "${next_entry}" ] ; then
    set default="${next_entry}"
    set next_entry=
    save_env next_entry
    set boot_once=true
    else
    set default="0"
    fi
    if [ x"${feature_menuentry_id}" = xy ]; then
    menuentry_id_option="--id"
    else
    menuentry_id_option=""
    fi
    export menuentry_id_option
    if [ "${prev_saved_entry}" ]; then
    set saved_entry="${prev_saved_entry}"
    save_env saved_entry
    set prev_saved_entry=
    save_env prev_saved_entry
    set boot_once=true
    fi
    function savedefault {
    if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
    fi
    function load_video {
    if [ x$feature_all_video_module = xy ]; then
    insmod all_video
    else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
    fi
    if [ x$feature_default_font_path = xy ] ; then
    font=unicode
    else
    insmod part_msdos
    insmod lvm
    insmod ext2
    set root='lvmid/SoB3M1-v1fD-1abI-PNJ3-6IOn-FfdI-0RoLK5/lpjDl4-Jqzu-ZWkq-Uphc-IaOo-6Rzd-cIh5yv'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint='lvmid/SoB3M1-v1fD-1abI-PNJ3-6IOn-FfdI-0RoLK5/lpjDl4-Jqzu-ZWkq-Uphc-IaOo-6Rzd-cIh5yv' 2db82d1a-47a4-4e30-a819-143e8fb75199
    else
    search --no-floppy --fs-uuid --set=root 2db82d1a-47a4-4e30-a819-143e8fb75199
    fi
    font="/usr/share/grub/unicode.pf2"
    fi
    if loadfont $font ; then
    set gfxmode=auto
    load_video
    insmod gfxterm
    fi
    terminal_input console
    terminal_output gfxterm
    if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
    # Fallback normal timeout code in case the timeout_style feature is
    # unavailable.
    else
    set timeout=5
    fi
    ### END /etc/grub.d/00_header ###
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-2db82d1a-47a4-4e30-a819-143e8fb75199' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 72691888-a781-4cdd-a98e-2613d87925d0
    else
    search --no-floppy --fs-uuid --set=root 72691888-a781-4cdd-a98e-2613d87925d0
    fi
    echo 'Loading Linux linux ...'
    linux /vmlinuz-linux root=UUID=2db82d1a-47a4-4e30-a819-143e8fb75199 rw quiet
    echo 'Loading initial ramdisk ...'
    initrd /initramfs-linux.img
    submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-2db82d1a-47a4-4e30-a819-143e8fb75199' {
    menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-2db82d1a-47a4-4e30-a819-143e8fb75199' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 72691888-a781-4cdd-a98e-2613d87925d0
    else
    search --no-floppy --fs-uuid --set=root 72691888-a781-4cdd-a98e-2613d87925d0
    fi
    echo 'Loading Linux linux ...'
    linux /vmlinuz-linux root=UUID=2db82d1a-47a4-4e30-a819-143e8fb75199 rw quiet
    echo 'Loading initial ramdisk ...'
    initrd /initramfs-linux.img
    menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-2db82d1a-47a4-4e30-a819-143e8fb75199' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 72691888-a781-4cdd-a98e-2613d87925d0
    else
    search --no-floppy --fs-uuid --set=root 72691888-a781-4cdd-a98e-2613d87925d0
    fi
    echo 'Loading Linux linux ...'
    linux /vmlinuz-linux root=UUID=2db82d1a-47a4-4e30-a819-143e8fb75199 rw quiet
    echo 'Loading initial ramdisk ...'
    initrd /initramfs-linux-fallback.img
    ### END /etc/grub.d/10_linux ###
    ### BEGIN /etc/grub.d/20_linux_xen ###
    ### END /etc/grub.d/20_linux_xen ###
    ### BEGIN /etc/grub.d/30_os-prober ###
    ### END /etc/grub.d/30_os-prober ###
    ### BEGIN /etc/grub.d/40_custom ###
    # This file provides an easy way to add custom menu entries. Simply type the
    # menu entries you want to add after this comment. Be careful not to change
    # the 'exec tail' line above.
    ### END /etc/grub.d/40_custom ###
    ### BEGIN /etc/grub.d/41_custom ###
    if [ -f ${config_directory}/custom.cfg ]; then
    source ${config_directory}/custom.cfg
    elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
    source $prefix/custom.cfg;
    fi
    ### END /etc/grub.d/41_custom ###
    ### BEGIN /etc/grub.d/60_memtest86+ ###
    ### END /etc/grub.d/60_memtest86+ ###
    Last edited by Kirodema (2014-07-16 07:31:34)

    use_lvmetad = 0
    lvm2-lvmetad is not enabled or running on my system. Shall I activate it?
    # This is an example configuration file for the LVM2 system.
    # It contains the default settings that would be used if there was no
    # /etc/lvm/lvm.conf file.
    # Refer to 'man lvm.conf' for further information including the file layout.
    # To put this file in a different directory and override /etc/lvm set
    # the environment variable LVM_SYSTEM_DIR before running the tools.
    # N.B. Take care that each setting only appears once if uncommenting
    # example settings in this file.
    # This section allows you to set the way the configuration settings are handled.
    config {
    # If enabled, any LVM2 configuration mismatch is reported.
    # This implies checking that the configuration key is understood
    # by LVM2 and that the value of the key is of a proper type.
    # If disabled, any configuration mismatch is ignored and default
    # value is used instead without any warning (a message about the
    # configuration key not being found is issued in verbose mode only).
    checks = 1
    # If enabled, any configuration mismatch aborts the LVM2 process.
    abort_on_errors = 0
    # Directory where LVM looks for configuration profiles.
    profile_dir = "/etc/lvm/profile"
    # This section allows you to configure which block devices should
    # be used by the LVM system.
    devices {
    # Where do you want your volume groups to appear ?
    dir = "/dev"
    # An array of directories that contain the device nodes you wish
    # to use with LVM2.
    scan = [ "/dev" ]
    # If set, the cache of block device nodes with all associated symlinks
    # will be constructed out of the existing udev database content.
    # This avoids using and opening any inapplicable non-block devices or
    # subdirectories found in the device directory. This setting is applied
    # to udev-managed device directory only, other directories will be scanned
    # fully. LVM2 needs to be compiled with udev support for this setting to
    # take effect. N.B. Any device node or symlink not managed by udev in
    # udev directory will be ignored with this setting on.
    obtain_device_list_from_udev = 1
    # If several entries in the scanned directories correspond to the
    # same block device and the tools need to display a name for device,
    # all the pathnames are matched against each item in the following
    # list of regular expressions in turn and the first match is used.
    preferred_names = [ ]
    # Try to avoid using undescriptive /dev/dm-N names, if present.
    # preferred_names = [ "^/dev/mpath/", "^/dev/mapper/mpath", "^/dev/[hs]d" ]
    # A filter that tells LVM2 to only use a restricted set of devices.
    # The filter consists of an array of regular expressions. These
    # expressions can be delimited by a character of your choice, and
    # prefixed with either an 'a' (for accept) or 'r' (for reject).
    # The first expression found to match a device name determines if
    # the device will be accepted or rejected (ignored). Devices that
    # don't match any patterns are accepted.
    # Be careful if there there are symbolic links or multiple filesystem
    # entries for the same device as each name is checked separately against
    # the list of patterns. The effect is that if the first pattern in the
    # list to match a name is an 'a' pattern for any of the names, the device
    # is accepted; otherwise if the first pattern in the list to match a name
    # is an 'r' pattern for any of the names it is rejected; otherwise it is
    # accepted.
    # Don't have more than one filter line active at once: only one gets used.
    # Run vgscan after you change this parameter to ensure that
    # the cache file gets regenerated (see below).
    # If it doesn't do what you expect, check the output of 'vgscan -vvvv'.
    # If lvmetad is used, then see "A note about device filtering while
    # lvmetad is used" comment that is attached to global/use_lvmetad setting.
    # By default we accept every block device:
    filter = [ "a/.*/" ]
    # Exclude the cdrom drive
    # filter = [ "r|/dev/cdrom|" ]
    # When testing I like to work with just loopback devices:
    # filter = [ "a/loop/", "r/.*/" ]
    # Or maybe all loops and ide drives except hdc:
    # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
    # Use anchors if you want to be really specific
    # filter = [ "a|^/dev/hda8$|", "r/.*/" ]
    # Since "filter" is often overridden from command line, it is not suitable
    # for system-wide device filtering (udev rules, lvmetad). To hide devices
    # from LVM-specific udev processing and/or from lvmetad, you need to set
    # global_filter. The syntax is the same as for normal "filter"
    # above. Devices that fail the global_filter are not even opened by LVM.
    # global_filter = []
    # The results of the filtering are cached on disk to avoid
    # rescanning dud devices (which can take a very long time).
    # By default this cache is stored in the /etc/lvm/cache directory
    # in a file called '.cache'.
    # It is safe to delete the contents: the tools regenerate it.
    # (The old setting 'cache' is still respected if neither of
    # these new ones is present.)
    # N.B. If obtain_device_list_from_udev is set to 1 the list of
    # devices is instead obtained from udev and any existing .cache
    # file is removed.
    cache_dir = "/etc/lvm/cache"
    cache_file_prefix = ""
    # You can turn off writing this cache file by setting this to 0.
    write_cache_state = 1
    # Advanced settings.
    # List of pairs of additional acceptable block device types found
    # in /proc/devices with maximum (non-zero) number of partitions.
    # types = [ "fd", 16 ]
    # If sysfs is mounted (2.6 kernels) restrict device scanning to
    # the block devices it believes are valid.
    # 1 enables; 0 disables.
    sysfs_scan = 1
    # By default, LVM2 will ignore devices used as component paths
    # of device-mapper multipath devices.
    # 1 enables; 0 disables.
    multipath_component_detection = 1
    # By default, LVM2 will ignore devices used as components of
    # software RAID (md) devices by looking for md superblocks.
    # 1 enables; 0 disables.
    md_component_detection = 1
    # By default, if a PV is placed directly upon an md device, LVM2
    # will align its data blocks with the md device's stripe-width.
    # 1 enables; 0 disables.
    md_chunk_alignment = 1
    # Default alignment of the start of a data area in MB. If set to 0,
    # a value of 64KB will be used. Set to 1 for 1MiB, 2 for 2MiB, etc.
    # default_data_alignment = 1
    # By default, the start of a PV's data area will be a multiple of
    # the 'minimum_io_size' or 'optimal_io_size' exposed in sysfs.
    # - minimum_io_size - the smallest request the device can perform
    # w/o incurring a read-modify-write penalty (e.g. MD's chunk size)
    # - optimal_io_size - the device's preferred unit of receiving I/O
    # (e.g. MD's stripe width)
    # minimum_io_size is used if optimal_io_size is undefined (0).
    # If md_chunk_alignment is enabled, that detects the optimal_io_size.
    # This setting takes precedence over md_chunk_alignment.
    # 1 enables; 0 disables.
    data_alignment_detection = 1
    # Alignment (in KB) of start of data area when creating a new PV.
    # md_chunk_alignment and data_alignment_detection are disabled if set.
    # Set to 0 for the default alignment (see: data_alignment_default)
    # or page size, if larger.
    data_alignment = 0
    # By default, the start of the PV's aligned data area will be shifted by
    # the 'alignment_offset' exposed in sysfs. This offset is often 0 but
    # may be non-zero; e.g.: certain 4KB sector drives that compensate for
    # windows partitioning will have an alignment_offset of 3584 bytes
    # (sector 7 is the lowest aligned logical block, the 4KB sectors start
    # at LBA -1, and consequently sector 63 is aligned on a 4KB boundary).
    # But note that pvcreate --dataalignmentoffset will skip this detection.
    # 1 enables; 0 disables.
    data_alignment_offset_detection = 1
    # If, while scanning the system for PVs, LVM2 encounters a device-mapper
    # device that has its I/O suspended, it waits for it to become accessible.
    # Set this to 1 to skip such devices. This should only be needed
    # in recovery situations.
    ignore_suspended_devices = 0
    # ignore_lvm_mirrors: Introduced in version 2.02.104
    # This setting determines whether logical volumes of "mirror" segment
    # type are scanned for LVM labels. This affects the ability of
    # mirrors to be used as physical volumes. If 'ignore_lvm_mirrors'
    # is set to '1', it becomes impossible to create volume groups on top
    # of mirror logical volumes - i.e. to stack volume groups on mirrors.
    # Allowing mirror logical volumes to be scanned (setting the value to '0')
    # can potentially cause LVM processes and I/O to the mirror to become
    # blocked. This is due to the way that the "mirror" segment type handles
    # failures. In order for the hang to manifest itself, an LVM command must
    # be run just after a failure and before the automatic LVM repair process
    # takes place OR there must be failures in multiple mirrors in the same
    # volume group at the same time with write failures occurring moments
    # before a scan of the mirror's labels.
    # Note that these scanning limitations do not apply to the LVM RAID
    # types, like "raid1". The RAID segment types handle failures in a
    # different way and are not subject to possible process or I/O blocking.
    # It is encouraged that users set 'ignore_lvm_mirrors' to 1 if they
    # are using the "mirror" segment type. Users that require volume group
    # stacking on mirrored logical volumes should consider using the "raid1"
    # segment type. The "raid1" segment type is not available for
    # active/active clustered volume groups.
    # Set to 1 to disallow stacking and thereby avoid a possible deadlock.
    ignore_lvm_mirrors = 1
    # During each LVM operation errors received from each device are counted.
    # If the counter of a particular device exceeds the limit set here, no
    # further I/O is sent to that device for the remainder of the respective
    # operation. Setting the parameter to 0 disables the counters altogether.
    disable_after_error_count = 0
    # Allow use of pvcreate --uuid without requiring --restorefile.
    require_restorefile_with_uuid = 1
    # Minimum size (in KB) of block devices which can be used as PVs.
    # In a clustered environment all nodes must use the same value.
    # Any value smaller than 512KB is ignored.
    # Ignore devices smaller than 2MB such as floppy drives.
    pv_min_size = 2048
    # The original built-in setting was 512 up to and including version 2.02.84.
    # pv_min_size = 512
    # Issue discards to a logical volumes's underlying physical volume(s) when
    # the logical volume is no longer using the physical volumes' space (e.g.
    # lvremove, lvreduce, etc). Discards inform the storage that a region is
    # no longer in use. Storage that supports discards advertise the protocol
    # specific way discards should be issued by the kernel (TRIM, UNMAP, or
    # WRITE SAME with UNMAP bit set). Not all storage will support or benefit
    # from discards but SSDs and thinly provisioned LUNs generally do. If set
    # to 1, discards will only be issued if both the storage and kernel provide
    # support.
    # 1 enables; 0 disables.
    issue_discards = 0
    # This section allows you to configure the way in which LVM selects
    # free space for its Logical Volumes.
    allocation {
    # When searching for free space to extend an LV, the "cling"
    # allocation policy will choose space on the same PVs as the last
    # segment of the existing LV. If there is insufficient space and a
    # list of tags is defined here, it will check whether any of them are
    # attached to the PVs concerned and then seek to match those PV tags
    # between existing extents and new extents.
    # Use the special tag "@*" as a wildcard to match any PV tag.
    # Example: LVs are mirrored between two sites within a single VG.
    # PVs are tagged with either @site1 or @site2 to indicate where
    # they are situated.
    # cling_tag_list = [ "@site1", "@site2" ]
    # cling_tag_list = [ "@*" ]
    # Changes made in version 2.02.85 extended the reach of the 'cling'
    # policies to detect more situations where data can be grouped
    # onto the same disks. Set this to 0 to revert to the previous
    # algorithm.
    maximise_cling = 1
    # Whether to use blkid library instead of native LVM2 code to detect
    # any existing signatures while creating new Physical Volumes and
    # Logical Volumes. LVM2 needs to be compiled with blkid wiping support
    # for this setting to take effect.
    # LVM2 native detection code is currently able to recognize these signatures:
    # - MD device signature
    # - swap signature
    # - LUKS signature
    # To see the list of signatures recognized by blkid, check the output
    # of 'blkid -k' command. The blkid can recognize more signatures than
    # LVM2 native detection code, but due to this higher number of signatures
    # to be recognized, it can take more time to complete the signature scan.
    use_blkid_wiping = 1
    # Set to 1 to wipe any signatures found on newly-created Logical Volumes
    # automatically in addition to zeroing of the first KB on the LV
    # (controlled by the -Z/--zero y option).
    # The command line option -W/--wipesignatures takes precedence over this
    # setting.
    # The default is to wipe signatures when zeroing.
    wipe_signatures_when_zeroing_new_lvs = 1
    # Set to 1 to guarantee that mirror logs will always be placed on
    # different PVs from the mirror images. This was the default
    # until version 2.02.85.
    mirror_logs_require_separate_pvs = 0
    # Set to 1 to guarantee that cache_pool metadata will always be
    # placed on different PVs from the cache_pool data.
    cache_pool_metadata_require_separate_pvs = 0
    # Specify the minimal chunk size (in kiB) for cache pool volumes.
    # Using a chunk_size that is too large can result in wasteful use of
    # the cache, where small reads and writes can cause large sections of
    # an LV to be mapped into the cache. However, choosing a chunk_size
    # that is too small can result in more overhead trying to manage the
    # numerous chunks that become mapped into the cache. The former is
    # more of a problem than the latter in most cases, so we default to
    # a value that is on the smaller end of the spectrum. Supported values
    # range from 32(kiB) to 1048576 in multiples of 32.
    # cache_pool_chunk_size = 64
    # Set to 1 to guarantee that thin pool metadata will always
    # be placed on different PVs from the pool data.
    thin_pool_metadata_require_separate_pvs = 0
    # Specify chunk size calculation policy for thin pool volumes.
    # Possible options are:
    # "generic" - if thin_pool_chunk_size is defined, use it.
    # Otherwise, calculate the chunk size based on
    # estimation and device hints exposed in sysfs:
    # the minimum_io_size. The chunk size is always
    # at least 64KiB.
    # "performance" - if thin_pool_chunk_size is defined, use it.
    # Otherwise, calculate the chunk size for
    # performance based on device hints exposed in
    # sysfs: the optimal_io_size. The chunk size is
    # always at least 512KiB.
    # thin_pool_chunk_size_policy = "generic"
    # Specify the minimal chunk size (in KB) for thin pool volumes.
    # Use of the larger chunk size may improve performance for plain
    # thin volumes, however using them for snapshot volumes is less efficient,
    # as it consumes more space and takes extra time for copying.
    # When unset, lvm tries to estimate chunk size starting from 64KB
    # Supported values are in range from 64 to 1048576.
    # thin_pool_chunk_size = 64
    # Specify discards behaviour of the thin pool volume.
    # Select one of "ignore", "nopassdown", "passdown"
    # thin_pool_discards = "passdown"
    # Set to 0, to disable zeroing of thin pool data chunks before their
    # first use.
    # N.B. zeroing larger thin pool chunk size degrades performance.
    # thin_pool_zero = 1
    # This section that allows you to configure the nature of the
    # information that LVM2 reports.
    log {
    # Controls the messages sent to stdout or stderr.
    # There are three levels of verbosity, 3 being the most verbose.
    verbose = 0
    # Set to 1 to suppress all non-essential messages from stdout.
    # This has the same effect as -qq.
    # When this is set, the following commands still produce output:
    # dumpconfig, lvdisplay, lvmdiskscan, lvs, pvck, pvdisplay,
    # pvs, version, vgcfgrestore -l, vgdisplay, vgs.
    # Non-essential messages are shifted from log level 4 to log level 5
    # for syslog and lvm2_log_fn purposes.
    # Any 'yes' or 'no' questions not overridden by other arguments
    # are suppressed and default to 'no'.
    silent = 0
    # Should we send log messages through syslog?
    # 1 is yes; 0 is no.
    syslog = 1
    # Should we log error and debug messages to a file?
    # By default there is no log file.
    #file = "/var/log/lvm2.log"
    # Should we overwrite the log file each time the program is run?
    # By default we append.
    overwrite = 0
    # What level of log messages should we send to the log file and/or syslog?
    # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive.
    # 7 is the most verbose (LOG_DEBUG).
    level = 0
    # Format of output messages
    # Whether or not (1 or 0) to indent messages according to their severity
    indent = 1
    # Whether or not (1 or 0) to display the command name on each line output
    command_names = 0
    # A prefix to use before the message text (but after the command name,
    # if selected). Default is two spaces, so you can see/grep the severity
    # of each message.
    prefix = " "
    # To make the messages look similar to the original LVM tools use:
    # indent = 0
    # command_names = 1
    # prefix = " -- "
    # Set this if you want log messages during activation.
    # Don't use this in low memory situations (can deadlock).
    # activation = 0
    # Some debugging messages are assigned to a class and only appear
    # in debug output if the class is listed here.
    # Classes currently available:
    # memory, devices, activation, allocation, lvmetad, metadata, cache,
    # locking
    # Use "all" to see everything.
    debug_classes = [ "memory", "devices", "activation", "allocation",
    "lvmetad", "metadata", "cache", "locking" ]
    # Configuration of metadata backups and archiving. In LVM2 when we
    # talk about a 'backup' we mean making a copy of the metadata for the
    # *current* system. The 'archive' contains old metadata configurations.
    # Backups are stored in a human readable text format.
    backup {
    # Should we maintain a backup of the current metadata configuration ?
    # Use 1 for Yes; 0 for No.
    # Think very hard before turning this off!
    backup = 1
    # Where shall we keep it ?
    # Remember to back up this directory regularly!
    backup_dir = "/etc/lvm/backup"
    # Should we maintain an archive of old metadata configurations.
    # Use 1 for Yes; 0 for No.
    # On by default. Think very hard before turning this off.
    archive = 1
    # Where should archived files go ?
    # Remember to back up this directory regularly!
    archive_dir = "/etc/lvm/archive"
    # What is the minimum number of archive files you wish to keep ?
    retain_min = 10
    # What is the minimum time you wish to keep an archive file for ?
    retain_days = 30
    # Settings for the running LVM2 in shell (readline) mode.
    shell {
    # Number of lines of history to store in ~/.lvm_history
    history_size = 100
    # Miscellaneous global LVM2 settings
    global {
    # The file creation mask for any files and directories created.
    # Interpreted as octal if the first digit is zero.
    umask = 077
    # Allow other users to read the files
    #umask = 022
    # Enabling test mode means that no changes to the on disk metadata
    # will be made. Equivalent to having the -t option on every
    # command. Defaults to off.
    test = 0
    # Default value for --units argument
    units = "h"
    # Since version 2.02.54, the tools distinguish between powers of
    # 1024 bytes (e.g. KiB, MiB, GiB) and powers of 1000 bytes (e.g.
    # KB, MB, GB).
    # If you have scripts that depend on the old behaviour, set this to 0
    # temporarily until you update them.
    si_unit_consistency = 1
    # Whether or not to display unit suffix for sizes. This setting has
    # no effect if the units are in human-readable form (global/units="h")
    # in which case the suffix is always displayed.
    suffix = 1
    # Whether or not to communicate with the kernel device-mapper.
    # Set to 0 if you want to use the tools to manipulate LVM metadata
    # without activating any logical volumes.
    # If the device-mapper kernel driver is not present in your kernel
    # setting this to 0 should suppress the error messages.
    activation = 1
    # If we can't communicate with device-mapper, should we try running
    # the LVM1 tools?
    # This option only applies to 2.4 kernels and is provided to help you
    # switch between device-mapper kernels and LVM1 kernels.
    # The LVM1 tools need to be installed with .lvm1 suffices
    # e.g. vgscan.lvm1 and they will stop working after you start using
    # the new lvm2 on-disk metadata format.
    # The default value is set when the tools are built.
    # fallback_to_lvm1 = 0
    # The default metadata format that commands should use - "lvm1" or "lvm2".
    # The command line override is -M1 or -M2.
    # Defaults to "lvm2".
    # format = "lvm2"
    # Location of proc filesystem
    proc = "/proc"
    # Type of locking to use. Defaults to local file-based locking (1).
    # Turn locking off by setting to 0 (dangerous: risks metadata corruption
    # if LVM2 commands get run concurrently).
    # Type 2 uses the external shared library locking_library.
    # Type 3 uses built-in clustered locking.
    # Type 4 uses read-only locking which forbids any operations that might
    # change metadata.
    # N.B. Don't use lvmetad with locking type 3 as lvmetad is not yet
    # supported in clustered environment. If use_lvmetad=1 and locking_type=3
    # is set at the same time, LVM always issues a warning message about this
    # and then it automatically disables lvmetad use.
    locking_type = 1
    # Set to 0 to fail when a lock request cannot be satisfied immediately.
    wait_for_locks = 1
    # If using external locking (type 2) and initialisation fails,
    # with this set to 1 an attempt will be made to use the built-in
    # clustered locking.
    # If you are using a customised locking_library you should set this to 0.
    fallback_to_clustered_locking = 1
    # If an attempt to initialise type 2 or type 3 locking failed, perhaps
    # because cluster components such as clvmd are not running, with this set
    # to 1 an attempt will be made to use local file-based locking (type 1).
    # If this succeeds, only commands against local volume groups will proceed.
    # Volume Groups marked as clustered will be ignored.
    fallback_to_local_locking = 1
    # Local non-LV directory that holds file-based locks while commands are
    # in progress. A directory like /tmp that may get wiped on reboot is OK.
    locking_dir = "/run/lock/lvm"
    # Whenever there are competing read-only and read-write access requests for
    # a volume group's metadata, instead of always granting the read-only
    # requests immediately, delay them to allow the read-write requests to be
    # serviced. Without this setting, write access may be stalled by a high
    # volume of read-only requests.
    # NB. This option only affects locking_type = 1 viz. local file-based
    # locking.
    prioritise_write_locks = 1
    # Other entries can go here to allow you to load shared libraries
    # e.g. if support for LVM1 metadata was compiled as a shared library use
    # format_libraries = "liblvm2format1.so"
    # Full pathnames can be given.
    # Search this directory first for shared libraries.
    # library_dir = "/lib"
    # The external locking library to load if locking_type is set to 2.
    # locking_library = "liblvm2clusterlock.so"
    # Treat any internal errors as fatal errors, aborting the process that
    # encountered the internal error. Please only enable for debugging.
    abort_on_internal_errors = 0
    # Check whether CRC is matching when parsed VG is used multiple times.
    # This is useful to catch unexpected internal cached volume group
    # structure modification. Please only enable for debugging.
    detect_internal_vg_cache_corruption = 0
    # If set to 1, no operations that change on-disk metadata will be permitted.
    # Additionally, read-only commands that encounter metadata in need of repair
    # will still be allowed to proceed exactly as if the repair had been
    # performed (except for the unchanged vg_seqno).
    # Inappropriate use could mess up your system, so seek advice first!
    metadata_read_only = 0
    # 'mirror_segtype_default' defines which segtype will be used when the
    # shorthand '-m' option is used for mirroring. The possible options are:
    # "mirror" - The original RAID1 implementation provided by LVM2/DM. It is
    # characterized by a flexible log solution (core, disk, mirrored)
    # and by the necessity to block I/O while reconfiguring in the
    # event of a failure.
    # There is an inherent race in the dmeventd failure handling
    # logic with snapshots of devices using this type of RAID1 that
    # in the worst case could cause a deadlock.
    # Ref: https://bugzilla.redhat.com/show_bug.cgi?id=817130#c10
    # "raid1" - This implementation leverages MD's RAID1 personality through
    # device-mapper. It is characterized by a lack of log options.
    # (A log is always allocated for every device and they are placed
    # on the same device as the image - no separate devices are
    # required.) This mirror implementation does not require I/O
    # to be blocked in the kernel in the event of a failure.
    # This mirror implementation is not cluster-aware and cannot be
    # used in a shared (active/active) fashion in a cluster.
    # Specify the '--type <mirror|raid1>' option to override this default
    # setting.
    mirror_segtype_default = "raid1"
    # 'raid10_segtype_default' determines the segment types used by default
    # when the '--stripes/-i' and '--mirrors/-m' arguments are both specified
    # during the creation of a logical volume.
    # Possible settings include:
    # "raid10" - This implementation leverages MD's RAID10 personality through
    # device-mapper.
    # "mirror" - LVM will layer the 'mirror' and 'stripe' segment types. It
    # will do this by creating a mirror on top of striped sub-LVs;
    # effectively creating a RAID 0+1 array. This is suboptimal
    # in terms of providing redundancy and performance. Changing to
    # this setting is not advised.
    # Specify the '--type <raid10|mirror>' option to override this default
    # setting.
    raid10_segtype_default = "raid10"
    # The default format for displaying LV names in lvdisplay was changed
    # in version 2.02.89 to show the LV name and path separately.
    # Previously this was always shown as /dev/vgname/lvname even when that
    # was never a valid path in the /dev filesystem.
    # Set to 1 to reinstate the previous format.
    # lvdisplay_shows_full_device_path = 0
    # Whether to use (trust) a running instance of lvmetad. If this is set to
    # 0, all commands fall back to the usual scanning mechanisms. When set to 1
    # *and* when lvmetad is running (automatically instantiated by making use of
    # systemd's socket-based service activation or run as an initscripts service
    # or run manually), the volume group metadata and PV state flags are obtained
    # from the lvmetad instance and no scanning is done by the individual
    # commands. In a setup with lvmetad, lvmetad udev rules *must* be set up for
    # LVM to work correctly. Without proper udev rules, all changes in block
    # device configuration will be *ignored* until a manual 'pvscan --cache'
    # is performed. These rules are installed by default.
    # If lvmetad has been running while use_lvmetad was 0, it MUST be stopped
    # before changing use_lvmetad to 1 and started again afterwards.
    # If using lvmetad, the volume activation is also switched to automatic
    # event-based mode. In this mode, the volumes are activated based on
    # incoming udev events that automatically inform lvmetad about new PVs
    # that appear in the system. Once the VG is complete (all the PVs are
    # present), it is auto-activated. The activation/auto_activation_volume_list
    # setting controls which volumes are auto-activated (all by default).
    # A note about device filtering while lvmetad is used:
    # When lvmetad is updated (either automatically based on udev events
    # or directly by pvscan --cache <device> call), the devices/filter
    # is ignored and all devices are scanned by default. The lvmetad always
    # keeps unfiltered information which is then provided to LVM commands
    # and then each LVM command does the filtering based on devices/filter
    # setting itself.
    # To prevent scanning devices completely, even when using lvmetad,
    # the devices/global_filter must be used.
    # N.B. Don't use lvmetad with locking type 3 as lvmetad is not yet
    # supported in clustered environment. If use_lvmetad=1 and locking_type=3
    # is set at the same time, LVM always issues a warning message about this
    # and then it automatically disables lvmetad use.
    use_lvmetad = 0
    # Full path of the utility called to check that a thin metadata device
    # is in a state that allows it to be used.
    # Each time a thin pool needs to be activated or after it is deactivated
    # this utility is executed. The activation will only proceed if the utility
    # has an exit status of 0.
    # Set to "" to skip this check. (Not recommended.)
    # The thin tools are available as part of the device-mapper-persistent-data
    # package from https://github.com/jthornber/thin-provisioning-tools.
    # thin_check_executable = "/usr/bin/thin_check"
    # Array of string options passed with thin_check command. By default,
    # option "-q" is for quiet output.
    # With thin_check version 2.1 or newer you can add "--ignore-non-fatal-errors"
    # to let it pass through ignorable errors and fix them later.
    # thin_check_options = [ "-q" ]
    # Full path of the utility called to repair a thin metadata device
    # is in a state that allows it to be used.
    # Each time a thin pool needs repair this utility is executed.
    # See thin_check_executable how to obtain binaries.
    # thin_repair_executable = "/usr/bin/thin_repair"
    # Array of extra string options passed with thin_repair command.
    # thin_repair_options = [ "" ]
    # Full path of the utility called to dump thin metadata content.
    # See thin_check_executable how to obtain binaries.
    # thin_dump_executable = "/usr/bin/thin_dump"
    # If set, given features are not used by thin driver.
    # This can be helpful not just for testing, but i.e. allows to avoid
    # using problematic implementation of some thin feature.
    # Features:
    # block_size
    # discards
    # discards_non_power_2
    # external_origin
    # metadata_resize
    # external_origin_extend
    # thin_disabled_features = [ "discards", "block_size" ]
    activation {
    # Set to 1 to perform internal checks on the operations issued to
    # libdevmapper. Useful for debugging problems with activation.
    # Some of the checks may be expensive, so it's best to use this
    # only when there seems to be a problem.
    checks = 0
    # Set to 0 to disable udev synchronisation (if compiled into the binaries).
    # Processes will not wait for notification from udev.
    # They will continue irrespective of any possible udev processing
    # in the background. You should only use this if udev is not running
    # or has rules that ignore the devices LVM2 creates.
    # The command line argument --nodevsync takes precedence over this setting.
    # If set to 1 when udev is not running, and there are LVM2 processes
    # waiting for udev, run 'dmsetup udevcomplete_all' manually to wake them up.
    udev_sync = 1
    # Set to 0 to disable the udev rules installed by LVM2 (if built with
    # --enable-udev_rules). LVM2 will then manage the /dev nodes and symlinks
    # for active logical volumes directly itself.
    # N.B. Manual intervention may be required if this setting is changed
    # while any logical volumes are active.
    udev_rules = 1
    # Set to 1 for LVM2 to verify operations performed by udev. This turns on
    # additional checks (and if necessary, repairs) on entries in the device
    # directory after udev has completed processing its events.
    # Useful for diagnosing problems with LVM2/udev interactions.
    verify_udev_operations = 0
    # If set to 1 and if deactivation of an LV fails, perhaps because
    # a process run from a quick udev rule temporarily opened the device,
    # retry the operation for a few seconds before failing.
    retry_deactivation = 1
    # How to fill in missing stripes if activating an incomplete volume.
    # Using "error" will make inaccessible parts of the device return
    # I/O errors on access. You can instead use a device path, in which
    # case, that device will be used to in place of missing stripes.
    # But note that using anything other than "error" with mirrored
    # or snapshotted volumes is likely to result in data corruption.
    missing_stripe_filler = "error"
    # The linear target is an optimised version of the striped target
    # that only handles a single stripe. Set this to 0 to disable this
    # optimisation and always use the striped target.
    use_linear_target = 1
    # How much stack (in KB) to reserve for use while devices suspended
    # Prior to version 2.02.89 this used to be set to 256KB
    reserved_stack = 64
    # How much memory (in KB) to reserve for use while devices suspended
    reserved_memory = 8192
    # Nice value used while devices suspended
    process_priority = -18
    # If volume_list is defined, each LV is only activated if there is a
    # match against the list.
    # "vgname" and "vgname/lvname" are matched exactly.
    # "@tag" matches any tag set in the LV or VG.
    # "@*" matches if any tag defined on the host is also set in the LV or VG
    # If any host tags exist but volume_list is not defined, a default
    # single-entry list containing "@*" is assumed.
    # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
    # If auto_activation_volume_list is defined, each LV that is to be
    # activated with the autoactivation option (--activate ay/-a ay) is
    # first checked against the list. There are two scenarios in which
    # the autoactivation option is used:
    # - automatic activation of volumes based on incoming PVs. If all the
    # PVs making up a VG are present in the system, the autoactivation
    # is triggered. This requires lvmetad (global/use_lvmetad=1) and udev
    # to be running. In this case, "pvscan --cache -aay" is called
    # automatically without any user intervention while processing
    # udev events. Please, make sure you define auto_activation_volume_list
    # properly so only the volumes you want and expect are autoactivated.
    # - direct activation on command line with the autoactivation option.
    # In this case, the user calls "vgchange --activate ay/-a ay" or
    # "lvchange --activate ay/-a ay" directly.
    # By default, the auto_activation_volume_list is not defined and all
    # volumes will be activated either automatically or by using --activate ay/-a ay.
    # N.B. The "activation/volume_list" is still honoured in all cases so even
    # if the VG/LV passes the auto_activation_volume_list, it still needs to
    # pass the volume_list for it to be activated in the end.
    # If auto_activation_volume_list is defined but empty, no volumes will be
    # activated automatically and --activate ay/-a ay will do nothing.
    # auto_activation_volume_list = []
    # If auto_activation_volume_list is defined and it's not empty, only matching
    # volumes will be activated either automatically or by using --activate ay/-a ay.
    # "vgname" and "vgname/lvname" are matched exactly.
    # "@tag" matches any tag set in the LV or VG.
    # "@*" matches if any tag defined on the host is also set in the LV or VG
    # auto_activation_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
    # If read_only_volume_list is defined, each LV that is to be activated
    # is checked against the list, and if it matches, it as activated
    # in read-only mode. (This overrides '--permission rw' stored in the
    # metadata.)
    # "vgname" and "vgname/lvname" are matched exactly.
    # "@tag" matches any tag set in the LV or VG.
    # "@*" matches if any tag defined on the host is also set in the LV or VG
    # read_only_volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ]
    # Each LV can have an 'activation skip' flag stored persistently against it.
    # During activation, this flag is used to decide whether such an LV is skipped.
    # The 'activation skip' flag can be set during LV creation and by default it
    # is automatically set for thin snapshot LVs. The 'auto_set_activation_skip'
    # enables or disables this automatic setting of the flag while LVs are created.
    # auto_set_activation_skip = 1
    # For RAID or 'mirror' segment types, 'raid_region_size' is the
    # size (in KiB) of each:
    # - synchronization operation when initializing
    # - each copy operation when performing a 'pvmove' (using 'mirror' segtype)
    # This setting has replaced 'mirror_region_size' since version 2.02.99
    raid_region_size = 512
    # Setting to use when there is no readahead value stored in the metadata.
    # "none" - Disable readahead.
    # "auto" - Use default value chosen by kernel.
    readahead = "auto"
    # 'raid_fault_policy' defines how a device failure in a RAID logical
    # volume is handled. This includes logical volumes that have the following
    # segment types: raid1, raid4, raid5*, and raid6*.
    # In the event of a failure, the following policies will determine what
    # actions are performed during the automated response to failures (when
    # dmeventd is monitoring the RAID logical volume) and when 'lvconvert' is
    # called manually with the options '--repair' and '--use-policies'.
    # "warn" - Use the system log to warn the user that a device in the RAID
    # logical volume has failed. It is left to the user to run
    # 'lvconvert --repair' manually to remove or replace the failed
    # device. As long as the number of failed devices does not
    # exceed the redundancy of the logical volume (1 device for
    # raid4/5, 2 for raid6, etc) the logical volume will remain
    # usable.
    # "allocate" - Attempt to use any extra physical volumes in the volume
    # group as spares and replace faulty devices.
    raid_fault_policy = "warn"
    # 'mirror_image_fault_policy' and 'mirror_log_fault_policy' define
    # how a device failure affecting a mirror (of "mirror" segment type) is
    # handled. A mirror is composed of mirror images (copies) and a log.
    # A disk log ensures that a mirror does not need to be re-synced
    # (all copies made the same) every time a machine reboots or crashes.
    # In the event of a failure, the specified policy will be used to determine
    # what happens. This applies to automatic repairs (when the mirror is being
    # monitored by dmeventd) and to manual lvconvert --repair when
    # --use-policies is given.
    # "remove" - Simply remove the faulty device and run without it. If
    # the log device fails, the mirror would convert to using
    # an in-memory log. This means the mirror will not
    # remember its sync status across crashes/reboots and
    # the entire mirror will be re-synced. If a
    # mirror image fails, the mirror will convert to a
    # non-mirrored device if there is only one remaining good
    # copy.
    # "allocate" - Remove the faulty device and try to allocate space on
    # a new device to be a replacement for the failed device.
    # Using this policy for the log is fast and maintains the
    # ability to remember sync state through crashes/reboots.
    # Using this policy for a mirror device is slow, as it
    # requires the mirror to resynchronize the devices, but it
    # will preserve the mirror characteristic of the device.
    # This policy acts like "remove" if no suitable device and
    # space can be allocated for the replacement.
    # "allocate_anywhere" - Not yet implemented. Useful to place the log device
    # temporarily on same physical volume as one of the mirror
    # images. This policy is not recommended for mirror devices
    # since it would break the redundant nature of the mirror. This
    # policy acts like "remove" if no suitable device and space can
    # be allocated for the replacement.
    mirror_log_fault_policy = "allocate"
    mirror_image_fault_policy = "remove"
    # 'snapshot_autoextend_threshold' and 'snapshot_autoextend_percent' define
    # how to handle automatic snapshot extension. The former defines when the
    # snapshot should be extended: when its space usage exceeds this many
    # percent. The latter defines how much extra space should be allocated for
    # the snapshot, in percent of its current size.
    # For example, if you set snapshot_autoextend_threshold to 70 and
    # snapshot_autoextend_percent to 20, whenever a snapshot exceeds 70% usage,
    # it will be extended by another 20%. For a 1G snapshot, using up 700M will
    # trigger a resize to 1.2G. When the usage exceeds 840M, the snapshot will
    # be extended to 1.44G, and so on.
    # Setting snapshot_autoextend_threshold to 100 disables automatic
    # extensions. The minimum value is 50 (A setting below 50 will be treated
    # as 50).
    snapshot_autoextend_threshold = 100
    snapshot_autoextend_percent = 20
    # 'thin_pool_autoextend_threshold' and 'thin_pool_autoextend_percent' define
    # how to handle automatic pool extension. The former defines when the
    # pool should be extended: when its space usage exceeds this many
    # percent. The latter defines how much extra space should be allocated for
    # the pool, in percent of its current size.
    # For example, if you set thin_pool_autoextend_threshold to 70 and
    # thin_pool_autoextend_percent to 20, whenever a pool exceeds 70% usage,
    # it will be extended by another 20%. For a 1G pool, using up 700M will
    # trigger a resize to 1.2G. When the usage exceeds 840M, the pool will
    # be extended to 1.44G, and so on.
    # Setting thin_pool_autoextend_threshold to 100 disables automatic
    # extensions. The minimum value is 50 (A setting below 50 will be treated
    # as 50).
    thin_pool_autoextend_threshold = 100
    thin_pool_autoextend_percent = 20
    # While activating devices, I/O to devices being (re)configured is
    # suspended, and as a precaution against deadlocks, LVM2 needs to pin
    # any memory it is using so it is not paged out. Groups of pages that
    # are known not to be accessed during activation need not be pinned
    # into memory. Each string listed in this setting is compared against
    # each line in /proc/self/maps, and the pages corresponding to any
    # lines that match are not pinned. On some systems locale-archive was
    # found to make up over 80% of the memory used by the process.
    # mlock_filter = [ "locale/locale-archive", "gconv/gconv-modules.cache" ]
    # Set to 1 to revert to the default behaviour prior to version 2.02.62
    # which used mlockall() to pin the whole process's memory while activating
    # devices.
    use_mlockall = 0
    # Monitoring is enabled by default when activating logical volumes.
    # Set to 0 to disable monitoring or use the --ignoremonitoring option.
    monitoring = 1
    # When pvmove or lvconvert must wait for the kernel to finish
    # synchronising or merging data, they check and report progress
    # at intervals of this number of seconds. The default is 15 seconds.
    # If this is set to 0 and there is only one thing to wait for, there
    # are no progress reports, but the process is awoken immediately the
    # operation is complete.
    polling_interval = 15
    # Report settings.
    # report {
    # Align columns on report output.
    # aligned=1
    # When buffered reporting is used, the report's content is appended
    # incrementally to include each object being reported until the report
    # is flushed to output which normally happens at the end of command
    # execution. Otherwise, if buffering is not used, each object is
    # reported as soon as its processing is finished.
    # buffered=1
    # Show headings for columns on report.
    # headings=1
    # A separator to use on report after each field.
    # separator=" "
    # Use a field name prefix for each field reported.
    # prefixes=0
    # Quote field values when using field name prefixes.
    # quoted=1
    # Output each column as a row. If set, this also implies report/prefixes=1.
    # colums_as_rows=0
    # Comma separated list of columns to sort by when reporting 'lvm devtypes' command.
    # See 'lvm devtypes -o help' for the list of possible fields.
    # devtypes_sort="devtype_name"
    # Comma separated list of columns to report for 'lvm devtypes' command.
    # See 'lvm devtypes -o help' for the list of possible fields.
    # devtypes_cols="devtype_name,devtype_max_partitions,devtype_description"
    # Comma separated list of columns to report for 'lvm devtypes' command in verbose mode.
    # See 'lvm devtypes -o help' for the list of possible fields.
    # devtypes_cols_verbose="devtype_name,devtype_max_partitions,devtype_description"
    # Comma separated list of columns to sort by when reporting 'lvs' command.
    # See 'lvs -o help' for the list of possible fields.
    # lvs_sort="vg_name,lv_name"
    # Comma separated list of columns to report for 'lvs' command.
    # See 'lvs -o help' for the list of possible fields.
    # lvs_cols="lv_name,vg_name,lv_attr,lv_size,pool_lv,origin,data_percent,move_pv,mirror_log,copy_percent,convert_lv"
    # Comma separated list of columns to report for 'lvs' command in verbose mode.
    # See 'lvs -o help' for the list of possible fields.
    # lvs_cols_verbose="lv_name,vg_name,seg_count,lv_attr,lv_size,lv_major,lv_minor,lv_kernel_major,lv_kernel_minor,pool_lv,origin,data_percent,metadata_percent,move_pv,copy_percent,mirror_log,convert
    # Comma separated list of columns to sort by when reporting 'vgs' command.
    # See 'vgs -o help' for the list of possible fields.
    # vgs_sort="vg_name"
    # Comma separated list of columns to report for 'vgs' command.
    # See 'vgs -o help' for the list of possible fields.
    # vgs_cols="vg_name,pv_count,lv_count,snap_count,vg_attr,vg_size,vg_free"
    # Comma separated list of columns to report for 'vgs' command in verbose mode.
    # See 'vgs -o help' for the list of possible fields.
    # vgs_cols_verbose="vg_name,vg_attr,vg_extent_size,pv_count,lv_count,snap_count,vg_size,vg_free,vg_uuid,vg_profile"
    # Comma separated list of columns to sort by when reporting 'pvs' command.
    # See 'pvs -o help' for the list of possible fields.
    # pvs_sort="pv_name"
    # Comma separated list of columns to report for 'pvs' command.
    # See 'pvs -o help' for the list of possible fields.
    # pvs_cols="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free"
    # Comma separated list of columns to report for 'pvs' command in verbose mode.
    # See 'pvs -o help' for the list of possible fields.
    # pvs_cols_verbose="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,dev_size,pv_uuid"
    # Comma separated list of columns to sort by when reporting 'lvs --segments' command.
    # See 'lvs --segments -o help' for the list of possible fields.
    # segs_sort="vg_name,lv_name,seg_start"
    # Comma separated list of columns to report for 'lvs --segments' command.
    # See 'lvs --segments -o help' for the list of possible fields.
    # segs_cols="lv_name,vg_name,lv_attr,stripes,segtype,seg_size"
    # Comma separated list of columns to report for 'lvs --segments' command in verbose mode.
    # See 'lvs --segments -o help' for the list of possible fields.
    # segs_cols_verbose="lv_name,vg_name,lv_attr,seg_start,seg_size,stripes,segtype,stripesize,chunksize"
    # Comma separated list of columns to sort by when reporting 'pvs --segments' command.
    # See 'pvs --segments -o help' for the list of possible fields.
    # pvsegs_sort="pv_name,pvseg_start"
    # Comma separated list of columns to sort by when reporting 'pvs --segments' command.
    # See 'pvs --segments -o help' for the list of possible fields.
    # pvsegs_cols="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size"
    # Comma separated list of columns to sort by when reporting 'pvs --segments' command in verbose mode.
    # See 'pvs --segments -o help' for the list of possible fields.
    # pvsegs_cols_verbose="pv_name,vg_name,pv_fmt,pv_attr,pv_size,pv_free,pvseg_start,pvseg_size,lv_name,seg_start_pe,segtype,seg_pe_ranges"
    # Advanced section #
    # Metadata settings
    # metadata {
    # Default number of copies of metadata to hold on each PV. 0, 1 or 2.
    # You might want to override it from the command line with 0
    # when running pvcreate on new PVs which are to be added to large VGs.
    # pvmetadatacopies = 1
    # Default number of copies of metadata to maintain for each VG.
    # If set to a non-zero value, LVM automatically chooses which of
    # the available metadata areas to use to achieve the requested
    # number of copies of the VG metadata. If you set a value larger
    # than the the total number of metadata areas available then
    # metadata is stored in them all.
    # The default value of 0 ("unmanaged") disables this automatic
    # management and allows you to control which metadata areas
    # are used at the individual PV level using 'pvchange
    # --metadataignore y/n'.
    # vgmetadatacopies = 0
    # Approximate default size of on-disk metadata areas in sectors.
    # You should increase this if you have large volume groups or
    # you want to retain a large on-disk history of your metadata changes.
    # pvmetadatasize = 255
    # List of directories holding live copies of text format metadata.
    # These directories must not be on logical volumes!
    # It's possible to use LVM2 with a couple of directories here,
    # preferably on different (non-LV) filesystems, and with no other
    # on-disk metadata (pvmetadatacopies = 0). Or this can be in
    # addition to on-disk metadata areas.
    # The feature was originally added to simplify testing and is not
    # supported under low memory situations - the machine could lock up.
    # Never edit any files in these directories by hand unless you
    # you are absolutely sure you know what you are doing! Use
    # the supplied toolset to make changes (e.g. vgcfgrestore).
    # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ]
    # Event daemon
    dmeventd {
    # mirror_library is the library used when monitoring a mirror device.
    # "libdevmapper-event-lvm2mirror.so" attempts to recover from
    # failures. It removes failed devices from a volume group and
    # reconfigures a mirror as necessary. If no mirror library is
    # provided, mirrors are not monitored through dmeventd.
    mirror_library = "libdevmapper-event-lvm2mirror.so"
    # snapshot_library is the library used when monitoring a snapshot device.
    # "libdevmapper-event-lvm2snapshot.so" monitors the filling of
    # snapshots and emits a warning through syslog when the use of
    # the snapshot exceeds 80%. The warning is repeated when 85%, 90% and
    # 95% of the snapshot is filled.
    snapshot_library = "libdevmapper-event-lvm2snapshot.so"
    # thin_library is the library used when monitoring a thin device.
    # "libdevmapper-event-lvm2thin.so" monitors the filling of
    # pool and emits a warning through syslog when the use of
    # the pool exceeds 80%. The warning is repeated when 85%, 90% and
    # 95% of the pool is filled.
    thin_library = "libdevmapper-event-lvm2thin.so"
    # Full path of the dmeventd binary.
    # executable = "/usr/sbin/dmeventd"

Maybe you are looking for