有时,工程部门或支持部门可能会提供或请求必须传输到 NetWorker 系统或从 NetWorker 系统传输的文件。在某些问题或配置下,可能无法将文件复制到 NetWorker 系统或从 NetWorker 系统拷贝文件的某些选项。本文旨在帮助提供有关在 Linux NetWorker 服务器上或在 Linux NetWorker 服务器上获取文件的各种选项,包括 NetWorker Virtual Edition (NVE) 一体机。
Windows 11 和 Windows Server 2019(或更高版本)具有命令行 SCP 功能。您可以使用以下命令将文件从 Windows 系统 SCP 传输到 Linux 服务器:
scp FILE USER@HOSTNAME:/PATH/TO/PUT/FILE
还有一些图形用户界面工具,可用于将文件从 Windows 系统 SCP 传输到 Linux 系统(例如:WinSCP、FileZilla)。可以安装这些 Windows 应用工具,并使用 SSH 或 SCP 连接到 Linux NetWorker 服务器,以便将文件复制到/从中拷贝文件。此方法使用从 SCP 代理连接到 Linux 系统时指定的用户帐户的 Linux 用户权限。此方法要求 NetWorker 服务器上运行 SSHd 服务。
/etc/ssh/sshd_config
使用具有“拒绝访问”的 root 帐户的 SSH 或 SCP 连接失败的文件。
如果无法通过 SSH 访问 NetWorker 服务器,您可以为 NetWorker 服务器创建 NetWorker 客户端,因为存储集指定您需要拷贝的文件。对新创建的客户端执行备份;然后将文件执行到 SSH 工作的不同目标 Linux 系统的 FLR。这些文件可以是目标系统中的 SCP 文件,也可以是从 CIFS 共享复制到 Windows 系统(如果已配置)。此方法还可用于 NetWorker 服务器上所需的 FLR,方法是在远程 Linux 客户端上备份所需的文件,然后对 NetWorker 服务器执行 FLR。
根据特定的 Linux 发行版,安装 NFS 可能会有所不同。此操作只能由终端用户执行;本文仅提供基本的 NFS 说明,有关更多信息,请参阅适用于 Linux 操作系统的 NFS 说明。NFS 允许您在两个 Linux 系统之间拷贝文件。
要确认从中复制文件的系统上是否正在运行 NFS,请运行以下命令:
rpcinfo -p | grep nfs
输出应显示:
100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 3 tcp 2049 nfs_acl
如果 NFS 正在运行,请执行以下操作:
sudo mkdir /mnt/nfsshare
cp
命令。sudo chown -R nobody: /mnt/nfsshare
sudo chmod -R 777 /mnt/nfsshare
/etc/exports
文件以包含装载点和访问信息:语法: /mnt/nfsshare NETWORK-IP-ADDRESS/NETMASK(rw,sync,no_all_squash,root_squash)
示例:
[root@linuxserver ~]# cat /etc/exports /mnt/nfsshare 192.168.0.0/24(rw,sync,no_all_squash,root_squash)
sudo exportfs -arv
您可以通过以下方式显示共享:
sudo exportfs -s
从 NFS 客户端系统中,确认您可以通过端口 2049 访问 NFS 服务器:
curl -v NFS-SERVER-NAME:2049
[root@linuxserver ~]# curl -v nsr:2049 * Rebuilt URL to: nsr:2049/ * Trying 192.168.0.5... * TCP_NODELAY set * Connected to centos8 (192.168.0.5) port 2049 (#0) ... Removed for brevity
如果连接超时或被拒绝,请解决源/目标 NFS 系统上或源/目标 NFS 系统之间的任何防火墙连接问题。
sudo mkdir /tmp/mnt
sudo mount -t nfs NFS-SERVER-IP:/mnt/nfsshare/ /tmp/mnt
ls -l /tmp/mnt
[root@linuxserver ~]# ls -l /tmp/mnt total 0 -rwxrwxrwx 1 nobody nobody 0 May 20 10:13 somefile1 -rwxrwxrwx 1 nobody nobody 0 May 20 10:13 somefile2
cp /tmp/mnt/* .
如果 Linux 系统上安装了 CIFS /SMB,您可以在 Windows 系统和 Linux NetWorker 系统之间拷贝所需的文件。此配置只能由终端用户执行。本文仅提供基本的 CIFS/SMB 说明;有关更详细的说明,请参阅适用于您的特定 Linux 操作系统的 CIFS/SMB 说明。要检查 SMB 服务是否正在运行,您可以运行:
sudo systemctl status smb
该 sudo testparm
命令显示如何配置 SMB,例如:
[root@linuxserver ~]# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] dns proxy = No map to guest = Bad User security = USER server string = Samba Server %v workgroup = EMCLAB idmap config * : backend = tdb [Share] guest ok = Yes path = /mnt/samba read only = No
显示的配置文件可以通过以下命令进行修改: sudo vi
(这需要重新启动 SMB 服务)。该文件应包含作为工作组的域名、Linux NetWorker 服务器的 netbios 名称以及共享目录的配置参数:
[root@linuxserver ~]# cat /etc/samba/smb.conf [global] workgroup = amer server string = Samba Server %v netbios name = linuxserver security = user map to guest = bad user dns proxy = no [Share] path = /mnt/samba browseable = yes writeable = yes guest ok = yes read only = no
如果 SMB 正在 NetWorker 系统上运行,请执行以下操作:
sudo mkdir /mnt/samba
/mnt/samba dir
使用 Linux cp
命令。sudo chown -R nobody: /mnt/samba
sudo chmod -R 777 /mnt/samba
sudo systemctl restart smb
这使用 Linux 服务器的 netbios 名称和 [共享] 名称 /etc/samba/smb.conf
文件。
要在不具有 SSH 访问权限的情况下将文件拷贝到 NetWorker 服务器,您可以创建一个可装载的 ISO,其中包含 NetWorker 服务器上所需的文件。ISO 的装载方式可能因服务器后端而异,以下示例将覆盖 VMware VM NetWorker 服务器。此方法是“只读”的,因此只能用于将文件拷贝到 NetWorker 服务器。
mkdir /tmp/mnt
mount /dev/cdrom /tmp/mnt
cp /mnt/cdrom/* .
您还可以使用 PowerCLI cmdlet Copy-VMGuestFile
将文件从 Windows 系统复制到部署在 VMware 中的 Linux NetWorker 系统。本文提供有关使用 PowerCLI 的基本说明。请参阅有关 PowerCLI 的 Microsoft 文档和 Copy-VMGuestFile
了解更多详细信息。
有关安装 PowerCLI 的说明,请参阅 VMware 文档:https://developer.broadcom.com/powercli/installation-guide
如果已安装 PowerCLI,请执行以下操作。
Connect-VIserver
PS C:\Users\Administrator> Connect-VIServer cmdlet Connect-VIServer at command pipeline position 1 Supply values for the following parameters: Server[0]: vcenter.amer.lan Server[1]: Name Port User ---- ---- ---- vcenter.amer.lan 443 VSPHERE.LOCAL\bkupadmin
Connect-VIServer
命令失败并显示 SSL 错误;(可选)可以忽略此设置:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Copy-VMGuestFile
cmdlet 将所需文件拷贝到 Linux NetWorker 系统:Copy-VMGuestFile -Source PATH-TO-NEEDED-FILE -Destination PATH-ON-TARGET -VM VM_NAME -LocalToGuest -GuestUser TARGET-USER -GuestPassword TARGET-USER-PASSWORD
PS C:\Users\Administrator> Copy-VMGuestFile -Source "C:\Share\somefile1" -Destination "/tmp/somefile1" -VM LINUXVM -LocalToGuest -GuestUser root -GuestPassword 'Pa$$w0rd01' PS C:\Users\Administrator>
[Copy-VMGuestFile], NoPermission
则步骤 1 中使用的 VMware 用户帐户无权执行此操作。确保为用户帐户分配包含 VirtualMachine.GuestOperations.Query 权限的角色。这可以通过 vSphere Client 完成。
[root@linuxserver ~]# ls -l /tmp total 0 -rw-r--r--. 1 root root 0 May 20 12:32 somefile1