两台ubuntu的ECS机器共享一个存储

要在两台 Ubuntu 机器之间共享文件,常见的方法是使用 网络文件系统 (NFS)、SambaSSH 共享等方法。这里我将介绍两种常见的方式来实现文件共享:

方法 1: 使用 NFS(Network File System) 共享文件

NFS 允许你在网络上共享文件系统,在一台机器上挂载另一个机器的文件系统。

步骤:
1. 在共享文件的机器上配置 NFS 服务器(Server)
  1. 安装 NFS 服务器

    在共享文件的 Ubuntu 机器(假设它是 Server)上,首先安装 NFS 服务器:

    bash 复制代码
    sudo apt update
    sudo apt install nfs-kernel-server
  2. 创建共享目录并设置权限

    假设你要共享 /mnt/shared 目录,你可以通过以下命令创建该目录并设置权限:

    bash 复制代码
    sudo mkdir -p /mnt/shared
    sudo chmod 777 /mnt/shared
  3. 配置 NFS 共享

    编辑 /etc/exports 文件,添加你要共享的目录及访问权限:

    bash 复制代码
    sudo nano /etc/exports

    在文件中添加以下内容(将 <client_IP> 替换为另一台机器的 IP 地址,或者使用 * 来允许所有机器访问):

    bash 复制代码
    /mnt/shared <client_IP>(rw,sync,no_subtree_check)

    示例:

    bash 复制代码
    /mnt/shared 192.168.1.100(rw,sync,no_subtree_check)
  4. 导出共享文件夹

    运行以下命令使配置生效:

    bash 复制代码
    sudo exportfs -a
  5. 启动 NFS 服务器

    确保 NFS 服务正在运行:

    bash 复制代码
    sudo systemctl restart nfs-kernel-server
2. 在另一台机器上挂载共享目录(Client)
  1. 安装 NFS 客户端

    在另一台机器(假设它是 Client)上安装 NFS 客户端:

    bash 复制代码
    sudo apt install nfs-common
  2. 挂载共享目录

    使用以下命令挂载 NFS 共享的目录:

    bash 复制代码
    sudo mount <server_IP>:/mnt/shared /mnt/shared

    例如:

    bash 复制代码
    sudo mount 192.168.1.10:/mnt/shared /mnt/shared
  3. 验证挂载

    可以使用 df -h 命令查看挂载的共享目录:

    bash 复制代码
    df -h

    你应该能够看到 /mnt/shared 目录已挂载。

  4. 自动挂载(可选)

    如果你希望每次启动时自动挂载共享目录,可以在 /etc/fstab 中添加条目:

    bash 复制代码
    sudo nano /etc/fstab

    添加以下内容:

    bash 复制代码
    <server_IP>:/mnt/shared /mnt/shared nfs defaults 0 0

    这样就可以自动挂载 NFS 共享目录。

方法 2: 使用 Samba 共享文件(跨平台兼容)

如果你需要在 Windows 和 Linux 系统之间共享文件,可以使用 Samba

步骤:
1. 在共享文件的机器上安装 Samba 服务器(Server)
  1. 安装 Samba

    bash 复制代码
    sudo apt update
    sudo apt install samba
  2. 创建共享目录并设置权限

    假设你要共享 /mnt/shared 目录:

    bash 复制代码
    sudo mkdir -p /mnt/shared
    sudo chmod 777 /mnt/shared
  3. 配置 Samba 共享

    编辑 /etc/samba/smb.conf 文件,添加共享设置:

    bash 复制代码
    sudo nano /etc/samba/smb.conf

    在文件的末尾添加以下内容:

    ini 复制代码
    [shared]
    path = /mnt/shared
    browseable = yes
    read only = no
    guest ok = yes
  4. 重启 Samba 服务

    bash 复制代码
    sudo systemctl restart smbd
2. 在另一台机器上访问 Samba 共享(Client)
  1. 在客户端机器上安装 Samba 客户端(如果未安装)

    bash 复制代码
    sudo apt install smbclient
  2. 挂载 Samba 共享

    使用以下命令挂载共享目录:

    bash 复制代码
    sudo mount -t cifs //<server_IP>/shared /mnt/shared -o guest

    例如:

    bash 复制代码
    sudo mount -t cifs //192.168.1.10/shared /mnt/shared -o guest

    这样你就可以访问 /mnt/shared 目录了。

方法 3: 使用 SSH 文件传输

如果你只需要偶尔传输文件,可以使用 scprsync 来通过 SSH 传输文件。

示例:使用 scp 命令

在目标机器上,从源机器传输文件:

bash 复制代码
scp user@<source_machine_ip>:/path/to/file /path/to/destination

总结

  1. NFS 是一种高效的方式,适合 Linux 之间共享文件。
  2. Samba 更适合 Linux 和 Windows 之间的文件共享。
  3. SSH 文件传输 适合偶尔传输文件,不需要持续共享。

你可以根据需要选择适合的方式进行配置。如果你只是要在两台 Ubuntu 机器之间共享文件,使用 NFS 会是一个很好的选择。

相关推荐
WordPress学习笔记1 小时前
wp-config.php文件是什么
php·wp-config
非凡的世界1 小时前
深入理解 PHP 框架里的设计模式
开发语言·设计模式·php
notillusion2 小时前
URR#69598
java·php·程序优化
notillusion2 小时前
CUK#22162
java·php·程序优化
小猫挖掘机(绝版)2 小时前
kalibr进行相机内参以及相机imu的融合标定
ubuntu·无人机·slam·标定·vinsfusion
Siren_dream2 小时前
在VMware上运行Linux(我选择的是Ubuntu)
linux·运维·ubuntu
张晓~183399481213 小时前
碰一碰发视频 系统源码 /PHP 语言开发方案
开发语言·线性代数·矩阵·aigc·php·音视频·文心一言
迷路爸爸1803 小时前
源码编译安装最新 tmux 教程(含 Debian/Ubuntu/CentOS/Arch/macOS 等系统)
linux·ubuntu·macos·centos·debian·tmux·archlinux
qq_252924194 小时前
PHP 8.0+ 现代Web开发实战指南 引
android·前端·php
科技D人生4 小时前
物联网开发学习总结(5)—— 深入对比 TDengine、InfluxDB 和 TimescaleDB 三大主流时序数据库的性能表现
物联网·postgresql·时序数据库·influxdb·tdengine·timescaledb