arc*_*bit 7 linux usb virtualbox swap external-hard-drive
我在 Debian 上有一个外部 USB 3 硬盘驱动器 USB 3 端口,我想在该驱动器上创建一个交换分区,该驱动器还包含数据库和其他高容量内容的分区。
我的系统是 Debian 7.7.0,在 TS140 盒 16 GB RAM、2x120 SSD 和 2x750 HDD 上通过 Intel BIOS RAID 1。如果 USB 硬盘驱动器不是一个好主意,我应该在哪里放置一些交换?我一直在使用带有单个 HDD 的 Debian 7.6 的同一个盒子一段时间,而且我使用它的方式从不需要交换,所以我什至不确定我是否需要交换分区。我也希望尽快将 RAM 升级到 32 GB。
由于存储升级,服务器上的负载会增加(更多 VirtualBox 客户端),因此我想在安装期间准备一个或多个永久位置以进行交换。如果我也可以为 Windows vbox 客户端使用相同的位置将交换从 C: 移动到那里,那将是一个很好的解决方案!
到目前为止,我不知道要安装多少个 VirtualBox 客户端,以及需要同时运行多少个客户端。我只知道我至少需要一台 Windows 服务器、一台 Windows 7 工作站和一台 Linux 工作站。
编辑:11/15/2014 16:20
瑞尔
你写的是信息的金矿,非常感谢你抽出时间来!!我什至不会质疑你写的任何东西,到目前为止至少有 99% 的内容对我来说是有意义的——到目前为止我只通读了两次,其中部分内容超过了两次。
我想我正在尝试进行的配置(没有优化问题或到目前为止只是为了使其工作)几乎完美地反映了您的建议。迄今为止..
我仍在阅读并试图从您的帖子中获得最大收益,再次 - 谢谢!
我主要是为我的雇主工作,他到今天为止还没有购买并投入使用一些当时最新的产品,并且通过我们的使用证明是地球上最好的技术,但工厂中没有人包括我自己对如何处理这些机器在运行中每(分)秒生成的数据的性质和数量有一点线索。到目前为止,该技术的系统和硬件运行良好并产生膨胀,我们只是无法让他们报告,而且我不知道我应该构建什么来让他们这样做 - 并保持它!我(仍然)对这个项目感到非常困惑。
虽然这里的大多数海报都担心一个数据库中的数百万条记录,但我担心每天每小时由自动光学检测机创建和填充成百上千的数据库,我需要找到一种方法来阅读和保留重要的内容在数据库被删除和检查周期重新开始之前给我的雇主。
是的,我的工程师真的只是一群沮丧的人..再次,真的,感谢您的帮助!桑多
添加:12-03-2014
我的沮丧程度不断上升,直到我最终决定切入正题,专注于必需品。在这里,我希望你们都能受益:如果您买不起一个带有“无限”RAM 的盒子来满足您的需求 - 选择一些便宜的 SSD 来存储 Linux/UNIX 交换和 Windows 页面文件。预算在这些 SSD 出现故障时磨损它们,因此以相同的质量购买它们,并且不要注意您选择的 SSD 的评论,除非您的计划是绝对疯狂。不管你买什么,事实是,SSD 产品总是有一些固有的问题,在这一点上,保持你的理智应该是首要的,是不是?
一旦你沿着这些方向做出了一些艰难的决定,剩下的就很容易了......这最适合实验 - 如果你正在围绕它构建一个真正的生产负载,或者如果你正在考虑将它与高工作负载工作站一起使用 - 你的 ARE 在你的自己的,不要引用我。永远不要考虑将启动 MBR 或 /boot 放在 SSD 或任何 RAID 上。不要将 /home 与 swap 放在同一个 SSD 上 - 哦,天哪!使用它们,磨损它们的 SSD,这样您的钱就物有所值!C: SSD 上的驱动器、/boot 和 /home - 更快的启动是的,但对于任何直接脱离 Twilight Zone 的实验服务器!我有 USB3 HDD 复制器、Linux 引导医生、从 az 覆盖的软件和所有工作,并被信任与“旋转锈”一起工作。我承认他们正在“生锈的信任”,但是……保护您的 C 和 /home。把它们放在旋转铁锈上。不要让新技术愚弄你。请至少考虑再相信一次旋转锈!没什么好说的,祝大家好运!我认为此线程已关闭。- 桑多
有很多事情需要考虑,也许要考虑到您的设置和用例进行测试。
如果 USB HDD 不是一个好主意,我应该在哪里放置一些交换?
简短的回答,是的,您可以在 USB3 硬盘上创建交换分区,但 2x750GB 硬盘可能是放置交换的最安全的地方。
但是,您也可以将交换分区分布在具有不同优先级的所有磁盘上并确定其优先级,以尝试获得最大性能和交换容量。如果您像我一样喜欢过度优化,我建议您尝试以下操作(需要修改 fstab 等):
这样,如果系统 RAM 因大量进程请求 RAM 并被换出而崩溃,则负载会分布在所有磁盘设备上。另请注意,交换优先级基于底层磁盘系统的性能。
接下来我会尝试复习一些详细的推理。
您可能已经阅读了将交换放置在不太繁忙或专用的驱动器上的建议,但它仅适用于苹果与苹果类型的比较,对于混合不同存储介质(如 SSD)的更复杂系统来说,这不是一个准确的规则与 HDD 和接口 SATA 与 USB3。对于您的情况,指导原则应该是平衡 I/O 负载类型并在您期望具有最佳备用/空闲随机 I/O 吞吐量的存储接口类型和驱动器的位置分配 SWAP。那可能是 SSD,但有一个警告......
您在评论中提到 USB3 选项表现不佳,实际上,原因可能是:
如上所述,用于交换的 2 个 HDD 应该比挂在 USB3 上的 1 个 HDD 更好,并且正如将要解释的那样,作为交换使用应该是安全的。
2x SSD 120GB 对交换性能非常有用,但 SSD 寿命是一个需要注意的因素。
考虑到支持多个 VM 等问题,您还应该考虑其他一些调整和选项。
潜在的陷阱:
现代 CPU 对虚拟化 CPU 和内存资源具有良好的硬件支持,但在共享磁盘存储方面,虚拟化工作负载通常会成为瓶颈。Linux(和 Windows)可以通过在 SSD 或 HDD 磁盘设备仍然忙于“追赶”时使用 RAM 来缓存 I/O 操作来提高 I/O 性能。因此,额外的 RAM 不仅可用于运行多个操作系统,还可用于缓存虚拟机 I/O。
如果我也可以为 Windows vbox 客户端使用相同的位置将交换从 C: 移动到那里,那将是一个很好的解决方案!
我不确定这一点,但我的预感是:
如果您的虚拟主机有相当数量的空闲 CPU 内核,那么像 zswap 这样的东西可以很好地工作:
无论如何,这可能不值得付出努力,因为它需要更新的内核,而 Debian 因坚持使用较旧的经过测试和测试的内核而臭名昭著,因此除非您向后移植内核或查看不同的发行版,否则这不是一个简单的选择:例如 Ubuntu 14.04 或CentOS 7 应该提供更新的内核。
在我自己的工作站(Windows 7)上,我使用 fio ( http://www.bluestop.org/fio/ ) 来模拟 MSDN 博客中提到的随机读取和随机写入 I/O 趋势。其他任何想要测试在交换/页面文件工作负载下可以提供哪些不同存储选项的人都可以尝试类似的方法。
在查看来自数千条跟踪的遥测数据并关注页面文件读写时,我们发现
- Pagefile.sys 读取的数量比 pagefile.sys 写入的数量大约为 40 比 1,
- Pagefile.sys 读取大小通常非常小,67% 小于或等于 4 KB,88% 小于或等于 16 KB。Pagefile.sys 写入相对较大,其中 62% 大于或等于 128 KB,45% 正好为 1 MB。
这是我使用的 fio 作业文件:
[global]
description="test random read and write to estimate suitability for page file use"
filename=fakeswap
numjobs=1
iodepth=1
direct=1
sync=1
filesize=2048m
[pageout]
rw=randwrite
bssplit=64k/38:256K/15:1024K/45:4096k/2
[pagein]
rw=randread
bssplit=4K/67:16K/21:64K/10:256K/2
Run Code Online (Sandbox Code Playgroud)
由于 MSDN 博客文章仅简要提及了一些统计数据,因此我对块大小和这些大小的 IO 比例进行了一些有根据的猜测。我使用 bssplit 选项来加权不同的块大小。考虑到我得到的随机读取与写入 IO 的最终比率是 38.5:1,这与博客文章中提到的 40:1 非常接近,我的猜测希望不会太糟糕。
我在基于 AMD SB850 的存储芯片组上运行基准测试,并将它们与 RAM 驱动器的性能进行比较。
请注意,我独立执行随机读取和随机写入基准测试(不是混合,但真实系统可能会看到混合模式 - 我有兴趣比较读取/分页与写入/分页,因此我将其分开)。例如我使用的命令是:
fio --section=pageout --output raid10_hdd4_pageout_2G.txt page2g.fio
fio --section=pagein --output raid10_hdd4_pagein_2G.txt page2g.fio
Run Code Online (Sandbox Code Playgroud)
运行基准测试后,他们证实了我自己的怀疑,即 USB3 闪存驱动器(注意,不是 USB3 上的硬盘)可以在小随机 I/O 下表现得相当好。然而,事实证明,对于延迟时间非常不稳定的较大随机写入块,它并不是那么好。
下图显示了在 2G 交换空间中换页和换页所需的时间以及用于分页的代表性/估计随机 I/O 模式
我还查看了平均吞吐量并将其与 RAM 的吞吐量进行了比较 - 它给出了系统何时必须使用交换的情况有多糟糕的想法;-)

进一步观察
警告- 不建议将交换/页面文件放在 USB 闪存驱动器上
最后几个笔记
更多阅读(抱歉,我会发布更多链接,但我刚刚注册,超级用户还不信任我)
| 归档时间: |
|
| 查看次数: |
7457 次 |
| 最近记录: |