两台ubuntu的ECS机器共享一个存储
要在两台 Ubuntu 机器之间共享文件,常见的方法是使用 网络文件系统(NFS)、Samba、SSH 共享等方法。这里我将介绍两种常见的方式来实现文件共享:
方法 1: 使用 NFS(Network File System) 共享文件
NFS 允许你在网络上共享文件系统,在一台机器上挂载另一个机器的文件系统。
步骤:
1. 在共享文件的机器上配置 NFS 服务器(Server)
-
安装 NFS 服务器:
在共享文件的 Ubuntu 机器(假设它是 Server)上,首先安装 NFS 服务器:sudo apt update sudo apt install nfs-kernel-server
-
创建共享目录并设置权限:
假设你要共享/mnt/shared
目录,你可以通过以下命令创建该目录并设置权限:sudo mkdir -p /mnt/shared sudo chmod 777 /mnt/shared
-
配置 NFS 共享:
编辑/etc/exports
文件,添加你要共享的目录及访问权限:sudo nano /etc/exports
在文件中添加以下内容(将
<client_IP>
替换为另一台机器的 IP 地址,或者使用*
来允许所有机器访问):/mnt/shared <client_IP>(rw,sync,no_subtree_check)
示例:
/mnt/shared 192.168.1.100(rw,sync,no_subtree_check)
-
导出共享文件夹:
运行以下命令使配置生效:sudo exportfs -a
-
启动 NFS 服务器:
确保 NFS 服务正在运行:sudo systemctl restart nfs-kernel-server
2. 在另一台机器上挂载共享目录(Client)
-
安装 NFS 客户端:
在另一台机器(假设它是 Client)上安装 NFS 客户端:sudo apt install nfs-common
-
挂载共享目录:
使用以下命令挂载 NFS 共享的目录:sudo mount <server_IP>:/mnt/shared /mnt/shared
例如:
sudo mount 192.168.1.10:/mnt/shared /mnt/shared
-
验证挂载:
可以使用df -h
命令查看挂载的共享目录:df -h
你应该能够看到
/mnt/shared
目录已挂载。 -
自动挂载(可选):
如果你希望每次启动时自动挂载共享目录,可以在/etc/fstab
中添加条目:sudo nano /etc/fstab
添加以下内容:
<server_IP>:/mnt/shared /mnt/shared nfs defaults 0 0
这样就可以自动挂载 NFS 共享目录。
方法 2: 使用 Samba 共享文件(跨平台兼容)
如果你需要在 Windows 和 Linux 系统之间共享文件,可以使用 Samba。
步骤:
1. 在共享文件的机器上安装 Samba 服务器(Server)
-
安装 Samba:
sudo apt update sudo apt install samba
-
创建共享目录并设置权限:
假设你要共享/mnt/shared
目录:sudo mkdir -p /mnt/shared sudo chmod 777 /mnt/shared
-
配置 Samba 共享:
编辑/etc/samba/smb.conf
文件,添加共享设置:sudo nano /etc/samba/smb.conf
在文件的末尾添加以下内容:
[shared] path = /mnt/shared browseable = yes read only = no guest ok = yes
-
重启 Samba 服务:
sudo systemctl restart smbd
2. 在另一台机器上访问 Samba 共享(Client)
-
在客户端机器上安装 Samba 客户端(如果未安装):
sudo apt install smbclient
-
挂载 Samba 共享:
使用以下命令挂载共享目录:sudo mount -t cifs //<server_IP>/shared /mnt/shared -o guest
例如:
sudo mount -t cifs //192.168.1.10/shared /mnt/shared -o guest
这样你就可以访问
/mnt/shared
目录了。
方法 3: 使用 SSH 文件传输
如果你只需要偶尔传输文件,可以使用 scp
或 rsync
来通过 SSH 传输文件。
示例:使用 scp
命令
在目标机器上,从源机器传输文件:
scp user@<source_machine_ip>:/path/to/file /path/to/destination
总结
- NFS 是一种高效的方式,适合 Linux 之间共享文件。
- Samba 更适合 Linux 和 Windows 之间的文件共享。
- SSH 文件传输 适合偶尔传输文件,不需要持续共享。
你可以根据需要选择适合的方式进行配置。如果你只是要在两台 Ubuntu 机器之间共享文件,使用 NFS 会是一个很好的选择。