由GPT-4整理: 以下是整理后的在管理节点 (mgt) 设置NFS服务的步骤:
NFS
NFS服务端
1. 安装RPC依赖和NFS服务
首先,在终端运行以下命令以安装必要的软件包:
sh
yum install rpcbind nfs-utils
这将安装rpcbind
和nfs-utils
,这两个软件包是运行NFS服务所必需的。
2. 修改NFS配置文件
使用文本编辑器编辑 /etc/exports
文件来配置NFS分享。例如使用vim
:
sh
bash
vim /etc/exports
在该文件中加入下列行来配置NFS共享的目录和权限(请根据实际路径调整):
plaintext
bash
/share *(rw,no_root_squash,sync,no_subtree_check)
参数含义:
-
rw
:可读写权限。 -
no_root_squash
:不降低root用户的权限。 -
sync
:同步写入数据到内存与硬盘中。 -
no_subtree_check
:不检查子目录的父目录权限,提高效率。
3. 重启NFS服务
配置完成后,需要重启NFS服务来应用这些更改:
sh
systemctl restart nfs
附加步骤
- 确保
rpcbind
和nfs-server
在启动时自动启动:
sh
bash
systemctl enable rpcbind
systemctl enable nfs-server
- 检查
/etc/exports
配置是否正确:
sh
markdown
exportfs -rv
plaintext
bash
这个命令会重新读取`/etc/exports`文件,并显示实际导出的文件系统。
- 查看NFS共享状态:
sh
markdown
showmount -e
plaintext
运行这个命令来确认NFS共享已经正确设置并可被客户端访问。
按照以上步骤,你应该能够在你的管理节点(mgt)上设置并运行NFS服务,允许其他节点访问和使用指定的共享目录。
NFS客户端
以下是整理后的NFS客户端设置步骤:
1. 安装RPC依赖和NFS客户端服务
在c1节点上执行以下命令来安装RPC依赖和NFS客户端服务:
sh
yum install rpcbind nfs-utils
2. 启动RPC和NFS服务
虽然一般客户端不需要运行NFS服务,但由于某些依赖,可能需要重启nfs服务(如果需要的话):
sh
sql
systemctl start rpcbind
systemctl restart nfs
3. 创建挂载目录
创建目录来挂载共享资源:
sh
bash
mkdir /share
4. 挂载NFS共享目录
使用以下命令手动挂载mgt服务器上的共享资源:
sh
bash
mount mgt:/share /share
5. 永久挂载:方法一(编辑 /etc/fstab)
a. 编辑 /etc/fstab
文件:
sh
bash
vim /etc/fstab
b. 在该文件中添加以下行:
fstab
bash
mgt:/share /share nfs defaults 0 0
c. 重新加载fstab使设置生效,无需重新启动:
sh
css
mount -a
6. 永久挂载:方法二(编辑 /etc/rc.local)
如果 /etc/rc.local
是可行的启动脚本(注意在最新Linux系统中,可能会被systemd取代),则:
a. 编辑 /etc/rc.local
文件:
sh
bash
vim /etc/rc.local
b. 在该文件中添加以下行:
bash
bash
/bin/mount -t nfs mgt:/share /share
7. 查看服务器的共享文件
为了确认配置是否正确,可以在客户端执行以下命令查看服务器的共享文件:
sh
showmount -e mgt
请注意,确保在客户端集群的每个节点上都进行了这些设置操作,以确保它们能够访问NFS共享目录。如果你的系统使用的是systemd,步骤2中可能不需要重启整个NFS服务,仅启动rpcbind服务即可。
使用 /etc/fstab
文件和 /etc/rc.local
脚本两种方法进行NFS挂载,主要区别在于挂载时机、管理方式和易用性:
1. 使用 /etc/fstab
挂载
-
时机:系统引导时自动执行挂载,无需人工干预。
-
管理 :通过文件系统表(
/etc/fstab
)统一管理,与磁盘、分区等其他挂载点一起进行管理,符合Linux系统挂载管理的传统方式。 -
易用性 :编辑
/etc/fstab
文件容易对新手造成困扰,但一旦设置完成,系统会在每次启动时自动挂载,无需手动操作。 -
安全性 :
/etc/fstab
中的错误配置可能会导致系统启动延迟或失败,尤其是网络挂载(如NFS)在网络不可用的情况下。
2. 使用 /etc/rc.local
挂载
-
时机:在系统启动过程的最后阶段执行挂载,系统引导完成后执行,为手动挂载提供了一种自动化方案。
-
管理:通过单独的脚本文件进行管理,与系统的其他启动任务一起执行,但与标准的文件系统挂载管理方式分离。
-
易用性 :对于习惯于编写启动脚本的用户来说,编辑
/etc/rc.local
文件较为直观易懂,但对系统启动流程的理解要求较高。 -
灵活性:可能更适合高级配置和特殊需求,例如在挂载前需执行特定的网络检查或配置。
总的来说,通过 /etc/fstab
进行挂载更符合Linux系统管理习惯,为自动挂载提供了一个既简单又强大的解决方案。而使用 /etc/rc.local
的方法提供了额外的灵活性和控制,但可能需要更多的系统知识来安全地使用。对于绝大多数用途,推荐使用 /etc/fstab
方法来挂载NFS或其他网络文件系统,因为它提供了更好的一致性和可靠性。
NTP
服务端
安装 Chrony
- 在 mgt 节点上安装 Chrony:
sh
yum -y install chrony
配置 Chrony
- 编辑 Chrony 的配置文件
/etc/chrony.conf
:
sh
bash
vi /etc/chrony.conf
- 注释掉默认的 NTP 服务器(如果你不打算使用它们作为上游服务器):
conf
arduino
解释
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
- 允许特定的客户端或客户端IP网段与此服务器同步时间:
conf
allow 192.168.1.2
或者,若要允许整个子网 192.168.1.0/24
(即IP范围是 192.168.1.0
到 192.168.1.255
)的设备同步时间,使用以下配置:
conf
allow 192.168.1.0/24
5.(可选)配置这台服务器作为一个特定层级的时间服务器:
conf
bash
local stratum 10
这里设置本机作为第10层的时间服务器。
重启 Chrony 服务
- 应用修改并重启 Chrony 服务:
sh
systemctl restart chronyd
验证和调试
- 通过查看 Chronyd 的状态和日志来验证配置:
sh
lua
systemctl status chronyd
sh
journalctl -u chronyd
通过 allow 192.168.1.0/24
的配置,你可以允许处于 192.168.1.0/24
这个子网内的所有设备与你的 Chrony 服务同步时间,这样的设置比单个IP更灵活,特别是在局域网环境中,这样做可以避免你需要为每个客户机单独设置权限,简化了管理工作。
客户端
此处开始由GPT3.5生成 以下是整理后的流程:
-
在客户端节点(c1)上执行以下命令安装 chrony:
cssCopy code yum -y install chrony
-
使用文本编辑器编辑
/etc/chrony.conf
文件:bashbashCopy code vi /etc/chrony.conf
-
在配置文件中,注释掉默认的 NTP 服务器(以"#"开头),并添加你的时间同步服务端的 IP 地址:
lessarduinoCopy code 解释 #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 192.168.1.2 iburst
-
保存并关闭文件后,重新启动 chronyd 服务以使更改生效:
cssCopy code systemctl restart chronyd
-
检查当前 NTP 源以确保已与指定的服务器同步:
cssCopy code chronyc sources -v
在这个过程中,确保替换 192.168.1.2
为你实际的时间同步服务端的 IP 地址。这样就可以确保客户端节点与时间同步服务器进行了正确的配置和同步。
NIS
服务端
整理后的 NIS 服务端搭建流程如下:
-
安装 NIS 服务端的包:
cssCopy code yum install ypserv
-
设置 NIS 域名:
-
编辑
/etc/sysconfig/network
文件:bashbashCopy code vi /etc/sysconfig/network
-
在文件中添加域名:
inimakefileCopy code NISDOMAIN=hpc
-
在命令行设置域名:
cssCopy code nisdomainname hpc
-
-
设置开机自启:
-
编辑
/etc/rc.d/rc.local
文件:bashbashCopy code vi /etc/rc.d/rc.local
-
在文件中添加命令:
bashbashCopy code /bin/nisdomainname hpc
-
确保
/etc/rc.d/rc.local
文件已设置为可执行:bashbashCopy code chmod +x /etc/rc.d/rc.local
-
-
将集群中各个节点的 IP 地址和域名映射加入到 hosts 文件中。
-
在
/share
目录中创建子目录:arduinoarduinoCopy code mkdir -p /share/home
-
将用户所在目录或上层目录设置为共享目录(以
/share/home
目录为例):-
编辑
/etc/exports
文件:bashbashCopy code vi /etc/exports
-
在文件中添加共享配置:
bashbashCopy code /share *(rw,no_root_squash,sync,no_subtree_check)
-
重启 NFS 服务:
cssCopy code systemctl restart nfs
-
-
新建用户:
arduinoarduinoCopy code useradd -d /share/home/dh -m dh
-
建立 NIS 数据库:
bashbashCopy code /usr/lib64/yp/ypinit -m
-
启动 NIS 服务端:
cssCopy code systemctl restart ypserv
-
如果之后有用户更新,执行以下命令更新数据库:
cssgoCopy code make -C /var/yp/
确保按照正确的顺序执行每个步骤,并确保在编辑配置文件时使用正确的语法和文件路径。
客户端
整理后的 NIS 客户端搭建流程如下:
在 c1 节点上进行 NIS 客户端的搭建:
-
安装 NIS 客户端的包:
cssCopy code yum install ypbind
-
设置 NIS 域名:
-
编辑
/etc/sysconfig/network
文件:bashbashCopy code vi /etc/sysconfig/network
-
在文件中添加域名:
inimakefileCopy code NISDOMAIN=hpc
-
在命令行设置域名:
cssCopy code nisdomainname hpc
-
-
设置开机自启:
-
编辑
/etc/rc.d/rc.local
文件:bashbashCopy code vi /etc/rc.d/rc.local
-
在文件中添加命令:
bashbashCopy code /bin/nisdomainname hpc
-
确保
/etc/rc.d/rc.local
文件已设置为可执行:bashbashCopy code chmod +x /etc/rc.d/rc.local
-
-
将 NIS 服务器的记录加入到 hosts 文件中:
-
编辑
/etc/hosts
文件:bashbashCopy code vi /etc/hosts
-
在文件中添加 NIS 服务器的 IP 地址和主机名:
cssCopy code 192.168.1.1 mgt
-
-
修改密码验证方式:
-
编辑
/etc/nsswitch.conf
文件:bashbashCopy code vi /etc/nsswitch.conf
-
在文件中配置密码验证方式,将
nis
添加到passwd
、shadow
和group
配置中,如下所示:makefilemakefileCopy code passwd: files nis sss shadow: files nis sss group: files nis sss
-
-
设置 NIS 服务器的主机名和域名:
-
编辑
/etc/yp.conf
文件:bashbashCopy code vi /etc/yp.conf
-
在文件中添加 NIS 服务器的域名和主机名:
cssCopy code domain hpc server mgt
-
-
启动客户端服务:
cssCopy code systemctl restart ypbind
确保按照正确的顺序执行每个步骤,并确保在编辑配置文件时使用正确的语法和文件路径。