在实际使用中,经常会出现文件夹或者文件共享的情况,例如,如果实现在云环境下对VM实例进行Live迁移,如果不使用block方式,我们需要将实例放在一个共享存储上面,那么就需要文件共享技术,Linux一般使用nfs来实现这个功能。
例如,我的控制节点 180机器,共享一个文件夹为instances,那么我希望我的计算节点的实例在创建在180共享的文件中,我希望使用181本地的instances文件夹来mount上,也就是查看两个文件夹,里面的内容是一样的。
1、安装包
sudo apt-get install portmap nfs-kernel-server
在很多Linux版本中,已经没有了portmap,或者说后面启动服务对应的是rpcbind
2、启动服务
root@controller:~# /etc/init.d/rpcbind restart
root@controller:~# /etc/init.d/nfs-kernel-server restart
* Stopping NFS kernel daemon [ OK ]
* Unexporting directories for NFS kernel daemon... [ OK ]
* Exporting directories for NFS kernel daemon... exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/var/lib/nova/instances".
Assuming default behaviour ('no_subtree_check').
NOTE: this default has changed since nfs-utils version 1.0.x
[ OK ]
* Starting NFS kernel daemon [ OK ]
3、设置180机器的/etc/exports
root@controller:~# more /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subt
ree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/var/lib/nova/instances *(rw,sync,no_root_squash)
<