일부 키오스크 컴퓨터를 배포 할 계획이며 작은 펜 드라이브를 부트 디스크로 남겨두고 나머지는 백업하기 쉬운 서버 인 LTSP로 유지하고 싶습니다 .
지금은 두 가지 옵션을 고려하고 있습니다. NFSed / home / 또는 로그인시 복사 된 ~ /의 로컬 복사본이 로그 아웃시 rsynced입니다.
파일 작업이 너무 느려지거나 네트워크가 막힐 수 있습니다 .
일부 키오스크 컴퓨터를 배포 할 계획이며 작은 펜 드라이브를 부트 디스크로 남겨두고 나머지는 백업하기 쉬운 서버 인 LTSP로 유지하고 싶습니다 .
지금은 두 가지 옵션을 고려하고 있습니다. NFSed / home / 또는 로그인시 복사 된 ~ /의 로컬 복사본이 로그 아웃시 rsynced입니다.
파일 작업이 너무 느려지거나 네트워크가 막힐 수 있습니다 .
답변:
프로덕션 환경에서 홈 디렉토리로 NFS를 사용합니다. 몇 가지 트릭이 있습니다.
NFS에 마운트하지 마십시오 /home
. 이렇게하면 NFS 서버가 다운 될 경우 로컬 사용자를 사용할 수 있습니다. 우리는 마운트/mnt/nfs/home
소프트 마운트와 매우 짧은 시간 초과를 사용하면 프로세스가 영원히 차단되지 않습니다.
자동 마운터를 사용하십시오 . 이렇게하면 리소스 사용이 중단되고 NFS 서버가 작동 중지 된 경우 서비스 중단에 대해 걱정할 필요가 없습니다.
auto.master:
+auto.master
/mnt/nfs /etc/auto.home --timeout=300
auto.home
home -rw,soft,timeo=5,intr home.bzzprod.lan:/home
권한 관련 문제가 발생하지 않도록 싱글 사인온 시스템을 사용하십시오. OpenLDAP 서버가 있습니다.
/mnt/nfs/home
해야 /home
하며 중단 을 설정하는 것을 선호 하지만 중단 중에 로컬을 어떻게 사용 합니까? 자세한 내용은 unix.stackexchange.com/questions/189404/…
http://www.howtoforge.com은 최근 GlusterFS를 NFS 대체 / 대체로 사용하는 방법에 대한 기사를 게시했습니다.
다음은 GlusterFS 프로젝트 페이지 ( http://www.gluster.org/) 에서 NFS를 대체 할 수있는 '유용한'대안에 대한 간단한 설명입니다 .
"GlusterFS는 즉시 자체 복구됩니다. fsck가 없습니다. 스토리지 백엔드는 일반 파일 및 폴더 (NFS 스타일)로 직접 액세스 할 수 있습니다. 복제를 사용하면 GlusterFS가 하드웨어 오류를 견딜 수 있습니다."
자세한 내용은 프로젝트 설명서를 참조하십시오.
또한 GlusterFS 사용의 또 다른 장점은 SAN에 더 많은 공간이 필요한 경우 다른 스토리지 브릭 (서버 노드)을 추가하기 만하면 필요할 때 병렬로 스토리지를 확장 / 확장 할 수 있다는 것입니다.
이것이 도움이되거나 최소한 올바른 방향으로 당신을 가리 키기를 바랍니다!
소프트 마운트에주의하십시오! NFS 파일 시스템을 소프트 마운트하면 시간 초과가 발생한 후 IO가 실패합니다. 그것이 사용자의 홈 디렉토리에서 원하는 것인지 확인하십시오! 내 추측은 당신이하지 않는 것입니다. intr 옵션과 함께 홈 디렉토리에 하드 마운트를 사용하면 훨씬 안전합니다.
하드가 시간 초과되지 않음 : IO 작업이 무기한 재 시도됩니다. intr 옵션을 사용하면 장착 프로세스를 중단 할 수 있습니다. 따라서 내보내기를 마운트하고 실패한 경우 하드 마운트가 세션을 잠급니다. intr 옵션을 사용하면 마운트를 중단 할 수 있으므로이 조합은 매우 안전하며 사용자 데이터를 쉽게 잃어 버리지 않습니다.
어쨌든 autofs는이 모든 것을 훨씬 쉽게 해줍니다.
intr
마운트 옵션은, 예를 들어, 참조 커널 2.6.2 이후 리눅스에서 사용되지 access.redhat.com/solutions/157873
주의 할 점은 NFS 서버가 종료 될 때 (마운트가 정지됨) 소프트 마운트를 수행해도 "고정"자체를 피할 수는 있지만 홈이없는 것처럼 홈 디렉토리의 문제를 해결할 수는 없습니다. 디렉토리, 사용자가 어쨌든 망했다.
NFS 서버가 복구 될 때에도 사용자가 작업을 수행하지 않으면 정지 문제가 남아 있습니다. 마운트 시스템에서 프로세스를 종료 한 후 다시 마운트해야합니다. 그 이유는 NFS 서버가 다시 시작되면 다른 서버를 할당 fsid
했기 때문에 fsid
NFS 서버 에서 s를 하드 코딩하여이 문제를 해결할 수 있습니다 .
#. Home Directories
/usr/users \
192.168.16.0/22(rw,sync,no_root_squash,fsid=1) \
192.168.80.0/22(rw,sync,no_root_squash,fsid=1)
#. Scratch Space
/var/ftp/scratch \
192.168.16.0/22(rw,async,no_root_squash,fsid=3) \
192.168.80.0/22(rw,async,no_root_squash,fsid=3) \
172.28.24.151(rw,async,root_squash,fsid=3)
exports(5)
매뉴얼 페이지 상태 ...
fsid=num
This option forces the filesystem identification portion of the file handle
and file attributes used on the wire to be num instead of a number derived
from the major and minor number of the block device on which the filesystem
is mounted. Any 32 bit number can be used, but it must be unique amongst
all the exported filesystems.
This can be useful for NFS failover, to ensure that both servers of the
failover pair use the same NFS file handles for the shared filesystem thus
avoiding stale file handles after failover.
... 주 / 부 숫자가 변경되지 않는 한 (SAN / 다중 경로 볼륨을 내보낼 때를 제외하고는 일반적으로 변경되지 않는 한) 변경 사항이 있음을 알았습니다. 문제를 완전히 제거했습니다. 즉, NFS 서버가 다시 연결되면 연결이 신속하게 복원됩니다 /dev/sdaX
. 예를 들어 이것이 왜 장치에 차이를 냈는지 여전히 알 수 없습니다 .
나는 내 주장이 대체로 일화 적이라는 것을 지적해야한다. 실제로 그것이 문제를 고친 이유는 이해가되지 않지만 문제를 고친 것은 "보이는"것으로 보인다. 아직 발견되지 않았습니다. =)
어떤 네트워크 파일 시스템을 채택하든 적용 할 일반적인 조언 : 많은 프로그램이 사용자의 홈 디렉토리에 데이터를 캐시하는데, 이는 일반적으로 네트워크를 통해 홈 디렉토리에 액세스 할 때 좋은 것보다 더 해 롭습니다.
요즘 XDG_CACHE_HOME
에는 로그인 스크립트에서 환경 변수를 설정하여 다른 프로그램 (예 : 로컬 디스크)에 캐시를 저장하도록 많은 프로그램에 지시 할 수 있습니다 . 많은 프로그램 (예 : Firefox)에는 여전히 수동 구성이 필요하므로 모든 사용자에 대해 동일한 방식으로 식별하고 구성하기 위해 추가 작업을 수행해야 할 수도 있습니다.
XDG_RUNTIME_DIR
Dconf 데이터베이스 위치에 대한 설명은 developer.gnome.org/dconf/unstable/dconf-overview.html
실제로 100mbit 교환 네트워크 이상이있는 경우 NFS는 홈 디렉토리에 적합합니다. 10-20 키오스크 이상을 위해서는 서버에 기가비트 연결이 있어야합니다. 성능 경연 대회에서는 이기지 못하지만 Firefox 및 Open Office와 같은 것은 정상적으로 작동합니다.
홈 디렉토리에 복사하는 것은 로그인시 지연 시간 (최대 12MB / s 인 100mbit 네트워크에서 100m 홈 디렉토리는 10 초에 가깝습니다)에있어 큰 고통이 될 것입니다. Rsync는 웹 브라우저 캐시 동기화와 충돌합니다 ... 10 분과 500 파일이 아파요.
cachefilesd를 살펴보십시오 . 나는 그것을 직접 사용하지는 않았지만 유망한 것처럼 보입니다.
cachefilesd 데몬은 AFS 및 NFS와 같은 네트워크 파일 시스템에서 로컬 디스크에 지속적으로 캐싱을 수행하는 데 사용되는 캐싱 파일 및 디렉토리를 관리합니다.
또한 rsize 및 wsize 매개 변수를 조정하고 가능한 경우 점보 프레임을 사용하는 것을 잊지 마십시오.