当前位置:首页 > 服务器 > 正文内容

免费给VPS扩容75G数据盘

2年前 (2023-04-30)服务器

具体思路

实际上,我们很常见的是把s3存储桶挂载到本地,不过这次,我们使用工具s3fs( https://github.com/s3fs-fuse/s3fs-fuse ),它可以实现通过 FUSE 挂载 S3 存储桶到Linux,macOS等!

于是,我就想到找免费的s3,然后挂载到我们的vps上,既可以当做vps扩容存储,也可以当成安全备份空间,一举两得。

理论上,所有s3协议的存储桶都可以使用这种方法挂载到vps或者本地!

工具和原材料

本次教程,我使用Debian 10系统的vps,加上Scaleway(https://console.scaleway.com/register)提供的免费对象存储75G;

我自己的API在书签上
Scaleway.png

Scaleway的总公司是online,2002年初创,有欧洲3家数据中心(巴黎、阿姆斯特丹、华沙),它比较特色的服务是可以直接创建苹果M1芯片的远程主机 €0.11/小时;Scaleway自称对象存储服务器位于地下 25 米的防辐射避难所中,那我就感觉:非常安全——于是,本次我就选择了Scaleway!

Scaleway的注册需要信用卡,要支持欧元消费,没有信用卡可以参考我的文章:虚拟卡 和 实体卡,再没有你还可以考虑 Oracle免费20G的s3、AWS免费5G的S3等等。

操作步骤

1、在Scaleway创建存储桶;


(注册需要信用卡验证,扣款1欧元后,自动返还,可以在信用卡账单明细查询验证码4位数)
创建对象存储.png

需要注意: 存储桶名称要记录;地区不要选择巴黎;可见性选择:公开!

2、在Scaleway创建APIkey;

apikey.png
access.png

需要注意: 创建apikey时候,持有者是IAM,过期时间:永不过期,是否用于对象存储:我们选择 点击生成密钥以后,Access Key 和 Secret Key一定要复制保存好,这玩意儿只显示一次!

3、vps内操作:

apt update && apt install -y s3fsecho "user_allow_other" >>/etc/fuse.confmkdir -p /ossecho ACCESS_KEY:SECRET_KEY > ~/.passwd-s3fschmod 600 ~/.passwd-s3fs

ACCESS_KEY:SECRET_KEY要修改成你的!

(yum update && yum install -y s3fsecho "user_allow_other" >> /etc/fuse.confmkdir -p /ossecho SCWHP8VNS0SN4J5BEHET:083ea998-161c-4216-b956-1ceca8612207 > ~/.passwd-s3fschmod 600 ~/.passwd-s3fs)


yum update && yum install -y s3fs

echo "user_allow_other" >> /etc/fuse.conf

mkdir -p /oss

echo SCWHP8VNS0SN4J5BEHET:083ea998-161c-4216-b956-1ceca8612207 > ~/.passwd-s3fs

chmod 600 ~/.passwd-s3fs



apt update && apt install -y s3fs

echo "user_allow_other" >>/etc/fuse.conf

mkdir -p /oss

echo SCWHP8VNS0SN4J5BEHET:083ea998-161c-4216-b956-1ceca8612207 > ~/.passwd-s3fs

chmod 600 ~/.passwd-s3fs






s3fs BUCKET_ID /oss -o allow_other -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=BUCKET_REGION -o parallel_count=15 -o multipart_size=128 -o nocopyapi -o url=https://s3.BUCKET_REGION.scw.cloud

s3fs 此处求改为(BUCKET_ID) /oss -o allow_other -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=pl-waw -o parallel_count=15 -o multipart_size=128 -o nocopyapi -o url=https://s3.pl-waw.scw.cloud


https://q此处求改为(BUCKET_ID).s3.pl-waw.scw.cloud 



BUCKET_ID修改成存储桶名称,有两处BUCKET_REGION修改成你的!在

Bucket Endpoint中我们可以定位到存储桶的区域,阿姆斯特丹是 nl-ams 华沙是 pl-waw

下面,检查vps是否已经挂载了存储桶;

df -h

这里会显示有256T空间,但是不要太高兴了,我们能用的只有75G,超出按月收费呀,0.01欧/1G/月!(这里更正一下华沙的是16E的空间,超出部分收费相当于100G空间1个月1欧元,也很贵)

4、至此,我们完成挂载了,可以试试硬盘的速度了!需要说明的是经过dd测试,挂载的存储桶会因为块大小的不同有明显的速度瓶颈,最低13M/s,最高39M/s,没法像本地设备一样读写,也要被网速和延迟所限制。


所以,若你想把网站文件放在存储桶那么速度会稍稍有些慢,举例来说用美国的vps和欧洲的对象存储,要走小半个地球呢。如果你把存储桶作为备份盘,那非常可以。还能搞个定时备份,而且存储桶与vps是分离的,vps损坏都没关系,我们可以远程下载你存储桶内的文件,这一点我感觉是本期视频的亮点。

5、我们还要设置开机启动,如果你需要的话!

apt install -y supervisor
systemctl enable supervisor
vi /etc/supervisor/conf.d/s3fs.conf

然后添加下面代码:

[program:s3fs]command=/bin/bash -c "s3fs vps-mount-amsterdam /oss -o allow_other -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=Bnl-ams -o parallel_count=15 -o multipart_size=128 -o nocopyapi -o url=https://s3.nl-ams.scw.cloud"directory=/ 
autorestart=truestderr_logfile=/supervisor-err.logstdout_logfile=/supervisor-out.loguser=rootstopsignal=INT

注意:双引号内部内容与手动挂载一致!!然后可以重启一下看看效果!

开机启动为乌班图系统,我用的是CENTOS系统,下面是CENTOS的具体方案:

  • s3fs qiushuichangtian /oss -o allow_other -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=pl-waw -o parallel_count=15 -o multipart_size=128 -o nocopyapi -o url=https://s3.pl-waw.scw.cloud
    这条命令怎么能实现每次开机启动就自动执行
  • 要在CentOS上实现开机自动执行命令,您可以按照以下步骤进行操作:

    1. 创建一个新的Shell脚本文件,例如 mount-s3fs.sh

      复制sudo nano /usr/local/bin/mount-s3fs.sh
    2. 在文件中添加要执行的命令,例如:

      复制#!/bin/bash
      /usr/local/bin/s3fs qiushuichangtian /oss -o allow_other -o passwd_file=~/.passwd-s3fs -o use_path_request_style -o endpoint=pl-waw -o parallel_count=15 -o multipart_size=128 -o nocopyapi -o url=https://s3.pl-waw.scw.cloud

      这将创建一个名为 mount-s3fs.sh 的Shell脚本文件,它将执行您的 s3fs 命令来挂载S3存储桶到 /oss 目录。

    3. 保存并关闭文件。

    4. 将脚本文件设置为可执行:

      复制sudo chmod +x /usr/local/bin/mount-s3fs.sh
    5. 创建一个新的Systemd服务文件,例如 mount-s3fs.service

      复制sudo nano /etc/systemd/system/mount-s3fs.service
    6. 在文件中添加以下内容:


      [Unit]
      Description=Mount S3FS on boot
      After=network.target

      [Service]
      Type=simple
      ExecStart=/whh/mount-s3fs.sh

      [Install]

      WantedBy=multi-user.target

      这将创建一个名为 mount-s3fs 的Systemd服务,它将在系统启动时自动执行 /usr/local/bin/mount-s3fs.sh 脚本文件。

    7. 保存并关闭文件。

    8. 重新加载Systemd守护程序以加载新的服务文件:

      复制sudo systemctl daemon-reload
    9. 启用新的Systemd服务以在系统启动时自动运行:

      复制sudo systemctl enable mount-s3fs


文件在哪?

上面我们把s3挂载到vps上,可以通过ftp,sftp上传和下载文件,考虑到对象存储的安全性,所以我们不得不牺牲了一些速度,不建议用这个方法直播,视频文档放在存储桶推流会出现卡顿。最后,我们备份的文件都可以在Scaleway对象存储后台看到并下载。

进阶玩法(进阶玩法楼主没有测试,楼主是超级老白)

我现在想到的就是实现自动备份网站的文件和数据库,具体实现的方法如下:

1、写backup.sh如下:

user=数据库用户名
key=数据库密码
dbname=数据库名称date=$(date +%Y%m%d);
bak=${dbname}_${date};
mysqldump -u$user --password="${key}" ${dbname} > /root/${bak}.sql
tar czvf /root/${bak}.zip /www/wwwroot/你的网站路径mv *.sql *.zip /oss

2、chmod u+x backup.sh

3、添加定时任务:

crontab -e

添加:

30 10 * * * /root/backup.sh

保存,然后查看任务

crontab -l

没问题的话,每天10:30分,服务器将自动打包网站文件和数据库,然后把备份的文件发送到/oss也就是我们挂载的数据库里,这下安全了吧。


扫描二维码推送至手机访问。

版权声明:本文由私人专用发布,如需转载请注明出处。

本文链接:http://zb.openface.cc/?id=22

分享给朋友:

“免费给VPS扩容75G数据盘” 的相关文章

Cockpit - 一款开源免费的 Linux 图形化监控工具

Cockpit 是一个交互式服务器管理界面。它易于使用且非常轻巧。 Cockit 通过浏览器中的真实 Linux 会话直接与操作系统交互。🌏 官网地址🌏 GitHub 地址功能检查和更改网络设置配置防火墙管理存储(包括 RAID 和 LUKS 分区)创建和管理虚拟机下载并运行容器...

一键脚本backtrace 三网回程路由测试

curl https://raw.githubusercontent.com/zhanghanyun/backtrace/main/install.sh -sSf | sh...

Docker-搭建一个网页版的WebSSH工具-简易版应急

那么今天就给大家介绍一个web版的ssh和sftp工具这是作者GitHub地址:https://github.com/Jrohy/webssh这是作者DockerHUB 链接:https://hub.docker.com/r/jrohy/websshDemo:https://webssh.ywsj....

2023最新VPS流媒体一键解锁检测脚本能检测是否支持Chatgpt

1、RegionRestrictionCheckRegionRestrictionCheck检测脚本能够检测的流媒体项目比较多,且支持Docker运行,杜绝污染VPS服务器,检测流媒体除了主流的Netflix、Disney+、YouTube Premium,还可以支持检测Dazn、Viu TV、4G...

宝塔面板不显示新挂的磁盘或数据盘

刚开始购买的云服务器选择的是40G的硬盘,后买由于数据量偏大,在服务器上新挂了一块100G的磁盘,但是宝塔面板还是无法显示,新购买的磁盘还是不能用,怎么解决?下面给您分享一下方法。用putty连接服务器,或者使用其他工具连接也行,只要是 ssh链接服务器就行,连接成功后执行下面命令: yum ins...

VPS常用网速测速工具与脚本介绍

VPS常用测速工具与脚本介绍影响VPS网速的因素有一些网络基础知识的朋友都知道,请求数据包从客户端发出后,经过一定的路由(去程路由)到达服务器,服务器响应数据包再经过一定的路由(回程路由)到达客户端,这样就完成了一次最简单的通信。Ping值——ping值代表从客户端发出数据包到服务器返回数据包到达客...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。