64bit NFS 디스크에서 32bit컴파일 실행파일 조치 리눅스

[ 상황 ]
실행 파일은 32bit로 컴파일 되었는데, NFS로 붙어있는 디스크가 64bit라면 이 디스크의 파일을 32bit로 컴파일되어있는 실행파일이찾지를 못하는 현상이 발생한다.

[ 에러 ]
아래의 에러 메시지를 뿌린다.

Value too large for defined data type

[ 조치 ]
방법1:  실행파일을 64bit로 컴파일하고 O/S를 64bit로 재설치한다.(왕 노가다.)

방법2: NFS를 32bit로 적용한다.(좋은 방법인데 다른 64bit와 공유하면 헛일)

방법3:  echo "options nfs enable_ino64=N" >/etc/modprobe.d/options-local.conf 
           이렇게 설정하고 nfs모듈을 리로딩하거나 시스템을 재시작한다.
           커널 2.6.24부터 가능하단다.

아래는 해당 내용에 대한 문서이다. 
이렇게 나와있다.

+ nfs.enable_ino64=
+ [NFS] enable 64-bit inode numbers.
+ If zero, the NFS client will fake up a 32-bit inode
+ number for the readdir() and stat() syscalls instead
+ of returning the full 64-bit number.
+ The default is to return 64-bit inode numbers.

최근 64bit가 기본으로 적용되는 환경이라 기존에 사용하던 32bit의 환경과 쫑이나서 발생하는 증상으로
향후 점점 많아질 우려가있다.

덧글

댓글 입력 영역