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

相关推荐
终焉暴龙王9 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
风吹落叶花飘荡10 小时前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu
贾斯汀玛尔斯13 小时前
ubuntu/centos系统ping 不通域名的解决方案
linux·ubuntu·centos
翟天保Steven16 小时前
Ubuntu-安装Epics教程
linux·ubuntu·epics
小鼻崽纸16 小时前
cacti漏洞CVE-2022-46169的复现
php
Tipriest_1 天前
离线进行apt安装的过程(在只能本地传输的ubuntu主机上使用apt安装)
linux·运维·ubuntu·apt·install·deb
stand_forever1 天前
laravel框架优化
php·laravel
QMCY_jason1 天前
Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
linux·ubuntu·ffmpeg
Python涛哥1 天前
PHP框架之Laravel框架教程:1. laravel搭建
开发语言·php·laravel
站住前面的二哈1 天前
Cartographer安装测试与模块开发(三)--Cartographer在Gazebo仿真环境下的建图以及建图与定位阶段问题(实车也可参考)
学习·ubuntu