avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home Linux挂载远程共享目录
文章

Linux挂载远程共享目录

Posted 2024-04-29 Updated 2024-04- 29
By RWO.
8~10 min read

最近,工作中遇到了一种情况,原有服务器的存储空间不足,无法满足现有系统的运行,因为一些原因,系统迁移和扩展内存方案不能实行,经排查现在占用内存较大的是系统中的文件存储功能,经调研,可以采用挂载远程共享目录的方式,将文件存储挂载到远程机器的目录,从而扩展了现有存储。
Linux现有比较成熟的解决方案有两种,一种是NFS远程挂载,另一种是Samba共享目录。下面就这两方式的配置进行说明。

环境:机器A:192.168.1.1 共享目录 /data/share 机器B:192.168.1.2 关联目录 /data/store

大致逻辑是这样:将A机器的目录/data/share设置为共享目录,机器B通过mount的方式和A机器的共享文件夹进行连接。

一、NFS远程挂载

1、概念

NFS:即网络文件系统(Network File System)分布式文件系统协议

2、操作步骤

[机器A]

  • 安装NFS
#由于NFS是依赖于RPC协议来进行的协议传输,所以,此时需同时安装,NFS 和 RPC 两个应用程序
#安装NFS和RPC(安装nfs-utils,rpcbind) 
yum -y install nfs-utils rpcbind
  • 设置共享目录

NFS的配置文件在/etc/exports,内容默认为空。配置格式为

目录位置 客户机地址(权限选项)

vim /etc/exports
/data/share 192.168.1.2(rw,sync,no_root_squash)
 
#客户机地址 可以是 :  主机名、IP地址、网段地址、或者"*、?"通配符;
#权限选项:rw表示允许读写(ro为只读)
#     sync表示同步写
#      no_root_squash表示当前客户机以root身份访问时,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)  (NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。)
 
#给多个地址授权
/data/share 192.168.1.2(rw,sync,no_root_squash)  192.168.1.3(rw,sync,no_root_squash)
#给某个网段内所有IP授权
/data/share 192.168.1.*(rw,sync,no_root_squash)
  • 启动NFS服务

配置完上述的目录文件配置后,则启动NFS服务;先启动 RPC服务,再启动 NFS 服务

#启动rpc服务
systemctl start rpcbind
#启动nfs服务
systemctl start nfs
#查看rpc服务状态
systemctl status rpcbind
#查看nfs服务状态
systemctl status nfs
#查看对应进程信息
ps -ef | grep rpcbind 
ps -ef | grep nfs
  • 查看当前机器已经发布的NFS共享目录
showmount -e 192.168.1.1
显示
Export list for 192.168.1.1:
/data/share 192.168.1.2

此时共享机器A的配置已经完成,可直接在机器B进行目录的挂载操作

[机器B]

  • 安装RPC服务

目录的挂载于共享是基于RPC协议进行的,所以B服务器作为挂载方,也应同时具备RPC的应用功能,所以也应同时安装对应的 rpcbind 服务插件。(安装rpcbind时,最好也可以直接把 nfs-utils 同步安装下,后续再次作为共享方时,则也会方便很多)

yum -y install rpcbind nfs-utils
  • 挂载
使用mount命令,此处表示将IP为:192.168.1.1所共享的/data/share目录,挂载到当前服务的 /data/store 目录下
 
mount -t nfs 192.168.1.1:/data/share /data/store
  • 开机自动挂载
vim /etc/fstab

192.168.1.1:/data/share    /data/store    nfs    defaults,_netdev 0 0

  • 开机自动启动
systemctl enable rpcbind.service
systemctl enable nfs-server.service
  • 查看当前机器挂载点

二、Samba共享目录

1、概念

和NFS不同的是,NFS解决的是UNIX/Linux之间的资源共享,而Samba除了Linux之间,也可用于Windows和Linux之间的资源共享,所以配置相对于NFS来说麻烦一些。

2、操作步骤

【服务端】

Linux作为服务端安装Samba

  • 安装samba程序包
#安装samba的主程序包、共享程序包、Linux作为客户端访问windows的客户端包
yum -y intall samba samba-common samba-client 

systemctl status firewalld #查看防火墙状态
setenforce 0 # 关闭SELinux 1启用 0 告警不启用
getenforce # 查看Selinux状态 disabled 关闭 enforcing 打开
  • 配置共享目录
vim /etc/samba/smb.conf

[sambdir]
    public = yes
    path = /data/samba
    writable = yes
  • 启动Samba服务
systemctl restart smb
systemctl enable smb 
systemctl restart nmb
systemctl enable nmb

【客户端】

  • 安装Samba客户端包
yum -y intall samba samba-common samba-client
  • 目录挂载
mount -t cifs -o "rw,dir_mode=0644,file_mode=0644,username=username,password=yourpassword" //192.168.1.100/yourshare_folder_name /usr/local/your_server_folder
笔记
Linux 折腾 服务器
License:  CC BY 4.0
Share

Further Reading

Oct 29, 2024

halo代码注入——实现悬浮展示当前文章二维码 和 自定义主题字体

文章页面悬浮在二维码标志上面,就会把当前页面链接变成二维码并且展示出来,我当前使用的主题没有,所以写此文章记录一下。 效果展示 悬浮二维码效果展示 自定义字体效果展示 代码注入位置 代码一:悬浮二维码 原始<

Aug 26, 2024

Tortoise ORM - values()和value_list()

django: values()与values_list() from django.db import models class Blog(models.Model): name = models.CharField(max_length=100) tagline = model

Aug 25, 2024

tortoise orm 执行原生 SQL 查询

Tortoise ORM 提供了多种方式来执行 SQL 查询。 使用 execute_query_dict 方法执行查询,并以字典的形式返回查询结果: from tortoise.backends.asyncpg import client from typing import List, Opti

OLDER

pip修改国内镜像源(临时/永久)

NEWER

Linux下共享目录挂载到Windows

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy