访问NFS存储及在自动挂载

1.访问NFS存储

        前面介绍了本地存储,本章就来介绍如何使用网络上的存储设备。NFS即网络文件系统,所实现的是 Linux 和 Linux 之间的共享。

        下面的练习我们将会在server上创建一个文件夹/share,然后通过NFS把它共享,再在server2上把这个共享文件夹挂载到/nfs上,如下图

        首先在srever上启动nfs-server 服务并设置开启自动启动

[root@jiayi ~]# systemctl enable nfs-server.service --now
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.

        创建准备共享的目录/share

[root@jiayi ~]# mkdir /share

        在/etc/exports中把目录/share共享出去

[root@jiayi ~]# cat /etc/exports
/share *(rw,no_root_squash)

        这里*的意思是表示任何客户端都可以访问/share目录

        让共享生效

[root@jiayi ~]# exportfs -arv
exporting *:/share

        在server上配置防火墙放行NFS

[root@jiayi ~]# firewall-cmd --add-service=nfs
success
[root@jiayi ~]# firewall-cmd --add-service=nfs --permanent
success
[root@jiayi ~]# firewall-cmd --add-service=rpc-bind
success
[root@jiayi ~]# firewall-cmd --add-service=rpc-bind --permanent 
success
[root@jiayi ~]# firewall-cmd --add-service=mountd
success
[root@jiayi ~]# firewall-cmd --add-service=mountd --permanent
success

        在另一台终端上访问这个共享文件夹,首先使用show mount命令查看服务器上共享的目录

[root@jia ~]# showmount -e 192.168.10.20
Export list for 192.168.10.20:
/share *

        把服务器上共享的目录挂载到本地/nfs目录上

[root@jia ~]# mkdir /nfs
[root@jia ~]# mount 192.168.10.20:/share /nfs

        查看挂载情况

[root@jia ~]# df -Th | grep nfs
192.168.10.20:/share nfs4       66G  5.6G   60G    9% /nfs

        可以看到,已经挂载好了。

        如果希望开机能够自动挂载,则写入/etc/fstab中

[root@jia ~]# cat /etc/fstab | grep nfs
192.168.10.20:/share /nfs nfs defaults 0 0 

2.自动挂载

        自动挂载的意思是,把一个外部设备/dev/xx和某个目录/dir/yy关联起来。平时/dev/xx是否挂载到了/dir/yy 上不需要考虑,但访问 /dir/yy时,系统就知道要访问 /dev/xx中的数据,这个时候系统会自动将/dev/xx挂载到/dir/yy 上

        这里先下载自动挂载的软件

        挂载光盘

[root@jia ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.

        编写repo文件

[root@jia ~]# cat /etc/yum.repos.d/jiayi.repo 
[jiayi]
name=jiayi
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0



[jia]
name=jia
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0

        开始安装autofs

[root@jia ~]# yum -y install autofs

 ...
 
已安装:
  autofs-1:5.1.4-74.el8.x86_64                                                                                                       

完毕!

        启动autofs并设置开机自动启动

[root@jia ~]# systemctl enable autofs.service --now
Created symlink /etc/systemd/system/multi-user.target.wants/autofs.service → /usr/lib/systemd/system/autofs.service.

        下面练习把光盘自动挂载到/zz/dvd 上。先把/zz创建出来

[root@jia ~]# mkdir /zz

        记住,这里不需要创建目录/zz/dvd,这个目录会自动创建

        在/etc/auto.master.d目录中创建一个后缀为 autofs的文件,后缀必须是autofs,这里创建的是aa.autofs

[root@jia ~]# cat /etc/auto.master.d/aa.autofs 
/zz /etc/auto.aa

        这里的意思是把哪个外部设备挂载到/zz的哪个子目录上由/etc/auto.aa决定,内容使用【Tab】键进行分隔。下面创建/etc/auto.aa

[root@jia ~]# cat /etc/auto.aa
dvd    -fstype=iso9660,ro    :/dev/cdrom

        这个文件的格式如下

子目录 ‐fstype= 文件系统,选项1,选项2 :外部设备

        这里外部设备如果是本地磁盘或光盘,冒号前面保持为空,但是冒号不能省略。如果是其他机器上共享的目录,则写远端的IP

        结合/etc/auto.master.d/aa.autofs整体的意思是,当访问/zz/dvd时,系统会自动把/dev/cdrom挂载到/zz/dvd 上

        重启autofs服务,让我们刚做的配置生效

[root@jia ~]# systemctl restart autofs.service

        确认现在光盘是没有挂载到/zz/dvd 上的,而且/zz目录中也没有dvd目录

[root@jia ~]# mount | grep -v auto | grep zz
[root@jia ~]# ls /zz
[root@jia ~]# 

        下面访问/zz/dvd

[root@jia ~]# ls /zz/dvd
AppStream  EFI   extra_files.json  images    media.repo               RPM-GPG-KEY-redhat-release
BaseOS     EULA  GPL               isolinux  RPM-GPG-KEY-redhat-beta  TRANS.TBL

        因为访问这个目录时能触发自动挂载,系统自动创建/zz/dvd并把 /devcdrom挂载到这个目录上,再次验证挂载情况

[root@jia ~]# mount | grep -v auto | grep zz
/dev/sr0 on /zz/dvd type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)

        可以看到,现在已经挂载上去了

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值