servidor NFS no convidado qemu

0

Eu preciso saber como montar dispositivos de bloco, colocados em um sistema convidado qemu, do host. Portanto, nesse caso, temos o servidor NFS colocado no sistema guest e o cliente NFS no lado do host.

Há muitos exemplos, mas não sei qual endereço especificar, enquanto a pasta de montagem está localizada em qemu guest do sistema host.

mount root@localhost:/storage /mnt/storage -t sshfs -o port=2222*

funciona para sshfs , mas não para NFS (não é possível reconhecer o nome do servidor).

Eu usei as seguintes etapas no lado dos servidores:

  1. faça o download e inicie o nfs-kernel-server
  2. adicione / storage_nfs às exportações
  3. exportfs -va

No lado dos clientes:

  1. Faça o download e instale os utilitários do nfs
  2. Tente mount root@localhost:/storage /mnt/storage -t nfs -o port=2222 (qemu port) Mas parece que root @ localhost é inválido (mas funciona para sshfs ).

Como posso usar o qemu guest como servidor nfs?

    
por Alex Hoppus 14.05.2013 / 07:45

3 respostas

1

Atualize depois de ler todos os comentários sobre todas as respostas:

Vejo que o seu problema no primeiro lugar é a conectividade entre convidado e host, ao mesmo tempo em que fornece acesso à Internet por NAT para convidados.   Eu vou mostrar como fazer isso também com alguns scripts no Fedora 20 HOST !!  Scripts podem estar funcionando para o debian moderno ou não!

Na máquina HOST, coloque este script em / root / ou em qualquer lugar, substitua INTERNET_INTERFACE pela sua eth0 ou p5p1 ou wlo1 ou wlan0. se a sua rede doméstica já está usando a rede 192.168.0.0/24 então mude o endereço da br0 com algo como: ifconfig br0 192.168.100.1/24 up Torne o script executável e execute-o:

use vim or nano:
# nano /root/nat.sh

#!/bin/bash
INTERNET_INTERFACE=wlo1
NORMAL_USER=your_username
tunctl -u $NORMAL_USER -t tap0
brctl delbr br0
brctl addbr br0
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 192.168.0.1/24 up
iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o $INTERNET_INTERFACE -j MASQUERADE
iptables -I FORWARD 1 -i tap0 -j ACCEPT
sysctl -w net.ipv4.ip_forward=1
service rpcbind restart
service rpcidmapd restart


# chmod +x nat.sh
# ./nat.sh

Como um usuário normal no host, inicie a máquina virtual com (Existe alguma mágica no comando "qemu-kvm", não é apenas qemu!)

$ qemu-kvm -cdrom ~/Downloads/flxde.iso -m 1200 -net nic -net tap,ifname=tap0,script=no

Ofcourse substitui -cdrom com seu -hda e caminho para sua imagem, também -m 500 ou qualquer coisa que você sinta, o improtant é o -net nic -net ......... settings:)

De dentro da máquina Convidada, abra a internet (minha interface de rede é ens3 no Fedora 20 Live Image, provavelmente a sua é eth0):

# ifconfig eth0 192.168.0.100/24 up
verify you can ping 192.168.0.1 before adding it as a gateway.
# ip r add default via 192.168.0.1
# echo "nameserver 8.8.8.8" > /etc/resolv.conf
# ping google.com (verify NAT is working)

NFS relacionado:

Comum:  Verifique a conectividade com o ping entre o host < - > convidado

No convidado (com ip 192.168.0.100):

# iptables -F
# service rpcbind restart
# service rpcidmapd restart
# service nfs restart
# vim /etc/exports
/freebsd *(rw,insecure,sync,no_subtree_check,no_root_squash)
# ls -ld /freebsd/
drwxrwxrwx. 4 root root 90 Feb 21 14:41 /freebsd/
# exportfs -var

no host:

# service rpcbind restart
# service rpcidmapd restart
# mkdir /freebsd
# mount -o vers=3 192.168.0.100:/freebsd /freebsd

Por favor, deixe-me saber se algo está claro o suficiente:)

    
por 05.03.2014 / 13:59
0

Se você estiver executando o servidor NFS a partir da máquina virtual do qemu, (o guest), você poderá entrar no convidado do qemu e executar este comando:

ifconfig -a

Ele deve retornar a saída como:

eth0      Link encap:Ethernet  HWaddr 00:18:51:D4:AA:12  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::218:51ff:fed4:cc53/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:31580565 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28594026 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:22750768353 (21.1 GiB)  TX bytes:25277742297 (23.5 GiB)

O ID do dispositivo (eth0) pode ser algo totalmente diferente, mas esperamos que seus resultados contenham resultados. Esta saída mostra os dispositivos de rede configurados no convidado qemu.

Em particular, você estará mais interessado no endereço IP do convidado qemu. Ele deve aparecer nessa saída. No exemplo acima, o endereço IP do host é 192.168.1.103.

Com esta informação em mãos, você deve estar apto a usar este endereço IP ao configurar seu servidor e cliente NFS.

    
por 14.05.2013 / 08:19
0

O servidor mount nfs no guest é o mesmo que o servidor nfs no pc geral. Você só precisa saber o ip do servidor nfs.

    
por 16.08.2013 / 09:39