两台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 会是一个很好的选择。

相关推荐
csudata43 分钟前
绿色便携版PostgreSQL发行版重磅发布
数据库·postgresql
JAVA+C语言3 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
青岑CTF4 小时前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
嵌入式郑工8 小时前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
新缸中之脑11 小时前
Moltbook 帖子精选
开发语言·php
青岑CTF11 小时前
攻防世界-Web_php_include-胎教版wp
开发语言·安全·web安全·网络安全·php
一条闲鱼_mytube11 小时前
MySQL vs PostgreSQL 对比
数据库·mysql·postgresql
遇见火星11 小时前
Linux综合性能监控工具dstat命令详解
linux·服务器·php·dstat
l1t12 小时前
DeekSeek辅助总结PostgreSQL Mistakes and How to Avoid Them 的一个例子
数据库·postgresql
数据知道13 小时前
PostgreSQL核心原理:为什么数据库偶尔会卡顿?
数据库·postgresql