여러 가지 이유로 서버 한 대와 디스크 없는 워크스테이션 두 대를 설정해야 합니다.
워크스테이션은 "thick client"가 될 것입니다. 즉, 워크스테이션이 모든 작업에 자체 CPU, 메모리 등을 사용하도록 허용하고 싶습니다. 이상적으로는 워크스테이션 사용자가 디스크 없이 실행되고 있다는 사실조차 알아차려서는 안 됩니다(물론 PXE 부팅은 제외).
우리는 OpenSuse를 사용하고 있으므로 워크스테이션은 OpenSuse(11.2에서 11.4 사이)를 실행해야 합니다. 반드시 일반 openSuse 설치를 실행할 필요는 없지만 최대한 비슷해야 합니다.
일반적인 아이디어는 워크스테이션을 PXE 부팅한 다음 NFS를 통해 서버에 해당 (루트) 파일 시스템을 마운트하도록 하는 것입니다.
기존 OpenSuse 11.4 설치를 디렉토리에 복사한 다음 NFS를 통해 디렉토리를 내보내려고 했습니다. 그런 다음 PXE/TFTP를 통해 커널과 initrd를 노출합니다. 문제는 설치 시 initrd가 설치된 시스템에 맞게 사용자 정의되어 있으므로 그대로 사용하면 작동하지 않는다는 것입니다.
저는 LTSP(OpenSuse용 KIWI-LTSP)를 사용해 보았으나 성공이 매우 제한적이었습니다.
이제 내 실제 질문은 다음과 같습니다.
1) 디스크가 없는 워크스테이션에서 작동하도록 initrd를 수동으로 수정하는 것 외에 나를 도와줄 수 있는 방법이 있습니까?
2) 내가 가진 한 가지 아이디어는 두 워크스테이션 모두에 동일한 루트("/")를 사용하고 /var 및 /tmp와 같은 항목을 tmpfs로 마운트하는 것이었습니다. 여기서 피해야 할 함정이 있나요?
3) 이 설정을 수행하는 방법에 대한 다른 아이디어가 있습니까? 모든 아이디어를 환영합니다!
답변1
opensuse에 대해 구체적인 답변을 드릴 수는 없지만 대부분의 배포판에는 비슷한 프로세스가 있습니다.
데비안 방식(자세히 설명하지 않음)
Initrd 이미지는
update-initramfs
initramfs-tools 패키지를 사용하여 구축됩니다.- 대부분의 경우 initrd 이미지는 모든 일반 시스템에서 작동합니다. 이러한 시스템에는 디스크가 없고 initrd 단계에서 작동해야 하는 유일한 것은 네트워크와 nfs이기 때문입니다. 일부 시스템에서 네트워크 카드를 사용하기 위해 특정 모듈이 필요한 경우 를
/etc/initramfs-tools/modules
실행하기 전에 해당 모듈을 지정해야 합니다update-initrams
. - 기본 이미지에는 nfs 지원이 있으며, 필요한 유일한 것은
root=/dev/nfs nfsroot=x.x.x.x:/exportedfs dhcp
pxe 구성의 APPEND 라인에 이를 추가하는 것입니다.
- 대부분의 경우 initrd 이미지는 모든 일반 시스템에서 작동합니다. 이러한 시스템에는 디스크가 없고 initrd 단계에서 작동해야 하는 유일한 것은 네트워크와 nfs이기 때문입니다. 일부 시스템에서 네트워크 카드를 사용하기 위해 특정 모듈이 필요한 경우 를
서버 측에서 내보낸 디렉토리는 작동하는 감옥 환경이어야 하며, 이를 통해 소프트웨어 업그레이드 또는 설치 또는 구성 변경이 매우 쉬워집니다. 클라이언트 측에서는
/tmp
이는 단순히 tmpfs일 수 있습니다./var
여러 가지 옵션이 있기 때문입니다 ./var/run
일부 하위 디렉토리를 tmpfs 등 으로 마운트하십시오 ./var/log
/var/tmp
- 또는 어딘가에 tmpfs를 마운트하고 Unionfs/aufs를 사용 하여
/var
./var
aufs가 필요할 수도 있습니다 . 시작 프로세스 초기에 실행되고 IP를 기반으로 호스트 이름을 가져오고 다시 생성하는 것과
/etc/
같이 각 클라이언트에 대해 무언가를 설정하는 스크립트가 필요합니다 ./etc/hosts
/etc/hostname
/home
폴더는 nfs로 내보내지고 rw로 마운트되어야 합니다. NIS, LDAP, AD 또는 사용자 계정(및/또는 프로필) 관리와 유사한 기능을 사용하면 약간의 혼란을 줄이는 데 도움이 됩니다.
나는 nfs에서 aufs를 수행한 적이 없으며 과거에 네트워크 공유에서 Unionfs를 사용하는 데 몇 가지 문제가 있었다는 점을 기억해야 합니다. 위의 내용 중 일부는 이론적인 것입니다. 오래 전 제가 디스크 없는 시스템을 갖고 있던 시절이었습니다.
답변2
페르세우스원하는 기능이 있어야 합니다.
Perceus 이미지는 "VNFS 캡슐"로 구현됩니다. 불행하게도 SUSE 캡슐을 쉽게 구할 수는 없을 것 같지만 직접 만들어 볼 수도 있습니다.