CentOS 7 在VM里修改SWAP遇到swapon failed invalid argument


本人之前安装CentOS 7学习Oracle的时候,发现初始安装配置的swap小了(因为懒,全部选择的默认安装 T。T),为了不浪费时间重装一次,就去找了下如何修改swap配置。

根据度娘出来的帖子内容,fallocate 创建新swap文件之后,mkswap 也很正常,然而,swapon 出现了问题

[root@oracle ~]# swapon /swapfile
swapon: /swapfile: swapon failed: Invalid argument

这个错误是fallocate造成的,如果使用dd 来创建新swap文件,mkswap之后就没有这个问题

[root@oracle ~]# dd if=/dev/zero of=/swapfile bs=1024 count=4194304
[root@oracle ~]# mkswap /swapfile
[root@oracle ~]# swapon /swapfile
[root@oracle ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3933        1524         124          48        2285        2038
Swap:          8191          16        8175

在GitHub上找到了关于这个问题的一个帖子,其中,作为fallocate的contributor,Andrew Gross也参与了讨论。https://github.com/sous-chefs/swap/issues/5

这是fallocate对于xfs支持的问题,根据Andrew Gross自己的测试,fallocate对于ext4各版本的支持都没什么问题,但是对于老版本xfs的支持则不那么好了。

然而在原帖里可以发现,实际上现在对于高版本的xfs也已经支持不那么好了,我的xfs版本如下。

[root@oracle ~]# yum list installed | grep xfs
xfsdump.x86_64                          3.1.7-1.el7                    @anaconda
xfsprogs.x86_64                         4.5.0-15.el7                   @anaconda

总结:

综上所述,遇到这种问题的时候,用dd吧,虽然时间是比fallocate要长一点。最好的解决办法,就是在安装和部署任何应用之前,还是把sizing提前做好吧。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM