nfs이용한 두대의 클러스터중 클라이언트의 reboot시 에러...

amorfati의 이미지

redhat 9.0으로 두대를 pxelinux.0을 이용하여 diskless 클러스터를 연결했습니다.

중간에 이것저것 에러도 많았고 손도 많이 봤지만 일단 연결됬고 마스터도 클라이언트도 failed없이 부팅이 되었습니다.

그런데 클라이언트를 reboot시키면 다음과 같은 에러가 화면을 가득채우고 멈추지 않습니다.

RPC : sendmsg returned error 101
nfs : RPC call returned error 101

다른곳에서 찾아보니 패치를 하면 된다고한 답변을 보았을뿐 더 자세한 내용은 찾을수가 없었습니다.

커널 2.6.4이고 마스터 클라이언트 모두 모듈없이 커널에 다 집어넣었구요,

특이사항은 nfs-utils-1.0.6 업그레이드 시켜준것 뿐입니다~

지금 여기까지의 작업만 벌써 여러번이네요...

저번에 이 문제가 생겼을땐 하다하다 안되서 그냥 무시하고 넘어간다음

MPI를 설치하다가 mpd가 안올라가 다시 처음부터...

그런데 또 이 에러가 나타납니다....ㅜ.ㅜ

그래서 여기 고수분들께 도움 청합니다.

그리고 클러스터를 연결했을때 두대가 failed없이 부팅되었다고해도 가장 먼저 잘 작동되는지 체크해봐야하는게 뭐가있을까요?

amorfati의 이미지

/etc/init.d/killall stop 혹은 /etc/init.d/killall start 하면 같은 에러가 발생합니다..

당췌 이유가 뭔지 도무지 모르겠습니다..

아무래도 저의 한계가 넘어서는 듯 하네요..ㅜ.ㅜ

a.m.o.r.f.a.t.i.

koku_ma의 이미지

이게 맞느지는 확실하진 않구요.
저도 책에서 보고 한 거거던요.

Quote:

diskless shutdown 시 필요없는 서비스 제거
shutdown 이나 reboot 시 종료하는 순서에 인해 문제가 발생한다.
리눅스는 루트 파일 시스템이 작업을 마치기 전에 네트웍크 상의 파일 시스템을 언마우트한다.
이 문제점을 해결하기 위해

/etc/rc.d/rc0.d , /etc/rc.d/rc1.d , /etc/rc.d/rc6.d 밑에 있는
S00killall , K90netword 파일을 삭제해야 한다.

도움이 되었으면 좋겠네요. 저도 diskless 때문에 고생을 많이 했거던요.ㅡㅡ;

amorfati의 이미지

답변 감사합니다.
제가 외부에 나가있어서 오늘에야 봤습니다.
말씀하신대로 했더니, rpc error 101이라고 하면서 화면을 가득채우며 멈춰버리는건 사라졌네요..^^

그런데 reboot이나 종료시에 아래와같은 메시지가 나옵니다.

Unmounting NFS filesystems: [OK]
awk: cmd. line:2 fatal cannot open file '/proc/mounts' for reading (No such file or directory)
saving random seed: [OK]
stoping NFS statd: mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
[FAILED]
stoping portmap statd : mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
[FAILED]
Shutting down kernel logger :  mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
[FAILED]
Shutting down system logger :  mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
mount: wrong fs type, bad option, bad superblock on none, or too many mounted fole systems
pidof: mount returned non-zero exit status
pidof: /proc not mounted, failed to mount.
[FAILED]
Senging all processes the TERM signal... mount:wrong fs type, bad option, bad superblock on none, or too many mounted file systems
killall5: mount returned non-zero exit status
killall5: /proc not mounted, failed to mount.
[FAILED]
.
.
.
awk: cmd. line:2: fatal: cannot open file '/proc/swaps' for reading (No such file or directory)
turning off quotas:
awk: cmd. line:2: fatal: cannot open file '/proc/mounts' for reading (No such file or directory)
awk: cmd. line:2: fatal: cannot open file '/proc/mounts' for reading (No such file or directory)
awk: cmd. line:5: fatal: cannot open file '/proc/mounts' for reading (No such file or directory)
umount2: Invalid argument
umount: none: not found
umount: /dev/shm: not mounted
umount2: Invalid argument
umount: none: not found
umount: /dev/pts: not mounted
umount2: Invalid argument
umount: /: not mounted
mount: / not mounted already, or bad option
Please stand by while rebooting the system...

