Actualmente estoy intentando probar DRBD 9 (drbd-9.0.21-1 y drbd-utils-9.13.0) en el sistema Oracle Linux 6 (lo mismo para producción) y está aislado de la red externa, por lo que no se puede usar yum. No hay duda (y no puedo actualizar la distribución ya que se usará en la producción en ejecución). Actualmente, lo estoy construyendo usando el tarball.
La documentaciónno menciona nada sobre los paquetes y versiones requeridos, por lo tanto, ejecuto make
y busco los rpms necesarios y usoesta guía de Centos 6yesta guía de Centos 7paquetes.
Finalmente, usoesta guía de Centos 6(Sé que la versión de DRBD es 8.4, pero tengo que conformarme con ella ya que no hay otra guía para mi caso, yesta guía de Centos 7es bastante similar, sin drbdmanage, que fue reemplazado recientemente por linstor) para compilarlo.
Puedo ejecutar make kmp-rpm
DRBD9 y ./configure
drbd-utils sin problemas, pero cuando ejecuto make rpm
dbrd-utils, me da este error (lo ejecuto como root):
RPM build errors:
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/lib/drbd
File not found: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/sbin/drbdmon
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/lib/drbd
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/lib/drbd
%defattr doesn't define directory mode so file mode defined in %defattr is used for directory: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/run/drbd
File not found by glob: /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/share/man/man8/drbdmon-*
make: *** [rpm] Error 1
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/lib/
drbd udev
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/sbin/
drbdadm drbdmeta drbdsetup
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/lib/
debug drbd ocf
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/lib/
drbd
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/var/run/
drbd
# ls /root/rpmbuild/BUILDROOT/drbd-9.13.0-1.el6.x86_64/usr/share/man/man8/
drbd-8.3.8.gz drbdadm-8.4.8.gz drbdmeta-8.3.8.gz drbdsetup-8.4.8.gz
drbd-8.4.8.gz drbdadm-9.0.8.gz drbdmeta-8.4.8.gz drbdsetup-9.0.8.gz
drbd-9.0.8.gz drbddisk-8.3.8.gz drbdmeta-9.0.8.gz
drbdadm-8.3.8.gz drbddisk-8.4.8.gz drbdsetup-8.3.8.gz
Según tengo entendido, no pudo encontrar drbdmon. ¿Hay alguna forma de resolver esto? ¿Me estoy perdiendo algo o no es posible compilar DRBD 9 en EL6?
Respuesta1
Finalmente puedo compilar drbd-utils usando una versión más nueva de gcc. La versión gcc incorporada de mi Oracle Linux es 4.4, que no tiene C++ 11.
Estoy usandoesta guía para usar gcc más reciente temporalmente en el shell.