Skip to content

存储服务器

在这篇文章中

在 Linux 上通过 NFS 将存储服务器用作网络驱动器/文件夹

信息

网络文件系统 (NFS) 协议是一种应用层协议,允许客户端通过网络访问远程服务器上的文件,就像它们是本地文件一样。NFS 使用客户端-服务器模型,其中服务器导出一个或多个目录,客户端将它们挂载到其文件系统中。NFS 协议具有配置简单、跨平台、透明文件访问、数据缓存、可扩展性、容错性和安全性等功能,这些功能使其非常适合作为连接存储服务器的协议,允许来自不同操作系统的用户轻松高效地处理网络存储上的数据。

要在 Linux 上通过 NFS 将存储服务器用作网络驱动器/文件夹,您需要:

  1. 安装 NFS 服务器。安装 nfs-kernel-serverrpcbind 软件包:

    sudo apt install nfs-kernel-server rpcbind
    
  2. 配置目录导出。在 /etc/exports 配置文件中指定共享目录:

    /data 192.168.1.0/24(rw,sync,no_root_squash)
    

    此操作允许从指定子网对 /data 目录进行读写访问。

  3. 使用以下命令重启 NFS 服务器:

    sudo systemctl restart nfs-kernel-server
    
  4. 挂载本地设备:

    sudo mount 192.168.1.1:/data /mnt/nfs
    
  5. 配置开机自动挂载。将此行添加到 /etc/fstab

    192.168.1.1:/data /mnt/nfs nfs defaults 0 0
    

    您可以使用以下命令检查空间使用情况:

    df -h /mnt/nfs
    
  6. 要配置使用 rsync 实用程序进行自动备份,您需要将适当的命令添加到 crontabcron 设置文件)中:

    0 1 * * * rsync -avz /mnt/nfs /backup/nfs
    
  7. 要创建 MySQL 数据库的备份(转储),您可以使用 mysqldump 实用程序:

    mysqldump -u root -p mydb > /mnt/nfs/dump.sql
    

    此命令将 mydb 数据库的完整备份保存到 /mnt/nfs/dump.sql 路径下的 dump.sql 文件中。-u 参数指定连接 MySQL 的用户名,-p 提示输入密码。要以自动模式创建备份,您可以配置此命令使用 cron 实用程序按计划运行。

在 Windows 操作系统上使用 Samba 协议将存储服务器用作网络驱动器/文件夹

信息

Samba 是自由分发的软件,允许 Linux/Unix 和 Windows 系统在文件级和打印机级通过网络进行通信。Samba 实现了 Windows 中用于文件共享的 SMB/CIFS 协议。这使得在 Linux 和 Windows 计算机之间组织文件和打印机共享变得容易。

要在 Windows 中使用 Samba 协议将存储服务器用作网络驱动器/文件夹,您需要:

  1. 在存储服务器上安装 sambasmbclient 软件包:

    sudo apt install samba smbclient
    
  2. 创建一个将对网络开放的文件夹,例如 /mnt/share

    sudo mkdir /mnt/share
    
  3. 将此文件夹添加到您的 samba 配置文件:

    sudo nano /etc/samba/smb.conf
    

    在配置文件末尾添加:

    [share]
       comment = Network Share
       path = /mnt/share
       browsable = yes
       guest ok = yes
       read only = no
       create mask = 0755
    

  4. 重启 Samba 服务:

    sudo service smbd restart
    
  5. 在您的本地 Windows 设备上,打开 Explorer 并选择 Map network drive 选项卡:

  6. 输入存储服务器和 Share 网络文件夹的路径:

    然后系统将提示您输入凭据以连接到服务器并完成连接:

    如果连接成功,网络文件夹将在 Network locations 下的 Explorer 中可见:

    如果您由于权限不足而在处理网络文件夹时遇到问题,您应该检查处理该文件夹的权限。您可以使用任何支持 SFTP 和 SCP 协议的图形客户端(如 WinSCP)来执行此操作:

    一旦用户被授予必要的权限,网络文件夹即可写入。

  7. 要挂载驱动器,请使用以下命令:

    sudo mount /dev/sdb1 /mnt/share
    
  8. 要卸载:

    sudo umount /mnt/share 
    
  9. 使用 df 命令监控已占用的空间:

    df -h /mnt/share
    

  1. 要自动复制数据,请在 crontab 中配置作业:

    0 0 * * * rsync -av /source/dir /mnt/share
    
  2. 要备份 MSSQL 数据库,请使用以下命令:

    mysqldump -u root -p mydb > /mnt/share/mssql_backup.sql
    

