banner
xingli

xingli

猫娘爱好者

scaleway免费75g对象存储

免费给 VPS 扩容 75G 数据盘#

写在前面的话#

我不知道大家是否遇到过这样的情况:购买 vps 时候因为预算问题购买的数据盘过小;或者是你需要在 vps 上添加一个更安全的存储空间用来备份文件;或者干脆你只是想按照我的视频玩玩对象存储,本篇内容就很适合你!

具体思路#

实际上,我们很常见的是把 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;

Scaleway.png

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

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

操作步骤#

1、在 Scaleway 创建存储桶;

创建对象存储.png

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

2、在 Scaleway 创建 APIkey;

apikey.png

access.png

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

3、vps 内操作:


apt update && apt install  -y  s3fs

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

mkdir -p  /oss

echo  ACCESS_KEY:SECRET_KEY > ~/.passwd-s3fs

chmod 600  ~/.passwd-s3fs

ACCESS_KEY要修改成你的!


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

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

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

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


df -h

这里会显示有 256T 空间,但是不要太高兴了,我们能用的只有 75G,超出按月收费呀,0.01 欧 / 1G / 月!

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=true

stderr_logfile=/supervisor-err.log

stdout_logfile=/supervisor-out.log

user=root

stopsignal=INT

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

文件在哪?#

上面我们把 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 也就是我们挂载的数据库里,这下安全了吧。

参考资料#

https://blog.51sec.org/

视频教程:#

Bilibili:https://www.bilibili.com/video/BV1LY411X78j/?spm_id_from=333.337.search-card.all.click&vd_source=2cbd72b9c63fa5b17f4fdd314add7688

文章来源:https://iweec.com/700.html

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。