ARM40 Ubuntu搭建NFS服务器

准备
  • 主机平台:Ubuntu 16.04 LTS(x64)
  • 目标平台:ARM40-A5D3
  • 虚拟机:VMware® Workstation 12 Pro
  • 默认VMware和Ubuntu已安装完毕,并可以上网。这里不提供安装教程
安装NFS Server
  • 设置VMware 网络模式为NET
    vm-net.png
  • 启动Ubuntu安装NFS Server
    运行Terminal,安装nfs-kernel-server。nfs-common和portmap也会被自动安装。
$ sudo apt-get install nfs-kernel-server
  • 安装NFS Server报错

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
    E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

    解决方案:

$ sudo rm -rf /var/lib/dpkg/lock
$ sudo rm -rf /var/cache/apt/archives/lock
$ sudo apt-get update  
$ sudo dpkg --configure -a
  • 创建NFS共享目录
    创建NFS共享目录,并修改权限。
$ sudo mkdir /home/nfsroot
$ sudo chmod 755 nfsroot -R
  • 配置NFS
    编辑exports文件,配置NFS。在文件的末尾添加如下图文本。
$ sudo vim /etc/exports

/home/nfsroot *(rw,sync,no_root_squash,no_subtree_check)
nfsroot.png

  • 重启NFS服务
    首先查看NFS服务的运行状态,然后重启下NFS服务。
$ sudo service nfs-server status

● nfs-server.service - NFS server and services
Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor prese
Active: active (exited) since 二 2018-02-06 11:06:43 CST; 3s ago
Process: 2420 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCES
Process: 2417 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCE
Process: 2414 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
Process: 2434 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0
Process: 2432 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCES
Main PID: 2434 (code=exited, status=0/SUCCESS)

$ sudo /etc/init.d/rpcbind restart

[ ok ] Restarting rpcbind (via systemctl): rpcbind.service.

$ sudo /etc/init.d/nfs-kernel-server restart

[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.

  • 测试NFS服务
    NFS已经安装完毕,测试本地挂载是否成功,以及卸载操作。
$ cd /home/nfsroot/
$ sudo mkdir test
$ ls
>> test
$ sudo mount -t nfs localhost:/home/nfsroot /mnt
$ ls /mnt/
>> test
$ sudo umount /mnt
$ ls /mnt/
>>
Ubuntu和ARM40网络通信
  • 配置VMware网络模式
    首先要配置VMware的网络模式为“桥接模式”。

vm-bridge.png

  • 创建以太网连接
    配置以太网的相关参数,如下图所示。
    由于ARM40默认IP地址为192.168.6.5,所以Ubuntu的本地IP必须在192.168.6.0/24网段内。
    eth-01.png
    eth-02.png
    eth-03.png
    arm40-ip.png

    配置结束保存,重启网络服务使其生效。

    $ sudo service networking status

    ● networking.service - Raise network interfaces
    Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor prese
    Drop-In: /run/systemd/generator/networking.service.d
    └─50-insserv.conf-$network.conf
    Active: active (exited) since 二 2018-02-06 13:50:24 CST; 20s ago
    Docs: man:interfaces(5)
    Process: 3257 ExecStop=/sbin/ifdown -a –read-environment (code=exited, status
    Process: 3305 ExecStart=/sbin/ifup -a –read-environment (code=exited, status=
    Process: 3300 ExecStartPre=/bin/sh -c [ “$CONFIGURE_INTERFACES” != “no” ] && [
    Main PID: 3305 (code=exited, status=0/SUCCESS)

    $ sudo service networking restart
    $ ifconfig -a

    ens33 Link encap:Ethernet HWaddr 00:0c:29:6b:46:2b
    inet addr:192.168.6.10 Bcast:192.168.6.10 Mask:255.255.255.255
    inet6 addr: fe80::13c4:9bc6:ffa2:ac47/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:1485 errors:0 dropped:1 overruns:0 frame:0
    TX packets:495 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:149980 (149.9 KB) TX bytes:55352 (55.3 KB)
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:966 errors:0 dropped:0 overruns:0 frame:0
    TX packets:966 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1
    RX bytes:71243 (71.2 KB) TX bytes:71243 (71.2 KB)

  • Ubuntu ping ARM40
    Ubuntu和ARM40之间相互ping测试,以此验证网络的通路是否正常。
    ARM40 IP地址为192.168.6.5,Ubuntu本地IP为192.168.6.10
    关闭Ubuntu的防火墙,以防拦截,造成通信失败。

$ sudo ufw status

Status: active

$ sudo ufw disable

Firewall stopped and disabled on system startup

$ sudo ufw status

Status: inactive
成功关闭Ubuntu防火墙

       如果没有安装ufw,执行下面的指令进行安装。

$ sudo apt-get install ufw

      将Ubuntu和ARM40用网线连接起来,ARM40要连接到中间的网口,如下图箭头所示。

arm40-board.png
Ubuntu ping ARM40,如下图所示,通讯正常。

$ ping 192.168.6.5

ubuntu-ping-arm40.png

ARM40 ping Ubuntu,如下图所示,通讯正常。

$ ping 192.168.6.10

arm40-ping-ubuntu.png
如果Ubuntu和ARM40无法ping通,请检查ip地址设置是否正确,Ubuntu防火墙是否关闭,
PC主机无线网卡未被禁用也会影响相互ping。

ARM40挂载Ubuntu NFS共享目录
  • 挂载NFS共享目录
    将Ubuntu上的/home/nfsroot目录挂载到ARM40的/mnt目录下。查看/mnt目录,发现test目录,挂载成功。将调试的文件拷贝到/home/nfsroot目录下,ARM40通过访问/mnt目录,就可以远程调试了。
$ mount -t nfs -o nolock 192.168.6.10:/home/nfsroot /mnt
$ ls /mnt

test

nfs-test-arm40.png

至此,NFS共享目录服务,搭建完成。

参考引用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值