Sao lưu tập tin cấu hình UniFi Controller qua các dịch vụ lưu trữ Cloud...Việc sao lưu dữ liệu của bạn luôn là công việc quan trọng và điều này cũng xảy ra với Unifi Controller của bạn. Nếu cập nhật không thành công và reset Controller của bạn, bạn sẽ cần phải đặt lại mọi thiết bị Unifi để áp dụng lại nó. Unifi Controller tự thực hiện sao lưu, nhưng vấn đề là chúng chỉ được mặc định lưu trữ trên chính Controller đó.
Bạn sẽ không thể truy cập các bản sao lưu của mình nếu Cloudkey hoặc Raspberry Pi của bạn không hoạt động nữa. Vì vậy, bạn nên lưu trữ / đồng bộ hóa các bản sao lưu của mình với một vị trí bên ngoài, đám mây.
Có 02 cách để thiết lập điều này, theo cách thủ công, sử dụng
Rclone hoặc thông qua dịch vụ miễn phí có tên
BackiFi. Trong bài viết này, chúng ta sẽ thảo luận về cả hai giải pháp.
BackiFi vs Rclone
Chuẩn bị thực hiện, trước tiên hãy so sánh nhanh giữa hai giải pháp. Với BackiFi và Rclone, về cơ bản bạn có thể đạt được kết quả tương tự. Ưu điểm của BackiFi là nó giúp bạn dễ dàng thiết lập Bản sao lưu Unifi Controller của mình. Bạn chỉ cần thêm một (hoặc nhiều) nhà cung cấp dịch vụ lưu trữ đám mây và thiết lập lịch sao lưu.
Nhưng đối với BackiFi, bạn cần địa chỉ IP tĩnh (hoặc bạn có thể sử dụng
dịch vụ DDNS) hoặc domain trỏ đến Controller của bạn và tạo tài khoản cho chúng trong Controller của bạn.
BackiFi cũng chỉ mới hỗ trợ cho
AWS S3, Dropbox, FTP/SFTP, Google Drive, OneDrive và
BackBlaze trong khi Rclone hỗ trợ khá nhiều nhà cung cấp dịch vụ lưu trữ đám mây (hiện có hơn
40 nhà cung cấp dịch vụ) và tất nhiên cũng bao gồm những dịch vụ BackiFi đã hỗ trợ.
- Choose a number from below, or type in your own value:
Fichier
\ "fichier"
2 / Alias for an existing remote
\ "alias"
3 / Amazon Drive
\ "amazon cloud drive"
4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, SeaweedFS, and Tencent COS
\ "s3"
5 / Backblaze B2
\ "b2"
6 / Better checksums for other remotes
\ "hasher"
7 / Box
\ "box"
8 / Cache a remote
\ "cache"
9 / Citrix Sharefile
\ "sharefile"
10 / Compress a remote
\ "compress"
11 / Dropbox
\ "dropbox"
12 / Encrypt/Decrypt a remote
\ "crypt"
13 / Enterprise File Fabric
\ "filefabric"
14 / FTP Connection
\ "ftp"
15 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
16 / Google Drive
\ "drive"
17 / Google Photos
\ "google photos"
18 / Hadoop distributed file system
\ "hdfs"
19 / Hubic
\ "hubic"
20 / In memory object storage system.
\ "memory"
21 / Jottacloud
\ "jottacloud"
22 / Koofr
\ "koofr"
23 / Local Disk
\ "local"
24 / Mail.ru Cloud
\ "mailru"
25 / Mega
\ "mega"
26 / Microsoft Azure Blob Storage
\ "azureblob"
27 / Microsoft OneDrive
\ "onedrive"
28 / OpenDrive
\ "opendrive"
29 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
30 / Pcloud
\ "pcloud"
31 / Put.io
\ "putio"
32 / QingCloud Object Storage
\ "qingstor"
33 / SSH/SFTP Connection
\ "sftp"
34 / Sia Decentralized Cloud
\ "sia"
35 / Sugarsync
\ "sugarsync"
36 / Tardigrade Decentralized Cloud Storage
\ "tardigrade"
37 / Transparently chunk/split large files
\ "chunker"
38 / Union merges the contents of several upstream fs
\ "union"
39 / Uptobox
\ "uptobox"
40 / Webdav
\ "webdav"
41 / Yandex Disk
\ "yandex"
42 / Zoho
\ "zoho"
43 / http Connection
\ "http"
44 / premiumize.me
\ "premiumizeme"
45 / seafile
\ "seafile"
Storage
Sự khác biệt nữa là phương pháp sao lưu. BackiFi sẽ tạo một bản sao lưu mới trong Unifi Controller và sao chép nó vào bộ nhớ đám mây của bạn. Trong khi Rclone có thể đồng bộ hóa các bản sao lưu được liệt kê trong Controller của bạn với Settings > Backup.
Có một nhược điểm mà tôi cần đề cập đầu tiên. Để BackiFi hoạt động, bạn sẽ cần tạo tài khoản quản trị viên cấp cao trong Unifi Controller của mình. Chỉ những người dùng có vai trò quản trị viên cấp cao mới có thể truy cập vào các bản sao lưu trong Controller. Điều này đi kèm với rủi ro, bạn cấp cho người khác toàn quyền truy cập về cơ bản vào bộ điều khiển mạng của bạn. Yêu cầu quản trị viên cấp cao là do thiết kế của Ubiquiti, tại thời điểm này, bạn không thể giới hạn quyền truy cập API.
Họ lưu trữ các chi tiết đăng nhập được mã hóa trong cơ sở dữ liệu của họ, nhưng BackiFi cần giải mã mật khẩu để truy cập Controller của bạn để sao chép bản sao lưu từ đó. Bạn nên luôn cẩn thận với điều này vì bạn không thể chắc chắn 100% những gì họ đang làm. Tôi đã nói chuyện với họ, họ nghe có vẻ hợp pháp, nhưng hãy ghi nhớ điều này.
BackiFi là một dịch vụ miễn phí, được tạo ra như một dự án phụ của một vài nhà phát triển. Tôi thực sự thích giải pháp và ý định tốt của họ, nhưng hãy luôn cẩn thận với việc cho ai đó truy cập vào mạng của bạn.
Cách sử dụng Rclone
Chúng ta bắt đầu với cách thủ công để sao lưu Unifi Controller của chúng ta lên đám mây. Rclone là một chương trình dòng lệnh giúp bạn quản lý các tệp trong các vị trí lưu trữ đám mây.
Với Rclone, chúng ta sẽ tạo kết nối với bộ lưu trữ mà chúng ta chọn và thiết lập đồng bộ hóa giữa các bản sao lưu được tạo bởi Unifi Controller và bộ nhớ đám mây của chúng ta. Rclone hoàn toàn là mã nguồn mở và sử dụng miễn phí.
Cách thực hiện này sẽ hoạt động với hầu hết mọi Unifi Controller, vì vậy không quan trọng nếu bạn đang chạy nó trên
Raspberry PI, Cloud key Gen2 của UDM, chỉ có vị trí của các bản sao lưu có thể khác nhau.
1. Nhận quyền truy cập SSH vào Controller của bạn
Đăng nhập vào Controller của bạn qua SSH. Bạn có thể sử dụng Putty,
Windows Terminal hoặc bất kỳ SSH Client nào khác cho việc này. Sử dụng địa chỉ IP của Controller của bạn và thông tin đăng nhập để kết nối.
2. Cài đặt Rclone
Cài đặt
Rclone khá đơn giản, bạn chỉ cần chạy lệnh sau
curl https://rclone.org/install.sh | sudo bashChờ cho đến khi bạn thấy
rclone v1.57.0 has successfully installed (rclone v1.57 phát hành ngày 01/11/2021)
3. Định cấu hình Cloud của bạn
Giờ đây, chúng ta có thể kết nối bộ lưu trữ đám mây của mình trong Rclone. Tôi sẽ sử dụng Box trong ví dụ vì tối đang có 10 GB dung lượng trống. Đầu tiên, chúng ta mở cấu hình rclone và sau đó thêm N nhà cung cấp lưu trữ mới.
- Code:
# Open the config
rclone config
# Create a new storage provider
n
# Give the storage a name
sdn_box
Tất cả các nhà cung cấp dịch vụ lưu trữ được hỗ trợ đều được liệt kê. Nhập số của nhà cung cấp dịch vụ lưu trữ bạn muốn thêm. Đối với Box, đó là 7.
Chúng ta sẽ cần thực hiện tự động hóa Box trên máy tính của mình, vì chúng ta không thể mở trình duyệt web từ dòng lệnh. Vì vậy, hãy để trống mọi thứ và bỏ qua các cấu hình.
Nếu bạn đang sử dụng nhà cung cấp dịch vụ lưu trữ khác, hãy kiểm tra
các hướng dẫn sử dụng này để biết cách xác thực.
- Code:
# Enter the number for Box
7
# Leave the Box App Client Id blank
ENTER
# Leave the Box App Client Secret also blank
ENTER
# Skip the advanced config
N
# Skip the auto-config
N
Hoàn thành tự động hóa
Chúng ta cần hoàn thành ủy quyền Box trên máy tính của mình. Tải xuống Rclone
tại đây cho PC của bạn.
Giải nén thư mục và giải nén các tệp. Chúng ta cần mở thư mục trong CMD hoặc PowerShell, vì vậy tôi đã giải nén nó sang
c:\temp\rclone.
Mở CMD (Windows key + R > CMD) hoặc PowerShell. Điều hướng đến các tệp đã giải nén. Tiếp theo, chúng ta sẽ cấp quyền cho Box.
- Code:
cd:\temp\rclone
# Authorize Box
.\rclone authorize box
Trình duyệt web của bạn sẽ mở để cho phép Box
Nhấp vào Sign-in và Allow cho Rclone truy cập các tệp và thư mục của bạn. Bạn sẽ thấy màn hình thành công, chúng ta có thể đóng cửa sổ và quay lại cấu hình Rclone trên máy tính của mình.
Vì vậy, trong phiên CMD hoặc PowerShell cục bộ của chúng ta hiện có mã ủy quyền. Chúng ta cần sao chép mã này vào cấu hình Rclone trên Unifi Controller.
Đánh dấu mã và nhấp chuột phải để sao chép mã.
Sau đó quay lại phiên SSH trên Unifi Controller của bạn và dán mã thông báo. Để vượt qua SSH, chỉ cần nhấp chuột phải một lần nữa. Nhấn Y để lưu nó.
Bây giờ chúng ta có thể thoát (q) cấu hình dịch vụ lưu trữ Box.
4. Thiết lập dịch vụ Box
Vì vậy, trước khi đồng bộ hóa các tệp sao lưu Unifi Controller, chúng ta cần tạo một thư mục trong Box để lưu trữ chúng.
Mở Box của bạn và tạo bản sao lưu thư mục mới với thư mục con
unifi_sdn.
5. Đồng bộ hóa với Box
Bây giờ chúng ta có thể bắt đầu đồng bộ hóa các tệp sao lưu của mình. Quay lại phiên SSH của bạn trên Unifi Controller của bạn. Chạy lệnh sau để đồng bộ hóa các tệp.
Chúng ta đang sử dụng chức năng
đồng bộ từ Rclone
chứ không phải bản sao. Nếu bạn sử dụng bản sao, thì Box của bạn sẽ chạy đầy với các bản sao lưu, chúng sẽ không bao giờ bị xóa.
Đồng bộ hóa cũng sẽ loại bỏ các tệp cũ, nó giữ cho thư mục Box đồng bộ với các bản sao lưu được liệt kê trong Bộ điều khiển Unifi của bạn. Hãy nhớ rằng Box có khả năng lưu giữ tệp trong 60 ngày, vì vậy nếu có sự cố, bạn luôn có thể khôi phục các tệp trong Box.
Nếu bạn muốn giữ các tệp sử dụng vô thời hạn, hãy sử dụng
rclone copy thay vì
rclone sync.
Nếu bạn đang sử dụng CloudKey Gen2, hãy sử dụng đường dẫn sau để sao chép các tệp từ:
/srv/unifi/data/backup/autobackup - Code:
# Replace sdn_box with the storage name that you created in step 3
# Replace unifi_sdn with the Box folder name that you created in step 4
rclone sync /var/lib/unifi/backup/ sdn_box:backups/unifi_sdn
# For a CloudKey Gen2 use the following cmd:
rclone sync /srv/unifi/data/backup/autobackup/ sdn_box:backups/unifi_sdn
Các tệp bây giờ sẽ được đồng bộ hóa với thư mục Box của bạn.
Nếu bạn gặp lỗi quyền, ví dụ như điều đó có thể xảy ra trên Raspberry PI, thì chúng ta cần thêm người dùng của bạn vào nhóm Unifi.
- Code:
# Replace pi with the username that you are loggedin with.
sudo usermod -a -G unifi pi
6. Tạo công việc theo lịch trình
Chúng ta không muốn chạy lệnh Rclone theo cách thủ công mọi lúc. Vì vậy, chúng ta cần tạo một Cronjob cho việc này.
- Code:
# Open Crontab - choose Nano (2) if you haven't open crontab before
# On the Cloudkey Vim will open, press INSERT to edit the file after you opened it.
crontab -e
# Schedule the job, the same path as in step 5
# We run it at 3 am, every day.
0 3 * * * rclone sync /var/lib/unifi/backup/ sdn_box:backups/unifi_sdn
# Press Ctrl + X to close and choose Y to save.
# On the CloudKey press Ctrl + C twice and then type :wq to save and close
Đó là tất cả. Các bản sao lưu Bộ điều khiển Unifi của bạn giờ đây sẽ được sao chép hàng đêm vào bộ nhớ Box của bạn. Bạn luôn có thể khôi phục Controller của mình từ một bản sao lưu.
Vị trí sao lưu Unifi CloudKey Gen2
Các tệp sao lưu trên CloudKey Gen2 của bạn được lưu trữ ở một vị trí khác sau đó trong Docker hoặc trên PI của bạn. Bạn có thể tìm thấy các tệp sao lưu trong thư mục
/srv/unifi/data/backup/autobackup.
Unifi Protect Backup
Chúng ta cũng có thể sao lưu cấu hình Unifi Protect của mình. Bạn hoàn toàn có thể làm theo các bước tương tự như trên, chỉ cần bạn sử dụng một thư mục khác để kéo các bản sao lưu từ đó.
Các tệp Sao lưu Unifi Protect trên CloudKey Gen2 được lưu trữ ở vị trí
/etc/unifi-protection/backupNếu bạn muốn đồng bộ hóa Unifi Controller và Unifi Protect thì bạn chỉ cần tạo hai Cronjobs cho việc này. Trước tiên, bạn không cần phải thêm một bộ lưu trữ đám mây khác, nhưng tôi khuyên bạn nên tạo một thư mục mới để sao lưu trong Box của mình.
Trình chỉnh sửa văn bản mặc định trên CloudKey Gen2 là Vim, vì vậy các lệnh có một chút khác biệt khi chỉnh sửa và đóng tệp:
- Code:
# Open crontab
crontab -e
# Scroll down the end of the file with your arrow keys and press INSERT to edit the Cron file
0 2 * * * rclone sync /etc/unifi-protect/backups sdn_box:backups/unifi_protect
# Press Ctrl + C twice
# Type :wq (shorthand for Write and Quit)
Sử dụng BackiFi
BackiFi giúp việc quay lại Cloud dễ dàng hơn rất nhiều, nhưng nó yêu cầu bạn phải có địa chỉ IP tĩnh hoặc tên miền trỏ đến Unifi Controller của bạn.
Hiện nay, hầu hết các kết nối Internet trong gia đình không có IP tĩnh mà là IP động. Điều đó có nghĩa là địa chỉ IP của bạn có thể thay đổi sau khi khởi động lại bộ định tuyến (điều này đôi khi xảy ra vào nửa đêm để cập nhật mà bạn không biết).
Giải pháp cho việc này là thiết lập bản ghi DDNS, đây là miền tự động cập nhật địa chỉ IP công cộng của bạn (có thể miễn phí). Tôi đã viết một bài về cách thiết lập DDNS, bạn có thể
tìm thấy nó ở đây.
Ngoài ra, BackiFi cần có tài khoản quản trị viên cấp cao. Tôi đã viết
những băn khoăn của tôi về nó ở đầu bài viết này. Để bảo mật mọi thứ một chút, chúng ta sẽ thiết lập thông báo sự kiện, vì vậy chúng ta có thể theo dõi thời điểm tài khoản được sử dụng để đăng nhập (thông báo này phải luôn phù hợp với lịch sao lưu của chúng ta).
1. Truy cập Unifi Controller của bạn từ Internet
Trước khi có thể bắt đầu với BackiFi, trước tiên chúng ta cần đảm bảo Unifi Controller của chúng ta có thể truy cập được từ Internet. Tôi đã viết một
hướng dẫn chi tiết về điều này trước đây, vì vậy nếu Controller của bạn không thể truy cập được từ Internet, hãy làm theo các bước
tại đây.
2. Tạo tài khoản quản trị viên cấp cao cho BackiFi
Mở Controller của bạn, đi tới Settings > Admins. Tạo người dùng mới và đảm bảo bạn đặt mật khẩu theo cách thủ công và đánh dấu vào ô “Require the user to change their password”.
Thiết lập thông báo
Mọi sự kiện đăng nhập đã được đăng nhập trong Bộ điều khiển Unifi của bạn. Bạn có thể xem tất cả thông tin đăng nhập trong Event > Admin. Nhưng bạn cũng có thể thiết lập email hoặc thông báo đẩy nếu bạn muốn theo dõi các thông tin đăng nhập.
- Mở Settings > Notifications
- Mở rộng Admin Events
- Bật Email và / hoặc Push
3. Định cấu hình BackiFi
Tạo một tài khoản tại
BackiFi và đăng nhập.
- Nhấp vào Controllers ở phía bên trái
- Thêm controller mới
- Nhập details và nhấp vào save (đảm bảo bạn thêm số cổng: 8443 phía sau URL)
- Nhấp vào Storage
- Chọn Box từ menu thả xuống và cho phép BackiFi truy cập các tệp và thư mục Box của bạn.
- Đảm bảo rằng bạn chỉnh sửa tên sau đó, nếu không, bạn không thể sử dụng nó sau này trong cấu hình.
- Bấm vào Schedules
- Tạo một new Schedule
- Tạo một lịch trình hàng đêm chạy lúc 4 giờ sáng
Và tới đây mọi thứ đã được thiết lập, giờ đây chúng ta có thể kết nối tất cả lại với nhau. Mở cấu hình và chọn Controller, Schedule và Storage của bạn.
Bạn có thể chạy bản sao lưu theo cách thủ công để xem nó có hoạt động hay không. Sẽ mất vài phút trước khi bạn nhìn thấy tệp sao lưu trong thư mục Box của mình (trong Apps > BackiFi).
Như đã nói ỏ phần so sánh, BackiFi sẽ tạo một bản sao lưu mới trong Unifi Controller và sao chép nó vào bộ nhớ đám mây của bạn. Do vậy, nó không đồng bộ hóa các bản sao lưu được liệt kê trong Controller của bạn với Settings > Backup. Và tất nhiên, kích thước bản sao lưu do BackiFi thực hiện cũng khác (thường nhỏ hơn).
Kết thúc
Sao chép các bản sao lưu của Unifi Controller của bạn lên đám mây khá dễ dàng với cả hai giải pháp. Tôi thích sự đơn giản của BackiFi, nhưng sẽ tốt hơn nếu chúng ta có thể tạo người dùng API trong Unifi Controller của mình với các quyền chính xác. BackiFi được thiết lập như thế nào bây giờ họ chỉ đơn giản là có quá nhiều quyền truy cập vào Controller của bạn, họ không chỉ có thể rút bản sao lưu ra khỏi nó mà còn tất cả các số liệu thống kê, máy khách được kết nối, .v.v... Tôi không nói họ làm điều đó, chúng ta chỉ đơn giản là không biết nó / không thể nhìn thấy hoặc kiểm soát nó bây giờ.