将 Linux 或 UNIX 系统连接到网络附加存储设备
网络附加存储 (NAS) 允许使用 TCP/IP 网络备份文件。这使 IDC 中的多台服务器可以同时共享相同的存储进行备份,从而通过集中管理硬盘最大限度地减少开销。NAS 是一种可扩展的高性能网络解决方案。主要优势是可以在已经使用服务器的网络中增加更多硬盘存储空间,而无需关闭服务器进行维护和升级。
请注意,NAS 不仅在 IDC 或办公室中很常见,您还可以在家中使用它进行文件共享和备份。如今,您可以花不到 200 美元购买 200+GB 的 NAS。就我个人而言,我在家里使用 Maxtor ShareStorage 200GB 网络附加存储。这是将 Linux 或 UNIX 系统连接到 SAN 进行备份或共享文件的分步指南。
NAS 使用的协议是基于文件的协议,例如 NFS 或 Microsoft 的通用 Internet 文件系统 (CIFS)。它们都允许使用 UNIX 和 Linux 服务器或 Windows 2003 服务器存储备份。
然而,许多新的 Linux 或 UNIX 系统管理员发现使用 NAS 备份很困难。以下是大多数新手会发现有用的快速实用技巧。
(A)使用 NAS 的 IP 地址。如果您没有正确配置 SAMBA 服务器,则很难解析主机名。IP 地址将节省您的时间。
(B)如果您使用 IPTABLES 或 PF 防火墙,请确保防火墙和 NAS 备份服务器之间打开以下 UDP/TCP 端口:
- TCP 21 (FTP)
- TCP 20 (ftp 数据)
- TCP/UDP 137(NETBIOS 名称服务,又名 netbios-ns)
- TCP/UDP 138(NETBIOS 数据报服务,又名 netbios-dgm)
- TCP/UDP 139(NETBIOS 会话服务,又名 netbios-ssn)
- TCP/UDP 445(Microsoft Naked CIFS 又名 microsoft-ds)
示例网络图
以下是我们设置的示例网络图:
+-------------+ +-------------+ | | | | | N A S |<=============>| Linux/ | | | | UNIX | IP:202.54.20.111 IP:202.54.1.13
Iptables 配置
使用 iptables 发送 FTP 客户端请求(假设您的服务器 IP 是 202.54.1.13,NAS IP 是 202.54.20.111)。将以下 iptables 规则附加到您的脚本:
iptables -A 输出 -p tcp -s 202.54.1.13 –sport 1024:65535 -d 202.54.20.111 –dport 21 -m state –state 新建,已建立 -j 接受
iptables -A 输入 -p tcp -s 202.54.20.111 –sport 21 -d 202.54.1.13 –dport 1024:65535 -m state –state 已建立 -j 接受
iptables -A 输出 -p tcp -s 202.54.1.13 –sport 1024:65535 -d 202.54.20.111 –dport 1024:65535 -m state –state已建立,相关 -j 接受
iptables -A 输入 -p tcp -s 202.54.20.111 –sport 1024:65535 -d 202.54.1.13 –dport 1024:65535 -m state –state 已建立 -j 接受
NETBIOS/CIFS 传出客户端请求
请将以下规则添加到您的 iptables 脚本中:
iptables -A 输出 -p udp -s 202.54.1.13 –sport 137 -d 0/0 –dport 137 -j 接受
iptables -A 输出 -p udp -s 202.54.1.13 –sport 138 -d 0/0 –dport 138 -j 接受
iptables -A 输出 -p tcp -s 202.54.1.13 –sport 1024:65535 -d 202.54.20.111 –dport 139 -m state –state NEW,ESTABLISHED -j 接受
iptables -A 输入 -p udp -s 202.54.20.111 –sport 137 -d 202.54.1.13 –dport 137 -j 接受
iptables -A 输入 -p udp -s 202.54.20.111 –sport 138 -d 202.54.1.13 –dport 138 -j 接受
iptables -A 输入 -p tcp -s 202.54.20.111 –sport 139 -d 202.54.1.13 –dport 1024:65535 -m state –state ESTABLISHED -j 接受
请注意,配置防火墙时,高阶端口 (1024-65535) 通常用于传出连接,因此应允许通过防火墙。除了已建立的连接外,阻止高阶端口上的传入数据包是明智的做法。这就是您在上述 FTP 和 CIFS 客户端请求中所做的。
如何使用 FTP 访问 NAS 服务器?
您需要使用 UNIX/Linux 或 Windows 自带的 Internet 文件传输程序 (FTP)。大多数服务提供商将为您提供:
- NAS 服务器 IP(例如 202.54.20.111 / nas.myserviceprovider.com)
- NAS FTP 用户名(例如)
- NAS FTP 密码(例如 mySecret)
假设您有一个名为 mysqldump.tar.gz 的文件。您可以使用以下 ftp 命令将此文件放到 NAS 备份服务器:
$ ftp nas.myserviceprovider.com
或者
$ ftp 202.54.20.111
输出:
Username: example Password: mySecret ftp> bin 200 Type set to I. ftp> prom Interactive mode off. ftp> put mysqldump.tar.gz ftp> quit
如何使用 SAMBA 客户端访问 NAS 服务器?
确保已安装 samba 客户端。使用 apt-get 或 up2date 命令安装 SAMBA 客户端。
a)创建目录
# mkdir /备份
b) 挂载远程 NAS 共享(注意:必须在一行上输入以下命令)
# mount -t smbfs -o 用户名=示例,密码=mySecret //202.54.20.111/共享名/备份
或者
# smbmount -o 用户名=示例,密码=mySecret //202.54.20.111/共享名/备份
出于安全原因,您可以跳过密码选项(samba 将提示您输入密码)。
c)使用cp命令复制文件:
# cp sitebackup.tar.gz /备份
d) 您可以使用 /backup 目录使用 mysql 脚本或备份 shell 脚本转储备份。
FreeBSD 用户须知
如果您想从 FreeBSD 访问 NAS 服务器,请使用以下命令(注意:您必须在一行上输入以下命令):
# mkdir /backup
# mount_smbfs -I 202.54.20.111 //示例@202.54.20.111/共享名 /backup
输出:
Password:
相关前文
已更新以提高准确性。