Linux文件服务NFS共享存储服务

本文涉及的产品
文件存储 NAS,50GB 3个月
云防火墙,500元 1000GB
简介: 本篇文章介绍一下NFS共享存储服务实验的步骤以及SSH远程服务的使用。

前言


 本篇文章介绍一下NFS共享存储服务实验的步骤以及SSH远程服务的使用。


一、NFS简介

 NFS(Network File System)网络文件系统,是Sun公司开发的,多用于Unix操作系统中,它是连 接在网络上的计算机之间共享文件的一种方法,使远程的文件使用如同使用本地文件一样没有什么区 别,更适合于字符命令方式完成网络之间的文件共享。Linux/Unix系统之间共享文件的一种协议NFS的客户端主要为Linux,支持多节点同时挂载以及并发写入,提供文件共享服务,为Web Server配置集群中的后端存储。

二、安装nfs-utils

 在centos7中需要先安装nfs-utils软件包来提供共享服务,用于NFS共享文件与访问。


[root@localhost ~]# rpm -q nfs-utils            //检查是否安装
[root@localhost ~]# yum -y install nfs-utils        //安装nfs-utils
[root@localhost ~]# systemctl start nfs-server        //启动服务
[root@localhost ~]# systemctl enable nfs-server      //开机自启


三、NFS的特点

●  不占本地工作站的磁盘空间   

●  通过同步写磁盘可以实现分布式处理功能   

●  利用字符命令方式,高性能,可灵活配置   

●  扩充新的资源或环境时不需要改变现有的工作环境

四、实验的步骤

1.服务端安装nfs-utils

2.创建共享目录

3.配置文件设置分享

4.启动服务

5.客户端安装nfs-utils

6.查看存储端共享

7.手动挂载

8.查看挂载

9.客户端验证共享目录的访问


1、服务端安装nfs-utils

[root@localhost ~]# rpm -q rpcbind nfs-utils     //查询是否安装
[root@localhost ~]# yum install -y nfs-utils      //安装nfs软件包

2、创建共享目录

[root@localhost ~]# mkdir -p /test/web       //创建文件夹作为待共享文件


3、配置文件设置分享

NFS的配置文件在/etc/exports,文件默认为空的,表示无任何共享。

在exports中配置共享文件格式为:共享文件位置    客户端IP(可以是一个网段)  (权限)。

例如:将服务器的/test/web文件共享给192.168.79.0/24网段,允许只读,配置如下

[root@localhost ~]# vim /etc/exports
/test/web   192.168.79.0/24  (ro)


●  ro:代表只读,o代表only

●  rw:代表读写


当文件需要共享给多个对象且分配不同的权限,只需要用空格隔开指定多个


4、关闭防火墙并启动服务

需要关闭防火墙以及Linux的防火墙,防止客户端无法访问,建议关闭开启自弃。

[root@localhost ~]# systemctl stop firewalld           //关闭防火墙
[root@localhost ~]# systemctl disable firewalld        //关闭防火墙开机自启
[root@localhost ~]# setenforce 0                        //关闭系统另一个防火墙   
[root@localhost ~]# vim /etc/selinux/config             //进入配置
SELINUX=disable                                            //关闭开机自启
[root@localhost ~]# systemctl start nfs-server                //启动nfs服务
[root@localhost ~]# systemctl enable  nfs-server            //设置开机自启
[root@localhost ~]# exportfs -v                        //检查NFS输出是否正常


4c001b6561c24efb983c8539ea3c2cc3.png


5、客户端安装nfs-utils并启动

客户端如果要访问服务器分享的文件,也需要在主机上安装nfs-utils软件包。

[root@localhost ~]# yum -y install nfs-utils          //安装nfs-utils
[root@localhost ~]# systemctl start nfs-server.service     //启动nfs-utils
[root@localhost ~]# systemctl enable  nfs-server.service     //设置开机自启


6、查看存储端共享

[root@localhost ~]# showmount -e 192.168.79.130     //查案NFS服务器可用目录


26a785846cb14c3cb9d25b6f6ff8e3ec.png


7、挂载


7.1、手动挂载

 我们需要挂载的是目录需要将整个目录挂载到本地目录上,如果web下有具体的文件也不可以直接挂载文件,挂载一定是挂载目录。


[root@localhost ~]# mount -t nfs 192.168.79.130:/test/web  /var/www/html


7.2、fstab自动挂载

修改/etc/fstab文件内容,加入NFS共享资源挂载设置文件系统格式为nfs。

/etc/fstab文件的每一行都遵循以下格式:

<device> <dir> <type> <options> <dump> <pass>


●  device:指定加载的磁盘分区或移动文件系统,除了指定设备文件外,也可以使用UUID、LABEL来指定分区;

