É possível criar um compartilhamento NFS a partir de um diretório montado CIFS?

3

O problema é que eu tenho um diretório que é montado sobre o CIFS. Para este diretório, quero criar um compartilhamento NFS. Eu preciso disso para criar backups em um sistema de backup que é apenas montável sobre CIFS, do nosso ESX (Mas o ESX só pode criar backups em diretórios compartilhados do NFS com "ghettoVCB").

Para resolver este problema, minha primeira tentativa foi criar um terceiro Linux Machine com o Debian.

arranjo de teste:

Backup Storage -> Debian machine (mounting CIFS directory and creating NFS Share) -> ESX (where we create the Backups)

Procedimento:

Mount directory over CIFS. Then create an entry in /etc/exports for this mounted directory. After creating the export I get this Error: exportfs: /mnt/backup does not support NFS export

Espero que você consiga o que eu queria dizer. Se você precisar de mais informações, me avise.

Bem, alguém me disse que isso não é possível. Talvez qualquer um de vocês possa me ajudar com esse problema ou me dar uma solução alternativa.

    
por flobbi123 11.10.2016 / 11:20

2 respostas

1

Você pode passar da montagem cifs para a exportação nfs por meio de um sistema de arquivos de fusíveis, embora eu não ache que eu recomendaria isso para algo tão essencial quanto o backup.

Quando tentei fazer isso uma vez, procurei por um sistema de arquivos com fusíveis que fosse o mais transparente possível e finalize com fuse-convmvfs . Este software destina-se a converter nomes de arquivos de uma codificação para outra, mas se você configurá-lo para a mesma codificação em ambos os lados, parece funcionar como você precisa.

Simplesmente, se você tiver sua montagem cifs em /mnt/samba , você pode montar seu fusível em /mnt/fuse e exportar este diretório por nfs usando uma entrada /etc/exports como

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

e os comandos

$ 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

A parte user_allow_other provavelmente não é necessária para a exportação nfs. Enquanto isso é bom como um experimento, note que o nfs é perigoso com sistemas de arquivos que não usam o mesmo inode de maneira repetitiva, e é provavelmente por isso que o nfs no topo do cifs não é implementado. Adicionando a camada de fusível não necessariamente vai corrigir isso. Talvez se você puder produzir independentemente uma lista de somas md5 de cada arquivo localmente no servidor cifs e localmente na máquina de backup, e comparar as duas, você pode ter alguma confiança em um backup.

    
por 11.10.2016 / 16:08
3

O CIFS não é oficialmente suportado.

link

C6. Which local file systems can I export with the Linux NFS server?

A. We expect the following local file systems to work, as they are tested often: ext2, ext3, jfs, reiserfs, xfs.

These local file systems may work or may have a few minor-ish issues: iso9660, ntfs, reiser4, udf. Ask on the NFS mailing list for details.

Any file system based on FAT or not having the ability to provide permanent inode numbers will have trouble with NFS versions 2 and 3 (see question C4).

Local file systems that are known not to work with the Linux NFS server are: procfs, sysfs, tmpfs (and friends)

Não sei se esta lista de sistemas de arquivos suportados está atualizada. No entanto, eu recomendaria usar apenas um desses suportados. Mesmo que outros sistemas de arquivos possam parecer funcionar, pode haver bugs sutis, como o problema ext4 / nfs readdir.

    
por 11.10.2016 / 11:40

Tags