使用 Rsync 和 SCP 实用程序从终端使用存储服务器

信息

Rsync 和 SCP 是 Linux 和其他类 Unix 系统中的命令行实用程序,用于通过网络传输文件。使用 Rsync 和 SCP 以及其他实用程序从终端处理远程存储服务器上的文件,可以执行许多任务:

  • 自动化服务器之间的文件传输和同步
  • 备份存储上的数据;
  • 集中文件存储和管理;
  • 无需图形界面即可快速灵活地操作文件;
  • 脚本化和批处理各种数据处理任务。

使用 Rsync 相对于 SCP 和 FTP 的优势:

  • Rsync 由于增量文件传输而更快,仅传输更改的部分;
  • 支持压缩并节省流量;
  • 能够灵活配置同步参数;
  • 支持恢复中断的文件传输;
  • 远程目录镜像。

因此,对于备份、同步和自动化任务,Rsync 通常是最佳解决方案,并受到系统管理员的青睐。它是管理远程存储上文件的强大且灵活的工具。

Rsync

Rsync 是一种用于同步网络上节点之间文件和目录的实用程序。Rsync 的特点:

  • 同步整个目录结构以及单个文件。
  • 重新同步时,仅传输文件的更改部分。
  • 使用 Deflate 数据压缩算法和 zlib 库。
  • 节省通道带宽。
  • 复制文件权限。
  • 运行不需要 root 权限。
  • 适用于备份和恢复。

备注

本手册中使用的约定是 user@storage-server。在与远程服务器工作时,SSH 连接需要用户名(例如 root)和服务器的 IP 地址。因此,在输入以下示例中的命令时,您必须以 user@IP-address 格式输入您的凭据,例如 [email protected]。服务器的 IP 地址可以在 InvapiNetwork 选项卡中找到:

如何使用 Rsync 从终端处理存储服务器上的文件:

备注

在我们的示例中,我们使用专为 Debian/Ubuntu 发行版设计的 apt 包管理器。对于基于 Red Hat 的发行版,使用 yum 包管理器。

  1. 在本地机器上安装 Rsync:

    sudo apt install rsync
    
  2. 连接到存储服务器。对于 SSH 连接,最好配置密钥授权。您可以使用以下命令生成 SSH 密钥:

    ssh-keygen -t rsa
    

    然后将密钥复制到存储服务器:

    ssh-copy-id user@storage-server
    
  3. 同步目录。例如,要同步 /data 目录与存储服务器:

    rsync -avz /data user@storage-server:/backup/data
    

    选项说明:

    • avz:
      • a - 归档模式。存储符号链接、所有者、组、权限和时间戳;
      • v - 增加详细程度。显示有关文件复制过程的消息;
      • z - 在传输期间压缩文件数据以减少流量;
    • /data - 本地源目录;
    • user@storage-server:/backup/data - 远程服务器上的目标文件夹。

    此命令以归档模式将 /data 目录从本地计算机复制到远程存储服务器。该过程伴有详细输出,数据被压缩并保存到远程服务器上对应用户的 /backup/data 目录中。

    复制通过网络进行,所有文件属性保持不变。

  4. 要完全镜像目录,可以使用可选的 --delete 选项,这对于删除不必要的文件是必要的:

    rsync -avz --delete /data user@storage-server:/backup/data
    

    选项说明:

    • avz:
      • a - 归档模式。存储符号链接、所有者、组、权限和时间戳;
      • v - 增加详细程度。显示有关文件复制过程的消息;
      • z - 在传输期间压缩文件数据以减少流量;
    • -delete - 删除目标目录 /backup/data 中不在源目录 /data 中的文件; /data - 本地源目录; user@storage-server:/backup/data - 远程服务器上的目标文件夹。
  5. 使用 --backup 选项执行备份:

    rsync -avz --backup --delete /data user@storage-server:/backup/data
    

    运行此命令将保存已修改文件的旧版本。例如

    rsync --archive --backup --compress /home/user/documents user@storage-server:/backup/documents
    

    此命令在存储服务器的 /backup/documents 中创建 /home/user/documents 目录的归档副本。文件以压缩形式复制。副本将以 .1 扩展名备份现有文件。

