RHCE第一次作业

实验4:nfs自动挂载实验

原理:当客户端有使用 NFS 文件系统的需求时才让系统自动挂载,而当 NFS 文件系统使用完毕后,让 NFS 自动卸载。 

使用服务:nfs、autofs

实验演示:

需要完成自动挂载,必须使用两台虚拟机,一台做客户端,一台做服务端。

这里新建了一张网卡,使用新的网卡去完成该实验,而不使用Linux默认的网卡。

RHCE第一次作业_第1张图片

1.配置新网卡ip地址

查看ip,新网卡ens224初始没有ip,需要先配置ip

[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:65:cd:60 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.116.130/24 brd 192.168.116.255 scope global dynamic noprefixroute ens160
       valid_lft 1108sec preferred_lft 1108sec
    inet6 fe80::20c:29ff:fe65:cd60/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:65:cd:6a brd ff:ff:ff:ff:ff:ff
    altname enp19s0

这里将ip配置为1.1.1.1/24,再次查看ip后发现ens224已经配置上了1.1.1.1/24的ip

[root@localhost ~]# ip a a dev ens224 1.1.1.1/24
[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:65:cd:60 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.116.130/24 brd 192.168.116.255 scope global dynamic noprefixroute ens160
       valid_lft 1033sec preferred_lft 1033sec
    inet6 fe80::20c:29ff:fe65:cd60/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:65:cd:6a brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 1.1.1.1/24 scope global ens224
       valid_lft forever preferred_lft forever

两台虚拟机进行相同操作,另一台ens224配置为1.1.1.2/24的ip

[root@localhost ~]# ip a a dev ens224 1.1.1.2/24
[root@localhost ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:e7:3b:82 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.116.133/24 brd 192.168.116.255 scope global dynamic noprefixroute ens160
       valid_lft 933sec preferred_lft 933sec
    inet6 fe80::20c:29ff:fee7:3b82/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: ens224:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:e7:3b:8c brd ff:ff:ff:ff:ff:ff
    altname enp19s0
    inet 1.1.1.2/24 scope global ens224
       valid_lft forever preferred_lft forever

2.磁盘挂载

[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: source write-protected, mounted read-only.

3.安装nfs

可以查看所有nfs有关的软件包,找到所需要的

[root@localhost ~]# yum list | grep nfs
libnfsidmap.i686                                     1:2.5.4-20.el9                      suibian-1 
libnfsidmap.x86_64                                   1:2.5.4-20.el9                      suibian-1 
libstoragemgmt-nfs-plugin.x86_64                     1.9.7-2.el9                         suibian-2 
nfs-utils.x86_64                                     1:2.5.4-20.el9                      suibian-1 
nfs-utils-coreos.x86_64                              1:2.5.4-20.el9                      suibian-2 
nfs4-acl-tools.x86_64                                0.4.2-2.el9                         suibian-1 
nfsv4-client-utils.x86_64                            1:2.5.4-20.el9                      suibian-2 
pcp-pmda-nfsclient.x86_64                            6.0.5-4.el9                         suibian-2 
sssd-nfs-idmap.x86_64                                2.9.1-2.el9                         suibian-1 
texlive-mfnfss.noarch                                9:20200406-26.el9                   suibian-2 
texlive-psnfss.noarch                                9:20200406-26.el9                   suibian-2 

下载nfs-utils

[root@localhost ~]# yum -y install nfs-utils
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:0:01:23 前,执行于 2025年01月18日 星期六 10时27分21秒。
依赖关系解决。
================================================================================
 软件包               架构         版本                   仓库             大小
================================================================================
安装:
 nfs-utils            x86_64       1:2.5.4-20.el9         suibian-1       458 k
安装依赖关系:
 gssproxy             x86_64       0.8.4-6.el9            suibian-1       114 k
 keyutils             x86_64       1.6.3-1.el9            suibian-1        78 k
 libev                x86_64       4.33-5.el9             suibian-1        56 k
 libnfsidmap          x86_64       1:2.5.4-20.el9         suibian-1        66 k
 libverto-libev       x86_64       0.3.2-3.el9            suibian-1        15 k
 rpcbind              x86_64       1.2.6-5.el9            suibian-1        62 k
 sssd-nfs-idmap       x86_64       2.9.1-2.el9            suibian-1        45 k

事务概要
================================================================================
安装  8 软件包

总计:893 k
安装大小:2.1 M
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                 1/1 
  安装    : libnfsidmap-1:2.5.4-20.el9.x86_64                               1/8 
  运行脚本: rpcbind-1.2.6-5.el9.x86_64                                      2/8 
  安装    : rpcbind-1.2.6-5.el9.x86_64                                      2/8 
  运行脚本: rpcbind-1.2.6-5.el9.x86_64                                      2/8 
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /usr/lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /usr/lib/systemd/system/rpcbind.socket.

  安装    : libev-4.33-5.el9.x86_64                                         3/8 
  安装    : libverto-libev-0.3.2-3.el9.x86_64                               4/8 
  安装    : gssproxy-0.8.4-6.el9.x86_64                                     5/8 
  运行脚本: gssproxy-0.8.4-6.el9.x86_64                                     5/8 
  安装    : keyutils-1.6.3-1.el9.x86_64                                     6/8 
  运行脚本: nfs-utils-1:2.5.4-20.el9.x86_64                                 7/8 
  安装    : nfs-utils-1:2.5.4-20.el9.x86_64                                 7/8 
  运行脚本: nfs-utils-1:2.5.4-20.el9.x86_64                                 7/8 
  安装    : sssd-nfs-idmap-2.9.1-2.el9.x86_64                               8/8 
  运行脚本: sssd-nfs-idmap-2.9.1-2.el9.x86_64                               8/8 
  验证    : gssproxy-0.8.4-6.el9.x86_64                                     1/8 
  验证    : keyutils-1.6.3-1.el9.x86_64                                     2/8 
  验证    : libev-4.33-5.el9.x86_64                                         3/8 
  验证    : libnfsidmap-1:2.5.4-20.el9.x86_64                               4/8 
  验证    : libverto-libev-0.3.2-3.el9.x86_64                               5/8 
  验证    : nfs-utils-1:2.5.4-20.el9.x86_64                                 6/8 
  验证    : rpcbind-1.2.6-5.el9.x86_64                                      7/8 
  验证    : sssd-nfs-idmap-2.9.1-2.el9.x86_64                               8/8 
已更新安装的产品。

已安装:
  gssproxy-0.8.4-6.el9.x86_64            keyutils-1.6.3-1.el9.x86_64           
  libev-4.33-5.el9.x86_64                libnfsidmap-1:2.5.4-20.el9.x86_64     
  libverto-libev-0.3.2-3.el9.x86_64      nfs-utils-1:2.5.4-20.el9.x86_64       
  rpcbind-1.2.6-5.el9.x86_64             sssd-nfs-idmap-2.9.1-2.el9.x86_64     

完毕!

4.配置文件(服务端操作)

在 /目录下创建一个共享目录

​
[root@localhost ~]# cd /
[root@localhost /]# ls
afs  boot  etc   lib    media  mnt  nfs_share  proc  run   srv  tmp  var
bin  dev   home  lib64  misc   net  opt        root  sbin  sys  usr
[root@localhost /]# mkdir /rhel8test
[root@localhost /]# ls
afs  boot  etc   lib    media  mnt  nfs_share  proc       root  sbin  sys  usr
bin  dev   home  lib64  misc   net  opt        rhel8test  run   srv   tmp  var

编写配置文件,在/etc/exports下,初始为空。

[root@localhost /]# vim /etc/exports
/rhel8test    *(rw)
 共享目录     共享给谁(共享参数) 
[root@localhost /]# cat /etc/exports
/rhel8test *(rw)

启动服务并验证

[root@localhost /]# systemctl start nfs-server.service 
[root@localhost /]# rpcinfo -p | grep nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl

验证nfs是否设置成功

[root@localhost /]# showmount -e 1.1.1.1
Export list for 1.1.1.1:
/rhel8test *

关闭服务端防火墙和selinux

[root@localhost /]# systemctl stop firewalld.service 
[root@localhost /]# setenforce 0
[root@localhost /]# getenforce 
Permissive

5.客户端操作

下载nfs-utils并启动,关闭客户端防火墙和selinux,操作同上

在客户端进行挂载

[root@localhost ~]# showmount -e 1.1.1.1
Export list for 1.1.1.1:
/rhel8test *
[root@localhost ~]# mount 1.1.1.1:/rhel8test /mnt/
[root@localhost ~]# df
文件系统                 1K-块     已用     可用 已用% 挂载点
devtmpfs                  4096        0     4096    0% /dev
tmpfs                   886588        0   886588    0% /dev/shm
tmpfs                   354636     7324   347312    3% /run
/dev/mapper/rhel-root 17141760  4402048 12739712   26% /
/dev/nvme0n1p2          983040   298280   684760   31% /boot
/dev/nvme0n1p1          613184     7140   606044    2% /boot/efi
tmpfs                   177316       96   177220    1% /run/user/0
/dev/sr0              10281784 10281784        0  100% /run/media/root/RHEL-9-3-0-BaseOS-x86_64
1.1.1.1:/rhel8test    17141760  4402176 12739584   26% /mnt

服务端客户端之间相互验证

#服务端进到共享目录下,创建一个aa文件
[root@localhost /]# cd /rhel8test/
[root@localhost rhel8test]# touch aa

#客户端进到挂载的目录下,可以看到在服务端创建的aa目录
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
aa
#客户端由于权限原因无法直接创建目录,需要在服务端下修改成777的权限
[root@localhost rhel8test]# cd ..
[root@localhost /]# chmod 777 rhel8test/

#修改之后客户端再创建一个aaaa的目录,这时就可以成功创建
[root@localhost mnt]# touch aaaa
[root@localhost mnt]# ls
aa  aaaa

#服务端查看可以查看到在客户端创建的aaaa目录
[root@localhost rhel8test]# ls
aa  aaaa

6.客户端安装autofs

[root@localhost mnt]# yum -y install autofs.x86_64
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

上次元数据过期检查:11:26:26 前,执行于 2025年01月17日 星期五 23时26分28秒。
软件包 autofs-1:5.1.7-55.el9.x86_64 已安装。
依赖关系解决。
无需任何处理。
完毕!

7.修改autofs的配置文件

[root@localhost mnt]# vim /etc/auto.master
/rhel8test	/etc/auto.rhel8test

[root@localhost mnt]# vim /etc/auto.rhel8test
root	-rw	1.1.1.1:/rhel8test
[root@localhost root]# cat /etc/auto.rhel8test 
root	-rw	1.1.1.1:/rhel8test

8.解挂之前挂载的并重启autofs服务

[root@localhost mnt]# umount -l /mnt 
[root@localhost mnt]# df
文件系统                 1K-块     已用     可用 已用% 挂载点
devtmpfs                  4096        0     4096    0% /dev
tmpfs                   886588        0   886588    0% /dev/shm
tmpfs                   354636     7332   347304    3% /run
/dev/mapper/rhel-root 17141760  4402172 12739588   26% /
/dev/nvme0n1p2          983040   298280   684760   31% /boot
/dev/nvme0n1p1          613184     7140   606044    2% /boot/efi
tmpfs                   177316       96   177220    1% /run/user/0
/dev/sr0              10281784 10281784        0  100% /mnt
[root@localhost mnt]# systemctl restart autofs.service 

9.实现自动挂载

本身rhel8test目录是空的,但在输入root之后是可以进去的,意味着已经成功执行挂载了

[root@localhost /]# cd rhel8test/
[root@localhost rhel8test]# ls
[root@localhost rhel8test]# root
bash: root: command not found...
[root@localhost rhel8test]# cd root
[root@localhost root]# ls
aa  aaaa
[root@localhost root]# df
文件系统                 1K-块     已用     可用 已用% 挂载点
devtmpfs                  4096        0     4096    0% /dev
tmpfs                   886588        0   886588    0% /dev/shm
tmpfs                   354636     7328   347308    3% /run
/dev/mapper/rhel-root 17141760  4402176 12739584   26% /
/dev/nvme0n1p2          983040   298280   684760   31% /boot
/dev/nvme0n1p1          613184     7140   606044    2% /boot/efi
tmpfs                   177316       96   177220    1% /run/user/0
/dev/sr0              10281784 10281784        0  100% /mnt
1.1.1.1:/rhel8test    17141760  4402176 12739584   26% /rhel8test/root
#最后一行是通过autofs进行挂载上的

以上操作完成实验,实现了nfs的自动挂载。

你可能感兴趣的:(服务器,linux,网络)