List Info

Thread: LVM2: cannot perform lvreduce on logical volume




LVM2: cannot perform lvreduce on logical volume
user name
2006-06-20 12:08:45
I have recently created a new logical volume on a freshly
installed 
machine.  I have successfully created an ext3 filesystem on
it, and can 
mount and read/write files to it.  However, I would now like
to reduce 
the size of the logical volume.  I have attempted to
lvreduce it (and 
lvremove it) with the filesystem unmounted, but these
commands yield the 
following error:

lvm> lvreduce -L -50G VolGroup00/LogVol06
   /dev/cdrom: open failed: Read-only file system
   WARNING: Reducing active logical volume to 156.53 GB
   THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce LogVol06? [y/n]: y
   Reducing logical volume LogVol06 to 156.53 GB
   device-mapper: deps ioctl failed: Invalid argument
   _deps: task run failed for (253:6)
   Failed to add device (253:6) to dtree
   Failed to suspend LogVol06

Additionally, the following error shows up in
/var/log/messages:

Jun 20 12:55:44 ripper kernel: device-mapper: one of name or
uuid must 
be supplied, cmd(11)

I have run vgmknodes, but this does not appear to fix the
problem.

I have the following structure for the Volume Group
VolGroup00

[rootripper mapper]# lvs
   LV       VG         Attr   LSize   Origin Snap%  Move Log
Copy%
   LogVol00 VolGroup00 -wi-ao   4.00G
   LogVol01 VolGroup00 -wi-ao   2.00G
   LogVol02 VolGroup00 -wi-ao   8.00G
   LogVol03 VolGroup00 -wi-ao   4.00G
   LogVol04 VolGroup00 -wi-ao   4.00G
   LogVol05 VolGroup00 -wi-ao   4.00G
   LogVol06 VolGroup00 -wi-a- 206.53G
[rootripper mapper]# pvs
   PV         VG         Fmt  Attr PSize   PFree
   /dev/sda2  VolGroup00 lvm2 a-     4.00G    0
   /dev/sda5  VolGroup00 lvm2 a-   228.53G    0

LogVol06 is the problematic volume.

System details
--------------

OS Version:

Linux version 2.6.9-5.ELsmp (bhcompilethor.perf.redhat.com) (gcc 
version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan
5 19:29:47 
EST 2005

LVM Version:

[rootripper mapper]# rpm -qa | grep -i lvm
lvm2-2.02.01-1.3.RHEL4
system-config-lvm-1.0.16-1.0

Other details possibly of use:

[rootripper mapper]# ls -l /dev/mapper
total 0
crw-------  1 root root  10, 63 Jun  9 13:37 control
brw-------  1 root root 253,  0 Jun  9 13:38
VolGroup00-LogVol00
brw-------  1 root root 253,  5 Jun  9 13:38
VolGroup00-LogVol01
brw-------  1 root root 253,  3 Jun  9 13:38
VolGroup00-LogVol02
brw-------  1 root root 253,  2 Jun  9 13:38
VolGroup00-LogVol03
brw-------  1 root root 253,  4 Jun  9 13:38
VolGroup00-LogVol04
brw-------  1 root root 253,  1 Jun  9 13:38
VolGroup00-LogVol05
brw-rw----  1 root disk 253,  6 Jun 19 12:37
VolGroup00-LogVol06

[rootripper mapper]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda3 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/mapper/VolGroup00-LogVol05 on /home type ext3 (rw)
/dev/mapper/VolGroup00-LogVol03 on /tmp type ext3 (rw)
/dev/mapper/VolGroup00-LogVol02 on /usr type ext3 (rw)
/dev/mapper/VolGroup00-LogVol04 on /var type ext3 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

lvm.conf:


# 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.


# 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" ]

     # 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 any name
matches any 'a'
     # pattern, the device is accepted; otherwise if any
name matches 
any 'r'
     # pattern 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'.


     # 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/.*/" ]

     # 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 file is hidden in the /etc/lvm
directory.
     # It is safe to delete this file: the tools regenerate
it.
     cache = "/etc/lvm/.cache"

     # 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
components of
     # software RAID (md) devices by looking for md
superblocks.
     # 1 enables; 0 disables.
     md_component_detection = 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

     # 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
}

