# Proxmox VE 使用 SMB/CIFS 實現輕量級遠端備份全攻略

本文旨在提供一份簡潔、完整的操作指南,說明如何在 Proxmox VE (PVE) 環境中,
利用一個輕量級的 Linux 容器 (CT) 架設 SMB/CIFS (Samba) 伺服器,
並將其設定為一個安全、自動化的遠端備份目的地。
相較於 NFS,Samba 運作於使用者層級,對容器權限依賴較低,在設定上更為簡易,是實現遠端備份的絕佳方案。
## 第 1 部分:在 Proxmox CT 中設定 Samba 伺服器
### 1.1 建立特權容器 (CT)
為了確保服務運行的穩定性,建議使用**特權容器**。
在建立 CT 的過程中,於「一般 (General)」分頁\*\*取消勾選「無特權的容器 (Unprivileged container)」\*\*選項。
### 1.2 安裝 Samba
進入 CT 的主控台 (Console),更新系統並安裝 Samba。
```bash
apt update
apt install samba -y
```
### 1.3 建立分享目錄與專用使用者
為保持安全與獨立性,我們建立一個專用的目錄與使用者帳號。
1. **建立分享目錄**:
```bash
mkdir -p /export/backups
```
2. **建立一個無法登入系統的 `pve-user` 帳號**:
```bash
adduser pve-user --no-create-home --disabled-login --disabled-password
```
3. **為 `pve-user` 設定 Samba 密碼** (此密碼獨立於系統密碼):
```bash
smbpasswd -a pve-user
```
> 系統會提示您輸入兩次密碼,請記下此密碼。
### 1.4 設定 Samba 分享
編輯 Samba 的主設定檔 `/etc/samba/smb.conf`。
1. **備份原始設定檔**:
```bash
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
```
2. **編輯設定檔**:
```bash
nano /etc/samba/smb.conf
```
3. **在檔案最下方加入以下區塊**:
```ini
[pve-backups]
comment = Proxmox VE Backup Share
path = /export/backups
writable = yes
guest ok = no
create mask = 0660
directory mask = 0770
valid users = pve-user
force user = pve-user
```
### 1.5 重啟並驗證服務
```bash
systemctl restart smbd
systemctl status smbd
```
> 確認狀態為 `active (running)` 即表示 Samba 伺服器已成功運作。
:::success
root@nfs-server:~# systemctl status smbd
* smbd.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smbd.service; enabled; preset: enabled)
Active: active (running) since Fri 2025-07-18 08:02:10 UTC; 36min ago
Invocation: e834fdafa9414805a37f265d95f97c2b
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 460 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 5 (limit: 153478)
Memory: 321.8M (peak: 351.5M)
CPU: 26.495s
CGroup: /system.slice/smbd.service
|-460 /usr/sbin/smbd --foreground --no-process-group
|-464 "smbd: notifyd" .
|-465 "smbd: cleanupd "
`-966 "smbd: client [100.81.251.39]"
:::
## 第 2 部分:在 Proxmox VE 中新增並使用 SMB 儲存
### 2.1 新增 SMB/CIFS 儲存
回到 PVE 網頁管理介面,執行以下操作:
1. 導覽至 `資料中心` -\> `儲存`。
2. 點擊 `增加` -\> `SMB/CIFS`。
3. 填寫以下資訊:
| 欄位 | 應填寫內容 | 說明 |
| :--- | :--- | :--- |
| **ID** | `smb-backups` | 您自訂的儲存名稱。 |
| **伺服器** | `100.x.x.x` | 您的 Samba CT 的 IP 位址 (可以使用 Tailscale 等 VPN 的虛擬 IP)。 |
| **帳號名稱** | `pve-user` | 您在 1.3 步驟中建立的 Samba 使用者。 |
| **密碼** | `********` | 您為 `pve-user` 設定的 Samba 密碼。 |
| **Share** | `pve-backups` | 您在 `smb.conf` 中定義的分享區塊名稱。 |
| **內容** | `VZDump 備份檔案` | 至少需勾選此項,才可存放備份。 |
### 2.2 建立自動化備份作業

1. 導覽至 `資料中心` -\> `備份`。
2. 點擊 `增加` 以建立新的排程備份任務。
3. 在「一般」分頁中:
* **儲存**: 選擇您剛剛建立的 `smb-backups`。
* **排程時間**: 設定自動執行的頻率 (例如:每日凌晨)。
* **選擇 VM/CT**: 選擇要備份的對象。
### 2.3 設定備份保留策略 (Retention)
在備份作業的「保留」分頁中,設定自動刪除策略以節省空間。以下為一組推薦的設定範例:
* **保留最近份數 (Keep last)**: `3`
* **保留最近天數 (Keep daily)**: `7`
* **保留最近週數 (Keep weekly)**: `4`
* **保留最近月數 (Keep monthly)**: `6`
此策略提供了高密度近期備份與低密度長期備份的良好平衡。

# Proxmox Backup Server (PBS)
建立備份資料夾
```
mkdir /backup-storage
```


