linux集群目录共享经验(nfs)

服务器端的配置

检查是否有安装rpc与nfs
rpm -qa nfs-utils rpcbind

如没有安装则进行安装:

yum  -y  install  rpcbind  nfs-utils

查看运行状态

systemctl status rpcbind
systemctl status nfs

启动rpc服务并设置开机自动启动

systemctl start rpcbind 
systemctl enable rpcbind

启动nfs服务并设置开机自动启动

systemctl start nfs
systemctl enable nfs
创建共享目录并添加配置

如创建在data/nfs_share

mkdir -p /data/nfs_share
chmod 777 /data/nfs_share

修改/etc/exports,配置共享信息,如:

# nfs配置
/data/nfs_share 10.77.110.145/24(rw,sync)
/data/nfs_share 10.77.110.146/24(rw,sync)
/data/nfs_share 10.77.110.148/24(rw,sync)

//其中参数ro代表只读,rw代表读写
//sync代表同步的将数据写入到内存与硬盘中
//async代表异步的先将数据保存到内存,然后再写入硬盘

重新加载NFS服务,使配置文件生效

systemctl reload nfs 
exportfs -r 
检验服务端是否配置成功

在这里插入图片描述


客户端的配置

rpc与nfs的安装

此处仅安装rpc应该也行。
同服务端,检查是否安装,并启动

创建挂载目录并挂载

检查是都否看到服务端,输入以下命令应该能看到服务端的挂载信息

showmount  -e  10.77.110.147

创建目录

mkdir /data/nfs_share

挂载:

mount -t nfs 10.77.110.147:/data/nfs_share/ /data/nfs_share

在这里插入图片描述
查看挂载信息,检验是否挂载成功

df -h

Permission denied问题

是nfs服务端的问题。
法一:客服端想访问相当于others,需要chmod给nfs文件夹所有权限。
法二:或者在服务端修改/etc/exports那一步添加参数,如:

/data/nfs_share 10.77.110.145/24(rw,sync,no_root_squash)

//no_root_squash意思是,当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员。

法二存在一定的安全隐患。

### Linux集群部署与文件及目录共享配置 在Linux环境中实现集群部署并支持文件和目录共享,通常涉及到多个组件的协作。这些组件包括但不限于网络配置、存储管理、分布式文件系统以及权限控制等。以下是几种常见的方法和技术,可以用于在Linux集群中实现文件和目录共享。 #### 1. 使用NFS(Network File System) NFS 是一种分布式文件系统协议,允许客户端计算机通过网络访问服务器上的文件,就像它们是本地文件一样。NFS非常适合于需要跨多台机器共享文件的情况。 **配置步骤:** - **安装NFS服务**: ```bash sudo apt-get install nfs-kernel-server ``` - **编辑NFS导出文件** `/etc/exports`,添加要共享目录及其权限设置: ``` /path/to/shared/directory client_ip(rw,sync,no_subtree_check) ``` - **重启NFS服务**以应用更改: ```bash sudo systemctl restart nfs-kernel-server ``` - **客户端挂载**共享目录: ```bash sudo mount server_ip:/path/to/shared/directory /local/mount_point ``` #### 2. 使用GlusterFS GlusterFS 是一个开源的分布式文件系统,设计用于处理大规模数据存储需求。它能够将多个物理服务器的存储资源整合成一个大的虚拟存储池,提供高可用性和可扩展性[^1]。 **基本操作:** - **安装GlusterFS**: ```bash sudo apt-get install glusterfs-server ``` - **启动并启用GlusterFS服务**: ```bash sudo systemctl start glusterd sudo systemctl enable glusterd ``` - **创建卷**(假设两台节点): ```bash sudo gluster volume create test-volume server1:/exp1 server2:/exp2 ``` - **启动卷**: ```bash sudo gluster volume start test-volume ``` - **客户端挂载**: ```bash sudo mount -t glusterfs server1:/test-volume /mnt/glusterfs ``` #### 3. 使用Ceph Ceph 是另一个强大的分布式存储解决方案,不仅支持对象存储,还支持块设备和文件系统的接口。对于需要高性能和高可靠性的场景,Ceph是一个非常合适的选择[^1]。 **部署Ceph集群的基本步骤包括:** - **准备环境**:确保所有节点之间的时间同步,以及正确的主机名解析。 - **安装Ceph部署工具**如 `ceph-deploy` 或者使用更现代的方法如 `cephadm`。 - **初始化Monitor节点**,这是Ceph集群的核心部分之一。 - **添加OSD(Object Storage Daemon)**,即实际的数据存储节点。 - **创建MDS(Metadata Server)** 如果计划使用Ceph作为文件系统的话。 - **配置客户端**,使其能够访问Ceph提供的存储资源。 #### 4. 配置SSH无密码登录 为了简化集群内部的操作,通常还需要配置SSH无密码登录,以便于自动化脚本和命令可以在不同节点之间无缝执行。 **生成密钥对**(如果尚未存在): ```bash ssh-keygen -t rsa ``` **复制公钥到目标主机**: ```bash ssh-copy-id user@remote_host ``` 完成上述配置后,用户就可以从一台机器上直接登录到另一台机器而无需输入密码了。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值