# 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 readeable 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

     # 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 "lvm1" if compiled in, else
"lvm2".
     # format = "lvm1"

     # Location of proc filesystem
     proc = "/proc"

     # Type of locking to use. Defaults to file-based
locking (1).
     # Turn locking off by setting to 0 (dangerous: risks
metadata 
corruption
     # if LVM2 commands get run concurrently).
     locking_type = 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 = "/var/lock/lvm"

     # 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"
}

activation {
     # Device used in place of missing stripes if activating
incomplete 
volume.
     # For now, you need to set this up yourself first (e.g.
with 'dmsetup')
     # For example, you could make it return I/O errors
using the 'error'
     # target or make it return zeros.
     missing_stripe_filler = "/dev/ioerror"

     # Size (in KB) of each copy operation when mirroring
     mirror_region_size = 512

     # How much stack (in KB) to reserve for use while
devices suspended
     reserved_stack = 256

     # 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
     #
     # volume_list = [ "vg1",
"vg2/lvol1", "tag1", "*"
]
}


####################
# 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

     # 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" ]
#}


[rootripper mapper]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      :                   Intel(R) Xeon(TM) CPU
3.80GHz
stepping        : 10
cpu MHz         : 3790.648
cache size      : 2048 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic
sep mtrr pge 
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht
tm syscall 
nx lm pni monitor ds_cpl est tm2 cid cx16 xtpr ts
bogomips        : 7520.25
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:


Thanks,
Steve Phelps
Ripple Software Ltd.

-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-requestredhat.com?subject=unsubscribe
h
ttps://www.redhat.com/mailman/listinfo/redhat-list
LVM2: cannot perform lvreduce on logical volume
user name
2006-06-20 12:53:03
Steve Phelps wrote:
> I have recently created a new logical volume on a
freshly installed
> machine.  I have successfully created an ext3
filesystem on it, and can
> mount and read/write files to it.  However, I would now
like to reduce
> the size of the logical volume.  I have attempted to
lvreduce it (and
> lvremove it) with the filesystem unmounted, but these
commands yield the
> following error:
> 

Did you reduce the size of the ext3 filesystem residing on
that logical
volume prior to doing the lvreduce?

man resize2fs

Barry

-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-requestredhat.com?subject=unsubscribe
h
ttps://www.redhat.com/mailman/listinfo/redhat-list
LVM2: cannot perform lvreduce on logical volume
user name
2006-06-28 18:30:53
Hi,
-umount the lvm
-rezer2fs --size
-lvreduce ----
-mount lvm
it will work
Shankar RHCE



On 6/20/06, Barry L. Kline <blklineattglobal.net> wrote:
>
> Steve Phelps wrote:
> > I have recently created a new logical volume on a
freshly installed
> > machine.  I have successfully created an ext3
filesystem on it, and can
> > mount and read/write files to it.  However, I
would now like to reduce
> > the size of the logical volume.  I have attempted
to lvreduce it (and
> > lvremove it) with the filesystem unmounted, but
these commands yield the
> > following error:
> >
>
> Did you reduce the size of the ext3 filesystem residing
on that logical
> volume prior to doing the lvreduce?
>
> man resize2fs
>
> Barry
>
> --
> redhat-list mailing list
> unsubscribe mailto:redhat-list-requestredhat.com?subject=unsubscribe
> h
ttps://www.redhat.com/mailman/listinfo/redhat-list
>
-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-requestredhat.com?subject=unsubscribe
h
ttps://www.redhat.com/mailman/listinfo/redhat-list
[1-3]

about | contact  Other archives ( Real Estate discussion Medical topics )