NFS
(ver.4) 파티션이 설치된 서버는 3대입니다 . 서버 A와 B는 정상이지만 서버 C의 파티션이 올바르게 마운트되지 않았습니다. 서버 A와 B의 변경 사항은 서버 C로 전파되지 않으며 그 반대의 경우도 마찬가지입니다. mount
서버 C에서는 파티션이 마운트된 것으로 표시됩니다.
mount |grep snapshots
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 on /opt/gicapods/snapshots type nfs4 (rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114)
df
직접 쿼리할 때만 표시됩니다 .
df -h|grep snapshots
df -h /opt/gicapods/snapshots/
Filesystem Size Used Avail Use%
Mounted on
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 400G 163G 223G 43% /opt/gicapods/snapshots
이 줄은fstab
grep snapshots /etc/fstab
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs defaults 0 0
서버가 마지막으로 다시 시작된 이후 검색했지만 /var/log/messages
관련 항목을 찾지 못했습니다.
여기에 가능한 근본 원인이 무엇인지 알려주십시오. 이런 일이 다시 발생하지 않도록 할 수 있는 방법이 있나요?
고쳐 쓰다:
grep -e snapshots -e swdvnasots0014 -e swdicgv000803 /proc/self/mountinfo /proc/self/mounts /proc/mounts /etc/mtab
/proc/self/mountinfo:187 49 0:42 / /opt/gicapods/snapshots rw,relatime shared:164 - nfs4 swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 rw,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114
/proc/self/mounts:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
/proc/mounts:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
/etc/mtab:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
답변1
이 상황의 근본 원인을 단순히 제공하는 것은 거의 불가능하지만 디버깅 및 조사가 어렵기 때문에 주석 섹션에서 디버깅 및 조사에 대한 몇 가지 팁을 제공하겠습니다. 원래 질문에 다양한 작업의 출력을 추가할 수 있으며 근본 원인을 찾을 수 있을 때까지 답변을 편집해 보겠습니다.
우선, 문제를 명확하고 다른 방식으로 표현하는 것이 중요합니다. "디스크가 마운트되지 않음"은 "변경 사항이 전파되지 않음"과 동일하지 않습니다. 디스크가 선명하게 보입니다.예모든 설치 관련 파일 및 명령에서 설치됩니다.
이제 변경 사항이 전파되지 않을 것이라고 말했습니다. 마운트의 초기 상태는 무엇입니까? A/B기, C기의 탑재 내용이 전혀 다른가요? 아니면 일반적으로 사용되는 파일이 있습니까? 그것은처럼 보입니까?예전에는어느 시점에서 동일한 설치("변경 사항 전파가 중단될 때까지"), 아니면 완전히 다른 콘텐츠인가요?
또 다른 사항은 세 시스템 모두에서 모든 설치 옵션과 소스가 정확히 동일한지 다시 확인하는 것입니다. 특히 탈것의 이름이 너무 복잡하고 다른 숫자를 포함하는 경우 일부 차이점과 유형을 간과하기 쉽습니다. 호스트 C에서 다른 서버나 디스크를 사용하고 있을 수 있으며, 그 차이는 모든 것을 변경하는 작은 문자일 수도 있습니다. 따라서 세 시스템 모두에서 다음 명령을 실행하고 정확히 동일한지 확인해야 합니다. 확인하다모든 문자가 동일한지 확인합니다. 다른 서버나 IP일까요?
mount |grep snapshot
- 디스크를 비교할 때 동일한 폴더를 비교하고 있습니까? 기본 마운트 폴더와 하위 폴더 사이에 차이가 있습니까? 시스템 C에 파일을 생성하고 파일이 실제로 동일한 위치에 설치되었지만 호스트 A와 C에는 존재하지 않는지 확인하십시오.
touch /opt/gicapods/snapshots/testfile
df /opt/gicapods/snapshots/testfile
- 이전 단계에서 테스트한 후 NFS 서버에 대해 열려 있는 포트가 있는지 즉시 확인하십시오(이 포트는 유휴 기간 후에 닫히고 다음에 마운트에 액세스할 때 커널에 의해 다시 열리므로 주저하지 마십시오).
ss |grep <IP of the NFS file server>
- 또한 한 터미널에서 tcpdump를 사용하고 다른 터미널에서 일부 작업(ls, 검색, 읽기, 쓰기 등)을 시도하여 호스트 C와 서버 간에 네트워크 통신이 있는지 확인합니다. 마운트 작업을 수행할 때 tcpdump가 출력하는 것이 있는지 확인하세요.
tcpdump -s0 -i any host swdvnasots0014
- 호스트 C의 다른 마운트 지점에 디스크를 수동으로 마운트해 보세요. 무엇을 볼 것인가? 이 새로운 마운트 지점의 내용은
/opt/gicapods/snapshots
호스트 C 또는 호스트 A/B에서 볼 수 있는 것과 동일합니까? 이 새로운 마운트 지점을 변경하면 어떻게 되나요? 호스트 C 또는 호스트 A/B의 원래 마운트 지점으로 전파되는 변경 사항이 표시됩니까?
이 시점에서 몇 가지 단서를 얻을 수 있기를 바랍니다. 조사 중에 답변을 찾으면 질문에서 업데이트해 주세요. 그렇지 않다면 계속 진행할 수 있도록 다양한 테스트 결과를 질문에 추가하세요. 행운을 빌어요!