resize2fs: Permission denied to resize filesystem
linux 下lvm扩容后,进行resize2fs进行容量的生效时,发现权限拒绝;通过查看卷的权限,连接等,都没有问题;
[root@trsen /]# strace -f resize2fs /dev/mapper/vgtrsen-u02
execve("/sbin/resize2fs", ["resize2fs", "/dev/mapper/vgtrsen-u02"], [/* 26 vars */]) = 0
brk(0) = 0x25a3000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e6000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=68514, ...}) = 0
mmap(NULL, 68514, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa1c75d5000
close(3) = 0
open("/lib64/libe2p.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\37\200\3522\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=34904, ...}) = 0
mmap(0x32ea800000, 2128240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32ea800000
mprotect(0x32ea806000, 2097152, PROT_NONE) = 0
mmap(0x32eaa06000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x32eaa06000
close(3) = 0
open("/lib64/libext2fs.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\342\200\3512\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=283400, ...}) = 0
mmap(0x32e9800000, 2376760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32e9800000
mprotect(0x32e9843000, 2093056, PROT_NONE) = 0
mmap(0x32e9a42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42000) = 0x32e9a42000
close(3) = 0
open("/lib64/libcom_err.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\24@\3672\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=17256, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d4000
mmap(0x32f7400000, 2109904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32f7400000
mprotect(0x32f7403000, 2093056, PROT_NONE) = 0
mmap(0x32f7602000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x32f7602000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\356\301\3512\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1930416, ...}) = 0
mmap(0x32e9c00000, 3750184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32e9c00000
mprotect(0x32e9d8a000, 2097152, PROT_NONE) = 0
mmap(0x32e9f8a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0x32e9f8a000
mmap(0x32e9f90000, 14632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x32e9f90000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000^\0\3522\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=146592, ...}) = 0
mmap(0x32ea000000, 2212848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32ea000000
mprotect(0x32ea017000, 2097152, PROT_NONE) = 0
mmap(0x32ea217000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x32ea217000
mmap(0x32ea219000, 13296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x32ea219000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d3000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d1000
arch_prctl(ARCH_SET_FS, 0x7fa1c75d1720) = 0
mprotect(0x60a000, 4096, PROT_READ) = 0
mprotect(0x32eaa06000, 4096, PROT_READ) = 0
mprotect(0x32e9a42000, 4096, PROT_READ) = 0
mprotect(0x32f7602000, 4096, PROT_READ) = 0
mprotect(0x32e9f8a000, 16384, PROT_READ) = 0
mprotect(0x32ea217000, 4096, PROT_READ) = 0
mprotect(0x32e9620000, 4096, PROT_READ) = 0
munmap(0x7fa1c75d5000, 68514) = 0
set_tid_address(0x7fa1c75d19f0) = 12343
set_robust_list(0x7fa1c75d1a00, 24) = 0
futex(0x7ffd27f5ef4c, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffd27f5ef4c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7fa1c75d1720) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x32ea005cb0, [], SA_RESTORER|SA_SIGINFO, 0x32ea00f7e0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x32ea005d40, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x32ea00f7e0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0x25a3000
brk(0x25c4000) = 0x25c4000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=99174448, ...}) = 0
mmap(NULL, 99174448, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa1c173c000
close(3) = 0
write(2, "resize2fs 1.43-WIP (20-Jun-2013)"..., 33resize2fs 1.43-WIP (20-Jun-2013)
) = 33
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
open("/proc/swaps", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(3, "Filename\t\t\t\tType\t\tSize\tUsed\tPrio"..., 1024) = 161
stat("/dev/dm-1", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 1), ...}) = 0
stat("/swap1", {st_mode=S_IFREG|0644, st_size=21474836480, ...}) = 0
read(3, "", 1024) = 0
close(3) = 0
munmap(0x7fa1c75e5000, 4096) = 0
open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 3
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
futex(0x32e9f91040, FUTEX_WAKE_PRIVATE, 2147483647) = 0
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(3, "proc /proc proc rw,relatime 0 0\n"..., 1024) = 835
stat("/dev/mapper/vg_hpdpre-lv_root", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 0), ...}) = 0
stat("/dev/sda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 1), ...}) = 0
stat("/dev/mapper/vg_hpdpre-lv_home", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 4), ...}) = 0
stat("/dev/mapper/vgtrsen-u01", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 2), ...}) = 0
stat("/etc/auto.misc", {st_mode=S_IFREG|0644, st_size=524, ...}) = 0
stat("/u02", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3) = 0
munmap(0x7fa1c75e5000, 4096) = 0
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
open("/dev/mapper/vgtrsen-u02", O_RDONLY|O_EXCL) = -1 EBUSY (Device or resource busy)
open("/dev/mapper/vgtrsen-u02", O_RDWR) = 3
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
close(3) = 0
open("/dev/mapper/vgtrsen-u02", O_RDONLY) = 3
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
ioctl(3, BLKDISCARDZEROES, 0) = 0
lseek(3, 1024, SEEK_SET) = 1024
read(3, "\0pT\16\0004\243r\201N\177\5-\372.\7UbT\16\0\0\0\0\2\0\0\0\2\0\0\0"..., 1024) = 1024
mmap(NULL, 1884160, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c1570000
lseek(3, 4096, SEEK_SET) = 4096
read(3, "\1\4\0\0\21\4\0\0!\4\0\0\331\3\364\17\2\0\4\0\0\0\0\0\0\0\0\0\363\0175\2"..., 1880064) = 1880064
open("/dev/mapper/vgtrsen-u02", O_RDONLY) = 4
uname({sys="Linux", node="trsen.test.hpay", ...}) = 0
ioctl(4, BLKGETSIZE64, 8736823312384) = 0
close(4) = 0
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2512, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(4, "# Locale name alias data base.\n#"..., 4096) = 2512
read(4, "", 4096) = 0
close(4) = 0
munmap(0x7fa1c75e5000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
write(1, "Filesystem at /dev/mapper/vghpcp"..., 85Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
) = 85
write(1, "old_desc_blocks = 459, new_desc_"..., 45old_desc_blocks = 459, new_desc_blocks = 509
) = 45
access("/sys/fs/ext4/features/meta_bg_resize", R_OK) = 0
open("/u02", O_RDONLY) = 4
ioctl(4, 0x40086610, 0x7ffd27f5eec8) = -1 EPERM (Operation not permitted)
write(2, "resize2fs", 9resize2fs) = 9
write(2, ": ", 2: ) = 2
write(2, "Permission denied to resize file"..., 38Permission denied to resize filesystem) = 38
ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(2, "\n", 1
) = 1
exit_group(1) = ?
+++ exited with 1 +++
[root@trsen /]# resize2fs /dev/mapper/vgtrsen-u02
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
old_desc_blocks = 459, new_desc_blocks = 509
resize2fs: Permission denied to resize filesystem
[root@trsen /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hpdpre-lv_root
50G 25G 22G 54% /
tmpfs 120G 72K 120G 1% /dev/shm
/dev/sda1 477M 81M 367M 19% /boot
/dev/mapper/vg_hpdpre-lv_home
39G 30G 7.4G 80% /home
/dev/mapper/vgtrsen-u01
99G 29G 66G 31% /u01
/dev/mapper/vgtrsen-u02
7.2T 6.7T 108G 99% /u02
[root@trsen /]# umount /u02
[root@trsen /]# resize2fs /dev/mapper/vgtrsen-u02
resize2fs 1.43-WIP (20-Jun-2013)
Please run 'e2fsck -f /dev/mapper/vgtrsen-u02' first.
[root@trsen /]# e2fsck -f /dev/mapper/vgtrsen-u02
e2fsck 1.43-WIP (20-Jun-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vgtrsen-u02: 3499/240414720 files (1.3% non-contiguous), 1802779091/1923298304 blocks
[root@trsen /]#
[root@trsen /]# mount /dev/mapper/vgtrsen-u02 /u02
[root@trsen /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hpdpre-lv_root
50G 25G 22G 54% /
tmpfs 120G 72K 120G 1% /dev/shm
/dev/sda1 477M 81M 367M 19% /boot
/dev/mapper/vg_hpdpre-lv_home
39G 30G 7.4G 80% /home
/dev/mapper/vgtrsen-u01
99G 29G 66G 31% /u01
/dev/mapper/vgtrsen-u02
7.2T 6.7T 108G 99% /u02
[root@trsen /]# cd /u02
[root@trsen u02]# ls -lat
total 40
dr-xr-xr-x. 28 root root 4096 Jan 29 16:12 ..
drwxr-xr-x 7 oracle oinstall 4096 Jan 2 15:54 .
drwxr-xr-x 3 oracle oinstall 4096 Jan 2 14:04 media
drwxr-xr-x 3 oracle oinstall 4096 Nov 22 13:16 rman
drwxr-xr-x 4 oracle oinstall 4096 Nov 19 18:40 arch
drwxr-xr-x 3 oracle oinstall 4096 Nov 19 18:40 oradata
drwxr-xr-x 2 oracle oinstall 16384 Nov 19 17:51 lost+found
[root@trsen u02]# resize2fs /dev/mapper/vgtrsen-u02
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
old_desc_blocks = 459, new_desc_blocks = 509
The filesystem on /dev/mapper/vgtrsen-u02 is now 2133013504 blocks long.
可能是因为之前对此设备做了快照时,产生一些无操作后,导致文件系统产生了不一致的状态,所以通过强制一致性检查后,再进行生效即可