当我们需要把服务器某个目录到远程服务器的时候,比如你把docker数据挂载到本地,但是还不放心,担心服务器挂了或被人攻击,毕竟自己玩的话一般就只有一个服务器,如果挂掉了自己上面的啥都没了,那多糟心,你可能会想,能不能把我的数据挂载到另一台远程服务器上呢,不能两台同时攻击吧,有点分布式系统的感觉了,也就是常说的容灾容错啥的。
还真可以,首先我们要了解NFS(NetWorks File System),网络文件系统,以下是他的详解。
Network File System (NFS) is a distributed file system protocol that allows you to share remote directories over a network. With NFS, you can mount remote directories on your system and work with the remote files as if they were local files.
On Linux and UNIX operating systems, you can use the mount command to mount a shared NFS directory on a particular mount point in the local directory tree.
NFS是一种分布式文件系统,可以让你操作远程文件像操作本地文件一样简单,可以利用mount命令把远程目录挂载到本地目录树。挺神奇的,确实
接下来介绍一下怎么进行远程挂载。
NFS中有两个角色,一个是nfs-server,负责暴露挂载目录的一方,可以把自己的目录暴露给指定的对象,还有就是nfs-client,就是需要挂载远程目录的一方。首先需要安装这两个模块,按角色来
sudo apt-get update sudo apt-get install nfs-kernel-server
创建目录,随便就行
sudo mkdir /var/backups sudo nano /etc/exports
编写设置
/var/backups 192.168.1.100(rw,sync,no_root_squash) /path/to client_ip(rw,sync,no_root_squash) /path/to *(rw,sync,no_root_squash) //*通配符表示允许所有IP挂载,不过危险 ...
设置你想要暴露的目录还有提供服务的客户端IP,后面是一些操作
rw 表示读写权限,sync 表示同步写入,no_root_squash 表示允许 root 用户访问。
no_root_squash主要是防止client以root权限操作server上的文件,
这样我们就把需要挂载的目录暴露给了特定的客户端。接下来设置客户端,非常简单
sudo apt update sudo apt install nfs-common
安装nfs客户端工具 然后呢?没有然后了,可以直接进行挂载。
sudo mount server_ip:/root/BlogData /home/ubuntu/RedisData
这样我们就把远程目录挂在到了本地,你可以先在远程目录创建一个文件在本地查看目录,你会发现文件已经同步到了本地了,妈妈再也不怕你服务器挂啦!
本文作者:yowayimono
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!