RHEL/OEL NFS 공유를 위한 Linux의 ZFS

RHEL/OEL NFS 공유를 위한 Linux의 ZFS

Oracle Linux(OLE) 6.1(Red Hat RHEL 6.1 호환 복제본)용 Linux에서 ZFS를 사용해 보고 있습니다. 성공적으로 컴파일하고 설치했습니다.spl그리고zfsOracle Unbreakable Kernel을 위한 것입니다. Zfs가 작동 중이고 다음으로 미러를 만들었습니다.

zpool create -f -o ashift=12 tank mirror sdb sdc

이제 언급한 대로 "tank/nfs"라는 zfs 풀을 공유하려고 합니다.zfsonlinux 사이트.

zfs set sharenfs=on tank/nfs

그래서 내가 만들었어요탱크/nfs그리고 설정nfs에게~에.

이제 로컬 호스트에 nfs 공유를 마운트하여 테스트하려고 합니다.

mount -t nfs4 127.0.0.1:/tank/nfs /mnt

하지만 나는 얻는다mount.nfs4: mount system call failed

질문은 다음과 같습니다.

NFS 폴더를 공유하는 방법또는 OLE에서 iSCSI 볼륨을 올바르게 마운트하고 마운트합니다.ZFS를 통해 Linux 클라이언트 사용리눅스에서.

정답은 mount 127.0.0.1:/tank/nfs /mnt

답변1

nfs 서버 구성에 문제가 있는 것 같습니다.

이것을 따라해 보세요어떻게RHEL 6을 nfs 서버로 설정하기 위한 것입니다.

답변2

NFS 마운트를 설정하려면 portmap마운트를 시도하기 전에 서비스를 실행해야 합니다.

/sbin/service portmap startNFS 마운트를 실행 하고 다시 시도하십시오.

RHEL6 이상의 경우 이는 rpcbind-/sbin/service rpcbind start

답변3

FreeBSD와 Debian GNU/kFreeBSD에서 ZFS를 사용해 본 경험에서 나는 sharenfs 기능이 잘 구현되지 않았다는 것을 발견했습니다. /etc/exports에서 NFS 내보내기를 설정할 수 있습니다.

내보내려는 각 ZFS 파일 시스템에는 자체 내보내기 라인이 필요합니다. 수백 개의 파일 시스템에서는 이것이 너무 느린 것으로 나타났습니다. 또한 기존 파일 시스템을 사용하는 것처럼 단일 파일 시스템을 사용해 보아야 합니다.

Linux에서 NFS 내보내기

Linux에서 NFS를 활성화하려면 /etc/exports 파일을 편집해야 합니다. Linux에서 NFSv4를 사용하면 내보낸 모든 파일 시스템을 NFSv4 의사 파일 시스템이라는 단일 디렉터리에 마운트해야 합니다. 이 경우에는 /tank가 됩니다. 의사 파일 시스템 아래의 마운트 지점은 다양한 액세스 제어 방법 및 내보내기 옵션을 사용하여 내보낼 수 있습니다. 의사 파일 시스템 아래에 마운트된 모든 파일 시스템은 /etc/exports에 자체 내보내기 라인이 있어야 합니다.

/etc/내보내기:

/tank *(fsid=0)
/tank/nfs *(rw,sync)

/etc/exports에 대한 변경 사항을 적용하려면 를 실행해야 합니다 exportfs -r.

NFSv4의 경우 사용자 이름에서 사용자 ID 번호로의 매핑을 용이하게 하려면 클라이언트와 서버 모두에서 idmapd를 실행해야 합니다.

Linux NFSv4에서는 내보내기가 NFSv3 이하와 다릅니다. 의사 파일 시스템이 /tank인 경우 마운트 명령은 다음과 같습니다.

mount -t nfs -o vers=4 server:/nfs /mnt

NFSv3의 경우 다음과 같습니다.

mount -t nfs -o vers=3 server:/tank/nfs /mnt

답변4

Solaris, SolE 11 또는 OpenIndiana에서 기본적으로 ZFS를 수행하는 것을 고려해보세요. 제 생각에는 Linux의 ZFS는 프로덕션 준비가 되어 있는 상태에 전혀 가깝지 않습니다. NFS가 포함된 ZFS는 Solaris 기반 OS에서 기본적으로 통합되지만 Linux에서는 그렇지 않습니다.

관련 정보