阶段六:共享文件目录与NTP服务
1. NFS共享文件和目录
1.1 NFS基本介绍
CentOS Stream 9中的NFS(网络文件系统)是一种允许不同计算机通过网络共享文件和目录的协议,使得远程主机能够像本地磁盘一样访问和操作文件。
它基于客户端-服务器架构,NFS服务器将本地文件系统共享给客户端,客户端可以通过网络挂载这些共享目录,像访问本地文件一样进行操作。
NFS主要应用于Linux/Unix系统之间的文件共享,虽然也支持跨操作系统,但其兼容性一般较差

1.2 NFS相关配置
需求:在 node2服务器中的根目录下,有一个/export/software目录,该目录下存储了大量的软件包,由于各个服务器都需要解压使用,为了节省空间,需要将此目录共享出来,提供给各个服务器进行使用,同时也方便各个服务器放置共享的安装包
服务器规划:
node2 作为 NFS服务端
node1 作为客户端,获取共享目录信息
1.2.1 安装NFS服务器
客户端安装:
dnf install nfs-utils
服务端安装:
dnf install nfs-utils注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
执行开放端口:
firewall-cmd --add-service=nfs --permanent # 核心, 有了这个, NFS即可使用共享操作
firewall-cmd --reload注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.2.2 在node2创建共享目录
第一步:创建需要共享的目录
mkdir -p /export/software
第二步:NFS中设置指定需要共享的目录
vi /etc/exports
添加以下内容:
/export/software *(rw,sync,no_root_squash)
参数说明:
/export/software : 这是要共享的目录路径,意味着 NFS 服务器将 /export/software 这个目录导出,允许客户端访问
* : 表示所有客户端都可以访问这个共享目录。它相当于一个通配符,代表任何 IP 地址或主机名。通常,* 用于允许整个网络中的所有主机访问此共享。也可以指定特定的 IP 地址或子网来限制访问权限,比如 192.168.1.0/24
192.168.0.0/24:代表共享给某个网段
192.168.0.0/24 192.168.1.0/24 :代表共享给不同网段,表示给192.168.0网段和192.168.1网段共享
192.168.0.254:共享给某个IP
*.itcast.cn:代表共享给某个域下的所有主机
rw : 表示客户端可以对共享目录进行读写操作,若没有指定 rw,默认是只读权限 (ro)
sync : 表示 NFS 服务器会同步写入数据,即客户端写入的数据必须被立即写入到磁盘,才能认为是完成,如果选择async异步,先缓存在内存再同步磁盘
no_root_squash :
在 NFS 默认情况下,客户端的 root 用户(即 UID 0)会被“映射”到一个普通用户,这叫做 root squashing,目的是增强安全性,防止远程 root 用户拥有过高的权限。
使用 no_root_squash 选项时,NFS 服务器将不对客户端的 root 用户进行 UID 映射,意味着客户端的 root 用户可以直接访问共享目录中的所有文件,拥有与 NFS 服务器本地 root 用户相同的权限。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.2.3 服务启动并设置开机自启
systemctl enable nfs-server
systemctl start nfs-server注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.2.4 验证是否成功共享
服务端执行: 查看服务端NFS共享信息
showmount -e (早期版本兼容)
exportfs注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.2.5 挂载使用
node1执行: 创建挂载目录
mkdir -p /export/software (一定是一个空目录, 以免挂载后,将不显示原有磁盘的内容)
执行挂载操作:临时挂载, 后续磁盘管理学习完成后,可以尝试永久挂载
mount -t nfs 192.168.88.102:/export/software /export/software
执行后,可以通过df -h 的方式查看是否挂载成功注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
node2执行:
echo 'DNS Hello' >> /export/software/a.txt
node1查看:注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
node1执行:
echo 'DNS Hello2' >> /export/software/b.txt
node2查看:注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.3 NFS工作原理【了解】
在NFS早期版本中, 负责数据传输工作,主要采用rpcbind工具, 其底层采用的就是RPC远程过程调用协议
RPC(Remote Procedure Call Protocol): 远程过程调用协议, 它是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议
当安装NFS的时候, 由于该服务依赖了很多其他的服务,主要包括:
rpcbind(RPC 服务绑定) TCP/UDP 111
nfs-server(NFS 服务) TCP 2049(NFS 主要端口)
mountd(NFS 挂载守护进程) 动态分配,通常是 20048/tcp 和 20048/udp
statd(NFS 锁定守护进程)动态分配,通常是 TCP/UDP 32765-32766
问题一: RPC与NFS如何通讯呢?
答:客户端要与服务端进行数据传输,必须知道服务端 NFS 的具体端口号。然而,在 NFS 服务的早期版本(如 NFSv3),NFS 服务的一些组件(如 mountd, nlockmgr 等)使用动态分配的端口,导致客户端无法直接确定端口号。为了协调这些动态端口,RPC 框架通过 rpcbind 服务(监听在固定端口 111)实现以下功能:
动态端口管理:
RPC 统一管理服务端各 NFS 服务组件(mountd、nfsd 等)的动态端口,并将这些端口信息记录在 rpcbind 中。
当客户端发起请求时,客户端首先与 rpcbind 通信,查询目标 NFS 服务对应的实际端口号。
客户端与服务端的通信流程:
客户端向服务端的 rpcbind 服务(监听端口 111)发送查询请求,指定目标服务(如 mountd)。
rpcbind 返回目标服务的实际端口号。
客户端随后通过查询到的端口与 NFS 的具体服务进行通信,完成挂载、文件读写等操作。
固定端口的引入(在 NFSv4 中):
NFSv4 对架构进行了简化,将所有功能整合在一个服务中,并固定使用 TCP 2049 端口。
客户端无需再依赖 rpcbind 动态查询端口,直接与服务端通信。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1. 首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口
2. RPC记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求
3. 客户端发送请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端
4. 客户端获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了
补充说明
在 NFSv4 中,整个机制变得更加简单:
所有 NFS 功能整合到一个服务上,并使用固定的 TCP 2049 端口。
不再需要 rpcbind 管理动态端口,客户端可以直接与服务端通信,无需额外的端口查询步骤。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2. SAMBA共享文件和目录
需求:
构建一个SAMBA服务,共享node2服务器中的 /sambda/share 目录,分别在Linux和Windows访问该共享目录
2.1 SAMBA基本介绍
Samba 是一个开源的软件套件,允许 Linux 或 Unix 系统与 Windows 系统进行文件和打印共享。它实现了 SMB(Server Message Block)协议和 CIFS(Common Internet File System),这两者是 Windows 操作系统用于文件共享和打印服务的主要协议。
Samba 使 Linux/Unix 系统和 Windows 系统之间的文件共享和打印服务变得简单,广泛应用于家庭、企业和跨平台环境中。
2.2. 服务端安装SAMBA服务
node2执行: dnf -y install samba注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.1 创建共享目录
mkdir -p /sambda/share注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.2 修改配置文件
配置文件所在位置:/etc/samba/smb.conf
配置文件内容说明:
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
说明:
[global]
[global]部分包含了Samba服务器的全局配置,影响到整个Samba服务的行为。
1. workgroup = SAMBA
设置Samba服务器所属的工作组名称。这里设置为"SAMBA",可以根据需要修改为其它工作组名。它与Windows工作组相对应。
2. security = user
设置Samba服务器的安全模式。`user`模式表示用户需要提供有效的用户名和密码才能访问共享资源。常见的安全模式还有`share`和`domain`。
3. passdb backend = tdbsam
指定密码数据库后端,`tdbsam`是默认的后端,用于存储用户的密码信息。
4. printing = cups
配置Samba与CUPS(Common UNIX Printing System)的集成,表示使用CUPS来管理打印服务。
5. printcap name = cups
设置Samba使用的打印配置文件的名称,这里指定为CUPS。
6. load printers = yes
启用打印机共享。设置为`yes`时,Samba会自动检测系统中安装的打印机并共享它们。
7. cups options = raw
指定CUPS打印机的选项。`raw`表示直接将打印数据发送到打印机,而不进行任何格式转换。
[homes]
[homes]部分配置了用户的家目录共享。
1. comment = Home Directories
提供共享的描述信息。这里标明该共享是用户的家目录。
2. valid users = %S, %D%w%S
限制访问该共享的用户。`%S`是当前用户的用户名,`%D`是域名,`%w`是工作组。该配置允许用户仅访问他们自己的家目录。
3. browseable = No
设置为`No`表示此共享不出现在网络浏览器中,不允许被列出。
4. read only = No
设置为`No`表示该共享可读写。
5. inherit acls = Yes
启用ACL(访问控制列表)继承,这意味着共享目录将继承父目录的ACL设置。
[printers]
[printers]部分配置了打印机共享。
1. comment = All Printers
提供共享的描述信息。这里标明该共享包含所有的打印机。
2. path = /var/tmp
指定打印文件的存储路径。`/var/tmp`是一个常见的临时目录,用于存储打印作业的文件。
3. printable = Yes
表示该共享是一个打印共享(即它代表一个打印机)。
4. create mask = 0600
设置新创建文件的权限掩码,这里设置为0600,意味着新文件只能由文件所有者读写。
5. browseable = No
设置为`No`表示此共享不会在网络浏览器中列出。
[print$]
[print$]部分配置了打印机驱动程序共享。
1. comment = Printer Drivers
提供共享的描述信息。这里标明该共享用于存储打印机驱动程序。
2. path = /var/lib/samba/drivers
指定存储打印机驱动程序的路径。`/var/lib/samba/drivers`是Samba存放打印机驱动程序的默认目录。
3. write list = @printadmin root
允许`@printadmin`组和`root`用户具有写权限,从而管理和上传打印机驱动程序。
4. force group = @printadmin
强制设置共享中文件的所属组为`@printadmin`组。
5. create mask = 0664
设置新创建文件的权限掩码,允许文件的所有者和所属组具有读写权限,而其他用户只有读权限。
6. directory mask = 0775
设置目录的权限掩码,允许目录的所有者和所属组具有读、写、执行权限,其他用户只有读、执行权限。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
vi /etc/samba/smb.conf
# 添加以下内容
[smbshare]
comment = samba share
path = /sambda/share
read only = No注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.3 配置用户信息
创建一个本地用户, 添加到SMB服务中, 便于后续基于这个用户来访问
# 创建本地用户,并设置密码
useradd user01
passwd user01
密码为123456
# 基于本地用户创建smb用户
smbpasswd -a user01
# 验证用户是否添加成功
pdbedit -L注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.4 启动samba服务
systemctl enable nmb
systemctl enable smb
systemctl start nmb
systemctl start smb
验证是否启动:
systemctl status nmb
systemctl status smb注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.6 开启防火墙
firewall-cmd --add-service samba --permanent
firewall-cmd --reload
firewall-cmd --list-all注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.5 访问操作
2.2.5.1 在Linux主机访问
node1执行:
如果是第一次使用smb客户端,需要先安装:
# 查看是否存在smb客户端
rpm -qa | grep samba注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
dnf -y install samba-client注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
smbclient -L 192.168.88.102 -U user01注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
smbclient //192.168.88.102/smbshare -U user01
进入共享目录, 输入 ? 可以查看支持的命令
注意一个前提:操作用户对该目录一定要有权限
建议: 可以直接将共享目录的所属用户更改为SAMBA的登录用户即可注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
2.2.5.2 在windows主机访问



