• Welcome to LiuJason's Blog!

使用SSHFS挂载远程VPS目录并设置开机启动 ISCSI|NFS|Samba替代方案 CentOS7 为例

Coding Projects Jason 6 years ago (2018-11-27) 1286 Views 1 Comments QR code of this page

前两天买了Virmach的VPS,价格只要40USD一年,配置能把人吓到:

KVM|8Core CPU|16G Ram|10G SSD|8T@1G Bandwidth|LA/US

是的,没有看错,就是这种奇葩配置Orz 如此性能配10G的硬盘我也是服气了。但是价格这么低还有什么好抱怨的呢?拿来跑Mysql5.7都妥妥的了,而且正好我也缺个稳定的数据库,之前用别人阿里云账号买的RDS忘记续费而且又没有备份导致上一个博客blog.liujason.com的完全死掉(还好七牛有CDN缓存,现在只能靠快照过活)。

10G的SSD来做数据库的存储对于我来说足够了,但是这个性能不用来跑个php实在浪费,而且我的Web服务器半年后到期了再续费20USD每年感觉不划算,不如凑一凑就用这个同时做Web服务器吧。然而最大的问题就是硬盘太小了!

正好又碰上Virmach家的黑五闪购,8USD一年50G SSD的同机房(洛杉矶)VPS,于是果断购入当作储存扩展。一开始想了其他的解决方案,包括ISCSI、NFS、Samba等储存共享方案,然而奈何是OVZ构架(坑啊!)内核版本又只有2.X(大坑啊!)不支持ISCSI。对于NFS我也是尝试过,一开始手动挂载都是正常的,然而NFS服务端只要已重启就会直接卡机卡死,无法SSH只能硬重启。Samba不选择主要是安全性和读写性能的问题,具体可以去google一下相关的测评和对比。无意中在LowEndTalk上看到有人建议用SSHFS,这是我第一次听说这个协议,去查了一下发现非常的靠谱啊!免服务端的配置呢!OpenVZ什么的也完全不用担心了呢!于是按照教程直接测试:嗯!挂载没问题!掉线没问题!不会卡死!

但是问题来了,要如何开机自动挂载呢?查了一下并没有中文的文章教程,那么我来写一下吧。

【干货来了】:

1 首先要安装SSHFS和FUSE在CentOS上:

yum install fuse-sshfs -y

2 安装完之后测试一下能不能正常挂载

echo mypassword | sshfs [email protected]:/ ~/mounts/mysite -o workaround=rename -o password_stdin -o allow_other

这里简单解释一下sshfs的参数选项吧,具体的大家直接--help吧
mypassword改成目标服务器的ssh密码
myuser改成用户
liujason.com改成ip或者域名
:后面的/改成目标服务器的路径
~/mounts/mysite改成你想要挂载的路径

3 如果成功挂载了的话(用df查看一下挂载上去没有)就可以进行下一步了,也就是设置开机启动

#首先创建一个sh脚本,并且赋予运行权限
touch /opt/mount.sh && chmod +x /opt/mount.sh
#然后把之前跑过的挂载命令输入进去(有两个echo哦,没有打错)
echo echo mypassword | sshfs [email protected]:/ ~/mounts/mysite -o workaround=rename -o password_stdin -o allow_other >> /opt/mount.sh
#之后吧脚本写入rc.local中,设置开机完成后自动运行
echo sh /opt/mount.sh >> /etc/rc.local

完成!之前我踩过的坑:有人直接写入挂载信息(fstab)里,据说有人成功过,我怀疑!因为fstab是在启动完全完成之前做的,这时候网络并没有加载好啊!怎么可能能挂载成功呢?

总之就是这样,测试了一下运行wordpress什么的还是很稳定的(本博客现在就运行在SSHFS盘上),有什么问题欢迎留言,我看到会回复的。


This article is under CC BY-NC-SA 4.0 license.
Please quote the original link:https://www.liujason.com/article/118.html
Like (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