그리고는 다시 부팅하면 아주 정상적으로 부팅되구요...

다시한번 질문 드립니다.

1. 한 node에서 nfs 마운트된 디렉토리에 화일을 생성하고 다른 node에서 rsh로 생성된 화일을 확인할수 있습니다.
이것이 되면 nfs가 정상적으로 작동된다고 보면 되는건지 궁금합니다.

2. 위 메시지에서 failed의 원인을 모르겠습니다.
아래는 /etc/exports file 입니다.

/tftpboot/192.168.2.2	192.168.2.2(rw,sync,no_root_squash,no_subtree_check)
/usr			192.168.2.2(rw,sync,no_root_squash,no_subtree_check)
/opt			192.168.2.2(rw,sync,no_root_squash,no_subtree_check)
/var			192.168.2.2(rw,sync,no_root_squash,no_subtree_check)
/home			192.168.2.2(rw,sync,no_root_squash,no_subtree_check)

아래는 클라이언트의 /etc/fstab 입니다.

192.168.2.1:/tftpboot/192.168.2.2    /	nfs	rw,defaults	0 0
192.168.2.1:/usr		/usr		nfs	rw,defaults	0 0
192.168.2.1:/home		/home		nfs	rw,defaults	0 0
192.168.2.1:/opt		/opt		nfs	rw,defaults	0 0
none			/dev/pts		devpts	gid=5,mode=620	0 0
none			/proc		proc	defaults		0 0
none			/dev/shm		tmpfs	defaults		0 0
/dev/fd0			/mnt/floppy	auto	noauto,owner,kudzu 0 0

portmap, nfslock, nfs 정상작동 하구요..

지금 MPICH를 올려 앞으로 갈길이 먼데 여기서 자꾸 나아가질 않습니다.

도와주십시요... :oops:

a.m.o.r.f.a.t.i.

koku_ma의 이미지

1. 한 node에서 nfs 마운트된 디렉토리에 화일을 생성하고 다른 node에서 rsh로 생성된 화일을 확인할수 있습니다.
이것이 되면 nfs가 정상적으로 작동된다고 보면 되는건지 궁금합니다.

==> 답변
네. 잘 동작하는 것 같습니다.
NFS서버에서 export 시킨 디렉토리를 NFS클라이언트에서 파일을 읽고 쓸 수 있으면 잘 동작하는 겁니다.

2. 위 메시지에서 failed의 원인을 모르겠습니다.
저도 /proc 부분에서 나는 에러는 잘 모르겠네요.
그러나 저도 diskless 컴퓨터를 reboot이나 halt 할때 에러메지지는 납니다.
정확한 메지지는 기억이 나질 않네요.

그리고 한가지 더 생각나는게 있어서요.
참고 하세요.

Quote:
/fsatboot 파일 생성
일반적으로 리눅스는 시스템이 부팅될 때, 정상정으로 종료되었는지 항상 확인한다.
그렇지 않다면, 루트 파일 시스템을 검사한다.
이런 검사 과정을 피하기 위해서는 /fastboot 이라는 파일을 사용한다.
이 파일이 존재한다면 디스크 검사 과정을 생략할 수 있다.

생성 방법 chattr +i [filename]
chattr +i /tftpboot/[클라이언트폴더]/fsatboot

확인 방법
lsattr 로 보면 ---i--------- filename 이렇게 보인다.

삭제 방법 chattr -i [filename]
chattr -i /tftpboot/[클라이언트폴더]fsatboot

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.