SCP 和 FTP:文件传输协议

可以使用几种数据传输协议从终端处理远程存储服务器上的文件。

SCP (Secure Copy)

SCP 允许在主机之间加密复制文件。要将文件复制到存储服务器,请使用以下命令:

scp file.txt user@storage-server:/path/to/destination 

要从服务器下载文件:

scp user@storage-server:/path/to/file /local/path

FTP (File Transfer Protocol)

要通过 FTP 连接,请使用 ftp 命令:

ftp storage-server

将文件上传到服务器:

put file.txt

下载文件:

get file.txt

使用 SFTP 和 FTP 客户端使用存储服务器

存储服务器用于存储和共享数据。但要利用其优势,您需要方便且安全地访问存储在其上的文件。

  • SFTP (Secure File Transfer Protocol) 和 FTP (File Transfer Protocol) 是用于通过网络在计算机之间传输文件的协议。
  • SFTP 是 SSH 协议的扩展,提供加密和安全的文件传输。FTP 使用明文而不加密。当需要保密性和数据完整性时,首选 SFTP。
  • SFTP 和 FTP 客户端是允许用户连接到 SFTP 或 FTP 服务器并管理这些服务器上的文件的程序。流行的 SFTP 客户端包括 FileZillaWinSCPCyberDuck。流行的 FTP 客户端:FileZillaSmartFTPWinSCP

备注

SFTP 和 FTP 之间的主要区别在于加密的使用。SFTP 加密所有连接,确保数据安全。FTP 以明文传输数据,使其容易受到拦截和修改。此外,SFTP 使用 SSH 进行身份验证,而 FTP 使用单独的密码。

WinSCP

要在 Windows 中使用 WinSCP,您需要:

  1. 在本地 Windows 设备上下载并安装 WinSCP 客户端。

  2. 启动 WinSCP。在 Login 窗口中,输入以下详细信息:

    • Host name:远程服务器 IP 地址或域名;
    • Port number:22;
    • User name:服务器登录名;
    • Password:服务器密码。

  3. Login 连接到服务器。

  4. 左侧窗格包含本地设备上的文件,右侧窗格包含远程服务器上的文件:

  5. 要将文件从计算机复制到服务器 - 用鼠标将其从左侧窗格拖到右侧窗格。

  6. 要在服务器和本地设备之间传输文件,只需将它们从一个面板拖到另一个面板。

  7. 要结束工作,点击 Close 或关闭程序。

  8. 所有文件副本均使用 SFTP 协议加密。如果您愿意,可以选择其他协议进行连接。

Linux 中的 FileZilla

要在 Linux 上使用 FileZilla,您需要:

  1. 从您使用的 Linux 发行版的存储库中安装 FileZilla。例如,在 Ubuntu 中:

    sudo apt install filezilla
    
  2. 启动 FileZilla。在 Quickconnect 栏中输入详细信息:

    • Host:协议 (SFTP) 和存储服务器的 IP 地址或域名(例如 sftp://31.45.10.34);
    • Port:22;
    • Username:服务器登录名;
    • Password:服务器密码。
  3. Quickconnect。连接成功后,左侧显示本地设备的主目录。

  4. 要在服务器和本地设备之间传输文件,只需将它们从一个面板拖放到另一个面板。

  5. Disconnect 按钮退出。

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×