我相信我们遇到了 GTX 1080(驱动程序)和 PCI Passthrough 的可能错误。
我的主机是 Ubuntu 14.04 系统。我的来宾是 Ubuntu 14.04/16.04 系统(两者都做同样的事情)。
我可以在来宾 VM 中看到设备:
$ lspci -vnn | grep VGA
00:05.0 VGA compatible controller: NVIDIA Corporation Device 1b80 (rev a1)
Run Code Online (Sandbox Code Playgroud)
我能够成功安装驱动程序(370.2,最新驱动程序)。它安装,但不被识别nvidia-smi
:
$ nvidia-smi
Unable to determine the device handle for GPU 0000:00:05.0: Unknown Error
Run Code Online (Sandbox Code Playgroud)
查看dmesg
我看到以下错误消息
[29.535583] nvidia 0000:00:05.0: irq 45 for MSI/MSI-X
[29.577727] NVRM: RmInitAdapter failed! (0x23:0x56:458)
[29.577807] NVRM: rm_init_adapter failed for device bearing minor number 0
Run Code Online (Sandbox Code Playgroud)
我可以将 GTX 1080 换成不同的卡(M4000,在来宾上执行直通和安装驱动程序)并且它可以工作。明天我将尝试使用另一张 Geforce 卡。
在你把你的干草叉拿出来之前,我在追踪内存进入 Linux 缓存系统的位置时遇到了麻烦。我看到Linux 吃掉了我的 RAM!,以及如何通过实际内存使用情况查看顶级进程?,并正确确定 Linux 中的内存使用情况,但以这些为例,这些数字与我在系统上看到的数字并不完全相同。
对于这个系统,我知道它可能被“缓存”,或者被程序使用,但这些数字对我来说甚至还没有接近加起来。
在上面我看到了。
top - 09:04:09 up 19 days, 20:38, 2 users, load average: 0.00, 0.10, 0.11
Tasks: 160 total, 1 running, 159 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 65974296k total, 43507804k used, 22466492k free, 305336k buffers
Swap: 7548924k total, 0k used, 7548924k free, 1480836k cached
Run Code Online (Sandbox Code Playgroud)
我明白了,“使用”的 43GB 内存并不是真的,可能大部分都被缓存了。所以深入研究我跑了:
$ free -m
total used free shared buffers cached
Mem: …
Run Code Online (Sandbox Code Playgroud) 我们使用 rsync 来同步两个 NFS 服务器的数据。一台 NFS 服务器位于东海岸,另一台位于西海岸。RTT约为110ms。
在东海岸 NFS 服务器上,我安装了西海岸 NFS 服务器安装点。
<server>:/home/backups on /mnt/backups type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,clientaddr=x.x.x.x,local_lock=none,addr=y.y.y.y)
。
数据已经在两台服务器上,只是为了验证数据(例如同步文件夹以及何时不需要更改)。以下是验证 7GB 文件夹的东海岸服务器与西海岸服务器相同所需的时间。
以下大约需要8分钟才能完成超过7GB的数据。
rsync -r -vvvv --info=progress2 --size-only /<local_path>/ /<remote_path>/
以下(避免使用NFS挂载)大约需要15秒才能完成超过7GB的数据(同上)。
rsync -r -vvvv --info=progress2 --size-only /<local_path>/ <user>@<west_cost_NFS>:/<remote_path>/
同样,上面的内容不会移动任何数据,因为文件夹已经同步,它只是验证数据是否相同(基于文件的大小)。
我尝试-o async
在客户端和服务器上使用,但当我在客户端上运行“mount”时,/etc/exports
async
客户端永远不会显示。async
我认为async
是默认的。我尝试过将 rsize、wsize 也更改为更大的值,但性能并没有变得更好。我是否完全可以从 NFS 中获得更好的性能?
这可能是一个愚蠢的问题,但是当系统需要使用 ssh 密钥时,应该采取什么过程将用户添加到系统并为他们提供访问权限?
例如,在不需要密钥的系统上(可以接受密码),我可以添加用户,设置临时密码并要求他们在下次登录时更改密码(这不是问题)。
在需要密钥才能访问的系统上,而用户没有密钥对,为某人提供访问权限的正确程序是什么?根据我的理解,私钥永远不应该离开系统,如果我为它们生成一个,我需要将密钥对发送给他们,以便他们可以登录,这违背了建议。
是否有“首次登录时,创建 ssh 密钥对”选项?或者我应该让用户生成一个密钥对并让他们向我发送他们的公钥?