这还没有发生在我身上,但如果我把一个SSD (非RAID)专用于交换,而服务器系统正在使用它的全部容量--接下来会发生什么?假设我手上有一个相同的,经过测试和工作的SSD,我如何恢复,咬我的指甲来处理它?
让我们假设我有一个使用xfce运行最新XUbuntu的32 us内存服务器。除此之外,我还运行着Oracle4.3.20 VirtualBox (vbox),这里有许多Windows和Linux服务器和客户端。
我知道有几种情况。
场景A:我与vbox客户端的交换文件和Windows的页面文件共享XUbuntu主机使用的SSD交换驱动器。
场景B:我将XUbuntu主机与VirtualBox隔离开来:我的vbox客户端从不使用托管Linux的SSD驱动器进行交换。相反,我重新启动虚拟客户端以使用更多的物理资源。
场景C:我从不允许任何vbox客户端超过32 go的一半,我强迫vbox客户端使用他们自己的虚拟交换。
不管情况如何,SSD现在已经消失了,我需要处理它。
我非常想使用场景A,因为它是最适合交换和页面文件的驱动器,但是如果从这种故障中恢复是复杂的或不可能的,请告诉我。B和C是安全的,但非常有限。
再说一次,这只是一种情况,我还没有遇到这种情况。感谢您的阅读!
发布于 2015-01-04 10:07:13
Linux可以使用多个交换分区或交换文件,因此,如果您担心SSD将耗尽空间,只需使用一个备用交换分区或文件即可。通常,交换使用会交织在所有可用的交换设备和文件中,但是您可以重写为交换设备分配优先级的内容。
来自http://linux.die.net/man/8/swapon
-p,-优先级指定交换设备的优先级。优先级是0到32767之间的值。数字越高,优先级越高。有关交换优先级的完整描述,请参见swapon(2)。将
pri=value添加到/etc/fstab的选项字段中,以便与swapon -a一起使用。
来自http://linux.die.net/man/2/swapon
交换页按优先级顺序从区域分配,最高优先级优先。对于具有不同优先级的区域,高优先级区域在使用低优先级区域之前已经耗尽.如果两个或多个区域具有相同的优先级,并且它是最高的可用优先级,则在它们之间按循环分配页面。
因此,只需使SSD上的主交换分区/文件具有相同的优先级,并将普通HD上的“紧急”交换赋予较低的优先级。
IIRC,使用交换分区比交换文件更有效率;OTOH,使用文件稍微灵活一些,额外的开销也很小,但我想在使用SSD而不是传统的HD时,这种细微的速度差异可能更明显,因为SSD太快了。
FWIW,如果您正在使用hibernation,那么在不同的OSes之间共享交换空间不是一个好主意!
https://unix.stackexchange.com/questions/177308
复制相似问题