2.2.5.3 在windows中基于添加网络位置【挂载】







添加成功后, 即可访问该位置, 后续的操作就类似于访问一个本地的文件系统操作
注意一个前提:操作用户对该目录一定要有权限
3. NTP时间同步服务
3.1 什么是NTP
NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间的协议。
在机房中,各个服务器的时间务必要保持一致,同时也要和实际的时间保持一致
保持一致性的必要性原因:
1: 保证分布式系统的一致性: 多个服务器需要协同工作。如果时间不同步,可能导致:
日志时间线混乱,难以排查问题。
数据写入顺序错误,影响数据一致性
2: 保障安全性:时间同步对服务器安全机制至关重要:
认证和加密:许多安全协议(如 TLS/SSL、Kerberos)依赖精确的时间戳来验证会话有效性。如果时间不同步,认证可能失败。
防止重放攻击:时间戳是防止数据包重放的重要依据,时间不一致会导致安全漏洞。
3: 日志管理和故障排查
日志对比: 在多台服务器上排查问题时,需要通过日志时间线分析故障原因。如果时间不同步,日志无法对齐,排查问题变得困难。
事件追踪: 跟踪用户行为、事务处理等需要精确的时间戳。
....注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
3.2 NTP同步服务器原理
获取系统时间的基本命令:
date注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
date +"%F" 年月日
date +"%T" 时分秒
date +"%F %T" 年月日 时分秒
# 其他格式,如%Y年,%m月,%d日,%H时,%M分,%S秒
# 例如: date +"%Y-%m-%d %H:%M:%S"
# 输出: 2024-12-26 14:49:31注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
3.3 获取国内最稳定的NTP服务器
到哪里去找NTP服务器?答:可以通过NTP授时网站:http://www.ntp.org.cn/

