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

相关推荐
appleคิดถึง1 小时前
fastadmin 表格数据导入
html·php·fastadmin
dw52356 小时前
php 根据sdk重命名华为云obs临时访问 url
java·华为云·php
时光の尘6 小时前
嵌入式Linux(二)·配置VMware使用USB网卡连接STM32MP157实现Windows、Ubuntu以及开发板之间的通信
linux·服务器·c语言·windows·stm32·ubuntu
lqqjuly6 小时前
【Ubuntu】 Ubuntu22.04搭建NFS服务
linux·ubuntu
willhu20087 小时前
Ubuntu创建python虚拟环境
python·ubuntu
滚雪球~9 小时前
ubuntu中zlib安装的步骤是什么
运维·服务器·ubuntu
高铭杰9 小时前
Postgresql中clog与xid对应关系计算方法(速查表)
数据库·postgresql·clog·xid
鸠摩智首席音效师9 小时前
如何备份和恢复 PostgreSQL 数据库 ?
数据库·postgresql
xxxx12344510 小时前
Linux-Ubuntu之I2C通信
linux·运维·ubuntu
岳麓丹枫00110 小时前
pg_wal 目录下 wal 日志文件异常累积过大
postgresql