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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。