Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 使用 S3QL 建立加密雲端檔案系統 (Amazon S3 / Google Cloud / OpenStack) 完整部署指南

編輯:關於 Linux

S3QL 是基於 FUSE 的雲端檔案系統,支援 Amazon S3、Google Cloud Storage、Rackspace CloudFiles、OpenStack 等後端,提供壓縮、加密、快照、去重、硬/軟連結等功能。資料本地壓縮加密後再上傳,下載時即時解密解壓。本文記錄 AWS S3 後端部署 S3QL 加密檔案系統、掛載、rsync 備份範例的完整流程。

前置準備

  1. 建立 AWS 帳號(需信用卡)。
  2. 建立 Access Key (Access Key ID + Secret Access Key)。
  3. S3 建立空 Bucket(選擇就近區域)。

AWS S3 建立 Bucket 截圖

Bucket 區域選擇截圖

安裝 S3QL

# Debian/Ubuntu/Mint
sudo apt-get install s3ql

# Fedora
sudo yum install s3ql

# Arch Linux
yaourt -S s3ql  # 或 AUR 手動安裝

建立認證檔

mkdir -p ~/.s3ql
vi ~/.s3ql/authinfo2
# 格式:
[S3]
storage-url: s3://your-bucket-name
backend-login: YOUR_ACCESS_KEY_ID
backend-password: YOUR_SECRET_ACCESS_KEY
# 權限 600
chmod 600 ~/.s3ql/authinfo2

建立檔案系統

mkfs.s3ql --plain --cipher aes256 --compress lzma s3://your-bucket-name
# --plain: 不加密元資料(僅資料加密),較快
# --cipher: 加密演算法 (aes256, aes128, blowfish 等)
# --compress: 壓縮演算法 (lzma, zlib, bz2, none)
# 輸入加密密碼(兩次),此密碼掛載時需輸入

掛載檔案系統

mkdir -p /mnt/s3ql
mount.s3ql s3://your-bucket-name /mnt/s3ql
# 輸入加密密碼
# 後台掛載:mount.s3ql --fg s3://bucket /mnt/s3ql &

使用 rsync 備份至 S3QL

rsync -avz --delete /path/to/source/ /mnt/s3ql/backup/
# 首次備份較慢(上傳),後續僅增量傳輸
# S3QL 會自動壓縮、加密、去重

卸載與快照

# 卸載
umount.s3ql /mnt/s3ql

# 建立快照 (Copy-on-write,瞬間完成)
mount.s3ql s3://bucket /mnt/s3ql
s3qlcp --snapshot /mnt/s3ql/backup /mnt/s3ql/backup_snapshot_$(date +%F)
umount.s3ql /mnt/s3ql

S3QL 掛載與備份截圖

限制與注意事項

  • 單點掛載:同一檔案系統同一時間只能掛載在一台電腦,不可多機共享。
  • 無 ACL 支援:不支援 POSIX ACL(存取控制清單)。
  • 延遲敏感:網路延遲直接影響存取速度,不適合高 IOPS 應用(如資料庫)。
  • 快取管理:~/.s3ql/cache 可設定大小上限 (--cachedir, --max-cache-entries)。
  • 備份策略:定期 fsck.s3ql 檢查完整性,異地複製關鍵資料。

其他後端配置範例

# Google Cloud Storage
storage-url: gs://your-bucket
backend-login: YOUR_CLIENT_ID
backend-password: YOUR_CLIENT_SECRET

# OpenStack Swift
storage-url: swift://your-container
backend-login: TENANT:USERNAME
backend-password: PASSWORD
# 需額外設定 auth-url 等參數
Copyright © Windows教程網 All Rights Reserved