●  dir:指定挂载点的路径;

●  type:指定文件系统的类型,包括ext2、ext3、reiserfs、nfs、vfat等

●  options:指定挂载的选项,默认为defaults,其他可用选项包括acl,noauto,ro等等;

●  dump:表示该挂载后的文件系统能否被dump备份命令作用;0表示不能,1表示每天都进行dump备份,2表示不定期进行dump操作。

●  pass:表示开机过程中是否校验扇区;0表示不要校验,1表示优先校验(一般为根目录),2表示为在1级别校验完后再进行校验;

[root@localhost ~]# vim /etc/fstab
192.168.79.130:/test/web  /var/www/html         nfs      defaults       0 0


7.3、强制卸载挂载

当服务器突然停止了nfs服务,这个时候客户端就会出现卡死的现象用普通的umount命令是无法卸载的。


[root@localhost ~]# umount -lf  /var/www/html


使用 umount 命令卸载,其中-l 选项表示解除正在繁忙的文件系统,-f 选项表示强制。


8、查看挂载

通过df命令来查看挂载情况,如下图所示,服务器下的/test/web已经被挂载到客户端主机的/var/www/html上了。

82445f5a68b34da28acccb1b1691f7c2.png


9、客户端验证共享目录的访问

首先在服务器创建一个文件,在文件中输入一些内容,这个时候客户端也同时可以访问该文件的内容。


9.1、服务器创建内容

[root@localhost ~]# echo "这里是nfs共享资源" >> /test/web/index.html     //编写内容到index文件


9.2、客户端查看共享文件内容

通过客户端来查看服务器的共享文件。


[root@localhost ~]# cat /var/www/html/index.html 
这里是nfs共享资源

SSH远程管理

 linux中ssh是“Secure Shell”的缩写,是建立在应用层和传输层基础上的一种安全协议,用于计算机之间的加密登录;ssh既可以远程联机服务器,又可以借助ssh协议来传输数据,提供更安全的SFTP服务。


1、查询SSH是否安装

[root@localhost ~]# rpm -qa | grep ssh            //查看是否安装ssh
openssh-clients-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
libssh2-1.8.0-4.el7.x86_64
openssh-7.4p1-21.el7.x86_64


如果没有安装使用命令:yum install openssh-server安装。


2.启动服务

[root@localhost ~]# systemctl start sshd    //启动服务
[root@localhost ~]# netstat -antp | grep sshd    //22端口提供SSH服务
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      980/sshd            
tcp6       0      0 :::22                   :::*                    LISTEN      980/sshd   
[root@localhost ~]# systemctl enable sshd    //开机自启


3、使用SSH远程管理


3.1、远程目标主机,并创建文件

[root@localhost ~]# ssh  root@192.168.79.128
The authenticity of host '192.168.79.128 (192.168.79.128)' can't be established.
ECDSA key fingerprint is SHA256:kkXlMjUlNdeXTvzRuJhng+yS34OH8Fi65CY7esfyr9g.
ECDSA key fingerprint is MD5:be:98:bf:4a:cd:d8:d5:48:62:b2:c2:e3:2c:9d:3a:d9.
Are you sure you want to continue connecting (yes/no)? yes
root@192.168.79.128's password:                             //这里输入目标用户的密码是秘闻输入
Last login: Mon Dec 12 15:04:30 2022 from 192.168.79.130
[root@localhost ~]# touch /test/130create            //创建一个文件
[root@localhost ~]# exit                            //退出登录
登出
Connection to 192.168.79.128 closed.


通过查看ip可以得到是远程了目标主机的。

89622468643340d79ddcfac724d97f25.png


3.2、使用目标主机查看文件是否创建成功

[root@localhost ~]# ls /test
130create  192.168.79.130  dir  log.txt  m  mountmsg  share.txt  tengine

a30ac94ea1a143fdbb75f31a018dcff5.png


创建成功!!!


总结


 通过本篇文章学习NFS共享文件的操作。

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
相关文章
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
45 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
1月前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
41 5
|
1月前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
49 6
|
1月前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
89 6
|
1月前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
66 4
|
1月前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
59 2
|
1月前
|
缓存 监控 Linux
|
1月前
|
Linux Shell 数据库
文件查找是Linux用户日常工作的重要技能介绍了几种不常见的文件查找方法
文件查找是Linux用户日常工作的重要技能。本文介绍了几种不常见的文件查找方法,包括使用`find`和`column`组合、`locate`和`mlocate`快速查找、编写Shell脚本、使用现代工具`fd`、结合`grep`搜索文件内容,以及图形界面工具如`Gnome Search Tool`和`Albert`。这些方法能显著提升文件查找的效率和准确性。
51 2
下一篇
DataWorks