Зачем? Для работы ploop на OpenVZ/CentOS 5. Для CentOS 6 в репозитории OpenVZ поставляется спец пакетик с обновленной (относительно системы) версией resize2fs:
Попробуем сделать тоже самое, но для OpenVZ на CentOS 5:
rpm -ql e2fsprogs-resize2fs-static-1.42.3-3.el6.1.ovz.x86_64Слинкован он при этом статически, без внешних зависимостей:
/usr/libexec/resize2fs
ldd /usr/libexec/resize2fs
linux-vdso.so.1 => (0x00007fff29eec000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f9fb7bee000)
libc.so.6 => /lib/libc.so.6 (0x00007f9fb785b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9fb7e15000)
Попробуем сделать тоже самое, но для OpenVZ на CentOS 5:
yum install -y gcc make
cd /usr/src
wget -Oe2fsprogs-1.42.3.tar.gz 'http://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v1.42.3/e2fsprogs-1.42.3.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fe2fsprogs%2Ffiles%2Fe2fsprogs%2Fv1.42.3%2F&ts=1383316431&use_mirror=citylan'
tar -xf e2fsprogs-1.42.3.tar.gz
cd e2fsprogs-1.42.3/
./configure --prefix=/opt/e2fsprogs --disable-debugfs --disable-defrag --disable-imager
make install
В итоге в папочке /opt/e2fsprogs мы обнаружим статически слинкованный resize2fs:
ldd /opt/e2fsprogs/sbin/resize2fs
linux-vdso.so.1 => (0x00007fff7ad85000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003201800000)
libc.so.6 => /lib64/libc.so.6 (0x0000003201000000)
/lib64/ld-linux-x86-64.so.2 (0x0000003200c00000)
Который можно закинуть на CentOS 5 ноду, чтобы добиться корректной работы ploop на CentOS 5.
Ради теста перекинул на другую машину и все заработало на ура:
Но итог всей затеи - ploop на CentOS 5 не особо удачный:
Ради теста перекинул на другую машину и все заработало на ура:
./resize2fs
resize2fs 1.42.3 (14-May-2012)
Usage: ./resize2fs [-d debug_flags] [-f] [-F] [-M] [-P] [-p] device [new_size]
Но итог всей затеи - ploop на CentOS 5 не особо удачный:
This filesystem will be automatically checked every 23 mounts orНадо менять в ploop вызовы tune2fs на tune4fs, так как в CentOS 5 пакеты и тулзы для экст2/3 и экст4 - отдельные.
180 days, whichever comes first. Use tune4fs -c or -i to override.
tune2fs 1.39 (29-May-2006)
tune2fs: Filesystem has unsupported feature(s) while trying to open /dev/ploop26472p1
Couldn't find valid filesystem superblock.
Error in run_prg_rc (util.c:289): Command tune2fs -ouser_xattr,acl /dev/ploop26472p1 exited with code 1
Unmounting device /dev/ploop26472
Failed to create image: Error in run_prg_rc (util.c:289): Command tune2fs -ouser_xattr,acl /dev/ploop26472p1 exited with code 1 [24]
Destroying container private area: /vz/private/7777
Creation of container private area failed