如何查看当前我们的服务器采用的那个NTP服务器来完成的同步呢?
查看当前正在使用的时间源: chronyc sources注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
MS:显示时间源的同步状态:
+:表示候选的时间源
*:表示当前服务器正在使用的时间源
-:表示时间源可用,但未被选中
?:表示无法与时间源通信或时间源无效
Name/IP address: 显示时间源的域名或 IP 地址,例如 time.neu.edu.cn
Stratum:显示时间源的层级:
层级 1 表示直接连接到原子时钟的服务器
层级 2 表示从层级 1 的服务器同步,依此类推
Poll:显示时间同步的轮询间隔,以秒为单位的指数(如 6 表示 2^6 = 64 秒轮询一次)
Reach:表示与时间源的通信状态,8 位二进制值(显示为八进制)
377 表示最近的 8 次尝试均成功(满分状态),值越低表示通信失败次数越多
LastRx:显示上一次从该时间源接收数据的时间(以秒为单位)
Last sample: 显示上一次时间样本的偏差值(单位为微秒 us 或毫秒 ms),格式为 [偏差] +/- [精度] 方括号中的值是未经校正的时间偏差注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
chronyc tracking
结果为:
Reference ID : CA760151 (time.neu.edu.cn) 这是系统当前正在同步的时间源的标识符。
Stratum : 3 表示时间源的层级
Ref time (UTC) : Tue Dec 24 16:30:58 2024 这是当前时间源提供的参考时间(UTC,协调世界时)。表示 time.neu.edu.cn 服务器最后一次更新时间的时刻
System time : 0.000350876 seconds fast of NTP time 表示当前系统时间与 NTP 时间之间的偏差。这个值表示系统时间比 NTP 时间快了 0.000350876 秒。
Last offset : +0.000258952 seconds 上一次时间同步时的偏差,表示系统时钟与 NTP 服务器时间的差值。此值为正,意味着系统时间在上次同步时比 NTP 时间快了 0.000258952 秒
RMS offset : 0.001568094 seconds RMS (Root Mean Square) 偏差,表示系统时钟与 NTP 服务器时间之间的平均偏差。该值越小,表示时间同步越准确。
Frequency : 8.446 ppm fast 频率偏差,表示系统时钟的增速或减速。ppm 是 "每百万分之一"(parts per million)的单位。
Residual freq : +0.031 ppm 剩余频率偏差,表示调整后系统时钟的频率偏差。+0.031 ppm 表示系统时钟仍然比 NTP 时间快 0.031 个百万分之一。
Skew : 1.666 ppm 时钟偏差的变化率,即时钟偏差变化的速率。如果这个值较大,表示系统时钟的频率不稳定,可能需要更频繁地进行同步。
Root delay : 0.023006978 seconds 根延迟,指从本地系统到时间源服务器的网络延迟。0.023 秒表示从本机到 time.neu.edu.cn 服务器的往返延迟。
Root dispersion : 0.000833949 seconds 根扩散,表示时间源的不确定性,指的是时间源本身的误差范围。这个值越小,表示时间源的精度越高。
Update interval : 129.9 seconds 更新时间间隔,表示系统每次同步时间的间隔。129.9 秒表示大约每 2 分钟同步一次。
Leap status : Normal 跳秒状态,表示当前是否有跳秒调整。Normal 表示没有发生跳秒调整。注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
3.4 chrony时间同步服务
Chrony 是一个高效的时间同步服务,主要用于在 Linux 系统中通过网络时间协议 (NTP) 进行时间同步。
特点:
- 轻量高效:
- 启动速度快,适合间歇性连接到网络的设备。
- 低延迟:
- 在不需要长期运行的环境中,快速同步时间。
- 适配性强:
- 支持虚拟化环境(如虚拟机)和频繁断网的设备。
3.4.1 安装与基本配置
Chrony 通常默认安装在 CentOS Stream 9 上。如果未安装,可以通过以下命令安装:
dnf install chrony -y注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl start chronyd
systemctl enable chronyd
查看状态: systemctl status chronyd注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
vim /etc/chrony.conf
默认内容如下:
# 配置 chronyd 使用 pool.ntp.org 提供的公共时间源进行同步
# pool:使用多个时间源进行负载均衡。
# iburst:当服务器不可达时,发送 4 个快速请求包以加速连接。
pool 2.centos.pool.ntp.org iburst
# 从 DHCP 服务中动态获取 NTP 服务器地址,如果是静态网络可忽略
sourcedir /run/chrony-dhcp
# 记录系统时钟的频率偏差(增/减速),以便重启后快速调整。
driftfile /var/lib/chrony/drift
# 允许 chronyd 在系统启动的前 3 次同步中直接调整时间(如果时间偏差超过 1 秒)。
makestep 1.0 3
# 启用系统时钟与硬件时钟 (RTC) 的自动同步。
rtcsync
# 启用支持硬件时间戳的网络接口。注释掉,通常用于高精度时间同步场景(如金融行业)。
#hwtimestamp *
# 设置最少需要的时间源数量。
# 默认状态:注释掉,chronyd 自动选择。
#minsources 2
# 允许指定 IP 段的设备访问本机时间服务。默认不支持
#allow 192.168.0.0/16
# 允许本机在没有时间源时,充当时间服务器(Stratum 10)。一般注释掉
#local stratum 10
# 启用 NTP 数据包的认证功能。 注释掉,如使用,需生成密钥文件 /etc/chrony.keys。
#authselectmode require
keyfile /etc/chrony.keys
# 用于指定存储 NTS(Network Time Security)密钥和 cookie 的目录。
ntsdumpdir /var/lib/chrony
# 通过调整时间速度而非直接跳秒的方式插入/删除闰秒。
#leapsecmode slew
# 从系统时区数据库中获取闰秒和 TAI-UTC 偏移信息。
leapsectz right/UTC
# 指定 Chrony 的日志存储路径。
logdir /var/log/chrony
# 启用更多日志 如果需要记录时间同步详细信息,可取消注释以下选项
#log measurements statistics tracking注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
3.4.2 实施配置操作
需求如下: 基于原有的node1服务器
1- 完成调整公共时间源, 使用 中国国家授时中心时间服务器 阿里云和腾讯云提供的统一ntp服务
ntp.org.cn(中国国家授时中心时间服务器)
ntp.aliyun.com(阿里云NTP时间服务器)
ntp.tencent.com(腾讯云NTP时间服务器)
2- 开启允许局域网访问, 统一为 192.168.88.0/24 开放
3- 启用详细日志
4- 打开 硬件时钟同步
5- 让node2连接node1完成时间同步注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
vim /etc/chrony.conf
修改以下内容:
# 注释掉原有的pool 新增三个pool (文件头部)
# pool 2.centos.pool.ntp.org iburst
pool ntp.org.cn iburst
pool ntp.aliyun.com iburst
pool ntp.tencent.com iburst
# 新增(第31行范围)
allow 192.168.88.0/24
# 新增(最后一行)
log measurements statistics tracking注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl restart chronyd
systemctl status chronyd注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
firewall-cmd --list-all注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
vim /etc/chrony.conf
修改以下内容:
# 注释掉原有的pool 新增一个pool (文件头部)
# pool 2.centos.pool.ntp.org iburst
pool 192.168.88.101 iburst
:x 保存退出注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl restart chronyd
systemctl status chronyd注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
chronyc sources注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
4. 【作业】跨平台文件共享与自动化备份管理
先清空所有内容:
node1执行:
dnf -y remove nfs-utils
dnf -y remove samba-client
dnf clean all
rm -rf nfs.conf exports* /export/software
node2执行:
dnf -y remove nfs-utils
dnf -y remove samba
dnf clean all
rm -rf nfs.conf /etc/samba exports* /export/software /sambda/share命令作用:
- 使用
dnf包管理器执行-y操作,对软件包进行安装、更新、删除或查询。
- 使用
dnf包管理器执行clean操作,对软件包进行安装、更新、删除或查询。
执行结果:
- 成功后软件包会按指定动作完成安装、更新、删除或查询;失败时检查仓库、网络和权限。
关键参数:
注意事项:
它基于客户端-服务器架构,NFS服务器将本地文件系统共享给客户端,客户端可以通过网络挂载这些共享目录,像访问本地文件一样进行操作。
NFS主要应用于Linux/Unix系统之间的文件共享,虽然也支持跨操作系统,但其兼容性一般较差

服务器规划:
客户端安装:
服务端安装:
**注意事项:**
执行开放端口:注意事项:
第一步:创建需要共享的目录
第二步:NFS中设置指定需要共享的目录
添加以下内容:
参数说明:
192.168.0.0/24:代表共享给某个网段 192.168.0.254:共享给某个IP *.itcast.cn:代表共享给某个域下的所有主机
**注意事项:**
注意事项:
**注意事项:**
注意事项:
node2执行:
node1查看:
**注意事项:**
node1执行:
node2查看:注意事项:
动态端口管理:
客户端与服务端的通信流程:
**注意事项:**
补充说明注意事项:
需求:
本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。