CIFS 마운트 디렉토리에서 NFS 공유를 생성할 수 있습니까?

CIFS 마운트 디렉토리에서 NFS 공유를 생성할 수 있습니까?

문제는 CIFS를 통해 마운트된 디렉토리가 있다는 것입니다. 이 디렉터리에 대한 NFS 공유를 생성하고 싶습니다. ESX에서 CIFS를 통해서만 마운트할 수 있는 백업 시스템에 백업을 생성하려면 이것이 필요합니다(그러나 ESX는 "ghettoVCB"를 사용하여 NFS 공유에만 백업을 생성할 수 있습니다).

이 문제를 해결하기 위해 나의 첫 번째 시도는 Debian을 사용하여 세 번째 Linux 시스템을 만드는 것이었습니다.

테스트 준비:

백업 스토리지 -> Debian 머신(CIFS 디렉터리 마운트 및 NFS 공유 생성) -> ESX(백업 생성 위치)

프로그램:

CIFS를 통해 디렉터리를 마운트합니다. 그런 다음 /etc/exports에 이 마운트 디렉터리에 대한 항목을 만듭니다. 내보내기를 생성한 후 다음 오류가 발생합니다. importfs:/mnt/backup은 NFS 내보내기를 지원하지 않습니다.

내가 말하려는 내용을 이해하시기 바랍니다. 더 많은 정보가 필요하면 알려주시기 바랍니다.

글쎄요, 불가능하다고 들었습니다. 어쩌면 여러분 중 누구라도 이 문제를 해결하는 데 도움을 줄 수 있거나 대체 솔루션을 제공할 수 있습니다.

답변1

CIFS는 공식적으로 지원되지 않습니다.

http://nfs.sourceforge.net/

C6. Linux NFS 서버를 사용하여 내보낼 수 있는 로컬 파일 시스템은 무엇입니까?

A: 자주 테스트되므로 다음 로컬 파일 시스템이 작동할 것으로 예상됩니다: ext2, ext3, jfs, reiserfs, xfs.

이러한 로컬 파일 시스템은 작동할 수도 있고 iso9660, ntfs, reiser4, udf와 같은 사소한 문제가 있을 수도 있습니다. 자세한 내용은 NFS 메일링 리스트에 문의하세요.

FAT 기반 파일 시스템이나 영구 inode 번호를 제공할 수 없는 파일 시스템은 NFS 버전 2 및 3에서 문제가 발생합니다(문제 C4 참조).

Linux NFS 서버에서 작동하지 않는 것으로 알려진 로컬 파일 시스템은 procfs, sysfs, tmpfs입니다.

지원되는 파일 시스템 목록이 최신인지 확실하지 않습니다. 그러나 지원되는 기능 중 하나만 사용하는 것이 좋습니다. 다른 파일 시스템이~인 것 같다ext4/nfs readdir 문제와 같은 미묘한 오류가 작업에 있을 수 있습니다.

답변2

cifs 마운트 패스에서 nfs 내보내기로 파일 시스템을 통합할 수 있지만 백업만큼 중요한 작업에는 권장하지 않습니다.

한 번 시도해 보니 최대한 투명한 퓨즈 파일 시스템을 찾다가 결국 fuse-convmvfs. 필요에 따라 작동하는 것 같습니다.

간단합니다. cifs 마운트 위치가 다음 항목을 사용하여 /mnt/sambanfs를 통해 퓨즈를 마운트하고 이 디렉터리를 내보낼 수 있습니다./mnt/fuse/etc/exports

/mnt/fuse backupmachine(ro,fsid=55)

그리고 명령을 내리다

$ sudo sh -c 'echo user_allow_other >>/etc/fuse.conf'
$ sudo convmvfs /mnt/fuse -o srcdir=/mnt/samba,icharset=iso-8859-1,ocharset=iso-8859-1,user_allow_other
$ sudo exportfs -a

user_allow_othernfs 내보내기에는 이 섹션이 필요하지 않을 수 있습니다. 실험적으로는 괜찮지만 동일한 inode를 반복 가능한 방식으로 사용하지 않는 파일 시스템에서는 nfs가 위험하다는 점에 유의하세요. 이것이 아마도 nfs가 cifs 위에 구현되지 않는 이유일 것입니다. 퓨즈 레이어를 추가한다고 해서 반드시 문제가 해결되는 것은 아닙니다. 아마도 cifs 서버와 백업 시스템에서 로컬로 md5와 각 파일의 목록을 독립적으로 생성하고 둘을 비교할 수 있다면 백업에 대해 어느 정도 확신을 가질 수 있을 것입니다.

관련 정보