一个计算机技术爱好者与学习者

0%

Linux中安装NFS

1. NFS简介

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. NFS is an open IETF standard defined in a Request for Comments (RFC), allowing anyone to implement the protocol.

参考文档:

2. CentOS中安装NFS

2.1. 安装nfs-server

作为存储节点的主机安装nfs-server,本节中的存储节点主机IP为192.168.56.101。

参考文档:

1、关闭防火墙

1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装nfs(包括nfs-server和nfs-client)

1
yum install -y nfs-utils rpcbind

3、创建共享目录,设置共享目录权限

1
2
mkdir -p /data/nfs
chmod -R 777 /data/nfs

4、配置共享目录

1
echo '/data/nfs *(insecure,rw,sync,no_root_squash)' >> /etc/exports

5、启动nfs-server

1
2
3
4
5
6
7
8
9
systemctl enable rpcbind
systemctl enable nfs-server

systemctl start rpcbind
systemctl start nfs-server

systemctl status rpcbind
systemctl status nfs-server
exportfs -r # 重新挂载

6、检查nfs状态

1
2
exportfs
rpcinfo -p | grep nfs

7、查看目录挂载权限

1
cat /var/lib/nfs/etab

2.2. 安装nfs-client

在需要挂载nfs的主机上安装nfs-client,本节中主机IP为192.168.56.102。

1、关闭防火墙

1
2
systemctl stop firewalld.service
systemctl disable firewalld.service

2、安装nfs(包括nfs-server和nfs-client)

1
yum install -y nfs-utils rpcbind

3、启动nfs-client

1
2
3
4
5
6
systemctl enable rpcbind
systemctl enable nfs
systemctl start rpcbind
systemctl start nfs
systemctl status rpcbind
systemctl status nfs

2.3. 测试nfs挂载

192.168.56.102机器上,测试nfs挂载。

1、检查101是否有nfs共享目录

1
showmount -e 192.168.56.101

2、挂载nfs共享目录到本机

1
2
mkdir /data/mntnfs
mount -t nfs 192.168.56.101:/data/nfs /data/mntnfs

3、测试读写文件
102机器读写文件

1
2
echo "test" > /data/mntnfs/test.txt
cat /data/mntnfs/test.txt

101机器读文件

1
cat /data/nfs/test.txt

4、配置自动挂载

1
2
3
4
5
cat <<EOF | tee -a /etc/fstab
192.168.56.101:/data/nfs /data/mntnfs nfs default 0 0
EOF

mount -a

3. Ubuntu中安装NFS

3.1. 安装nfs-server

作为存储节点的主机安装nfs-server,本节中的存储节点主机IP为192.168.56.103。

1、安装nfs-server

1
apt-get -y install nfs-kernel-server

2、创建共享目录,设置共享目录权限

1
2
mkdir -p /data/nfs
chmod -R 777 /data/nfs

3、配置共享目录

1
2
# echo '/data/nfs *(rw,sync,no_root_squash)' >> /etc/exports
echo '/data/nfs *(insecure,rw,sync,no_root_squash)' >> /etc/exports

4、启动nfs-server,配置开机自启动

1
2
3
4
# service nfs-kernel-server restart
systemctl start nfs-kernel-server
systemctl status nfs-kernel-server
systemctl enable nfs-kernel-server

5、检查nfs状态

1
2
exportfs
rpcinfo -p | grep nfs

3.2. 安装nfs-client

在需要挂载nfs的主机上安装nfs-client,本节中主机IP为192.168.56.104。

安装nfs-client

1
apt-get install nfs-common

3.3. 测试nfs挂载

192.168.56.104机器上,测试nfs挂载。

1、检查103是否有nfs共享目录

1
showmount -e 192.168.56.103

2、挂载nfs共享目录到本机

1
2
mkdir /data/mntnfs
mount -t nfs 192.168.56.103:/data/nfs /data/mntnfs

3、测试读写文件
104机器读写文件

1
2
echo "test" > /data/mntnfs/test.txt
cat /data/mntnfs/test.txt

103机器读文件

1
cat /data/nfs/test.txt

4、配置自动挂载

1
2
3
4
5
cat <<EOF | tee -a /etc/fstab
192.168.56.103:/data/nfs /data/mntnfs nfs default 0 0
EOF

mount -a

4. NFS高可用

上文中,我们搭建的nfs-server都是单节点的,如果节点挂掉,会造成很多依赖它的软件不可用。如果节点数据丢失,更是一场灾难。因此,生产环境最好搭建nfs高可用环境。

参考文档: