在 CentOS 系统之间通过内网共享硬盘数据,可以通过多种方式实现,常见的有 NFS(Network File System)和 Samba。这里主要介绍如何使用 NFS 来实现两个 CentOS 系统之间的数据共享。
NFS 是一种网络文件系统协议,允许不同机器上的用户通过网络访问文件,像使用本地存储一样。
假设有两台 CentOS 主机:
192.168.1.100
192.168.1.101
安装 NFS 服务
首先在 Server 上安装 NFS 服务。
sudo yum install nfs-utils -y
创建共享目录
创建一个将要共享的目录,比如 /mnt/shared
.
sudo mkdir -p /mnt/shared
配置 NFS 导出
编辑 /etc/exports
文件,添加需要共享的目录信息。
sudo nano /etc/exports
添加如下行,将 /mnt/shared
目录共享给指定 IP(如192.168.1.101
)或整个子网(如192.168.1.0/24
)。
/mnt/shared 192.168.1.101(rw,sync,no_root_squash,no_subtree_check)
rw
: 允许读写访问sync
: 同步方式写入数据no_root_squash
: 允许 NFS 客户端以 root 用户身份访问(需小心使用)no_subtree_check
: 关闭子树检查,提高性能启动并启用 NFS 服务
启动 NFS 服务并设置为开机启动。
sudo systemctl start nfs-server
sudo systemctl enable nfs-server
配置防火墙
确保 NFS 服务可以通过防火墙。打开相应端口。
sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --permanent --add-service=mountd
sudo firewall-cmd --permanent --add-service=rpc-bind
sudo firewall-cmd --reload
导出文件系统
使用 exportfs
命令使更改生效。
sudo exportfs -r
安装 NFS 客户端
在 Client 上安装 NFS 客户端工具。
sudo yum install nfs-utils -y
创建挂载点
创建一个用于挂载共享目录的本地目录,比如 /mnt/nfs_shared
.
sudo mkdir -p /mnt/nfs_shared
挂载共享目录
使用 mount
命令挂载远程的共享目录。
sudo mount -t nfs 192.168.1.100:/mnt/shared /mnt/nfs_shared
验证挂载
使用 df -h
或 mount
命令确认挂载成功。
df -h
可以看到类似于:
192.168.1.100:/mnt/shared 10G 1.1G 8.9G 11% /mnt/nfs_shared
自动挂载(可选)
为了在系统启动时自动挂载,可以将挂载信息添加到 /etc/fstab
中。
sudo nano /etc/fstab
添加如下行:
192.168.1.100:/mnt/shared /mnt/nfs_shared nfs defaults 0 0
权限设置
确保共享目录的权限设置正确,允许客户端对文件进行读取和写入。
sudo chown -R nfsnobody:nfsnobody /mnt/shared
sudo chmod 777 /mnt/shared
NFS 性能调优
如果在使用过程中发现性能问题,可以通过调整 NFS 的挂载选项来进行优化。例如,可以通过添加挂载参数来提高读写性能:
sudo mount -t nfs -o rw,nosuid,intr,noatime 192.168.1.100:/mnt/shared /mnt/nfs_shared
rw
: 读写模式nosuid
: 不允许在该文件系统中创建具有 set-user-ID 和 set-group-ID 权限的文件intr
: 允许中断挂载操作noatime
: 不更新文件的访问时间,提高性能安全性
如果需要更高的安全性,可以考虑使用 Kerberos 进行身份验证,或者通过 VPN 加密传输。
通过以上步骤,可以在两台 CentOS 系统之间通过内网共享硬盘数据,实现文件的高效共享和管理。如果需要更复杂的权限管理和共享功能,也可以考虑使用 Samba 作为替代方案。