Chào tất cả các bạn, trước đây mình có viết bài về Dùng nhiều máy chủ cho Website của bạn. Trong đó mình có đề cập tới việc cài đặt Syncthing để đồng bộ dữ liệu trên 2 Server. Dĩ nhiên bạn có thể đồng bộ nhiều server hơn nếu muốn tùy theo nhu cầu cũng như khả năng của bạn. Việc mở rộng hay tùy biến là không giới hạn.
Chúng ta sử dụng Syncthing để đồng bộ dữ liệu cho các máy chủ. Việc cài đặt bạn cũng có thể tham khảo bài viết mà mình đã đưa đường dẫn ở trên. Hoặc bạn truy cập vào địa chỉ này.
Sau đây mình sẽ tiến hành đồng bộ dữ liệu thư mục trên một máy chủ với máy chủ sao lưu. Chúng ta sẽ sao lưu những gì cần thiết trên máy chủ được sao lưu và tất cả được lưu trên ổ cứng trên máy chủ sao lưu.
Bạn có thể lựa chọn sao lưu toàn bộ đĩa cứng, hoặc cũng có thể sao lưu một số thư mục quan trọng và những tập tin được thêm vào hàng ngày.
Mình ví dụ như cấu trúc các tập tin và thư mục của WordPress:
- wp-includes/
- wp-content/
- wp-admin/
- xmlpc.php
- wp-trackback.php
- wp-signup.php
- wp-settings.php
- wp-mail.php
- wp-login.php
- wp-load.php
- wp-links-opml.php
- wp-cron.php
- wp-config.php
- wp-comments-post.php
- wp-blog-header.php
- wp-activate.php
- readme.html
- license.txt
- index.php
Trong ngoại trừ thư mục wp-content ra thì các tập tin cũng như thư mục khác hầu như giữ nguyên và chỉ thay đổi khi có một Plugin nào đó thêm vào hoặc khi WordPress có bản cập nhật mới. Do đó, dĩ nhiên chúng ta tốt nhất là sao lưu hết thảy bởi vì dung lượng không đáng là bao nhiêu. Và bạn cũng có thể lựa chọn sao lưu tất cả để an tâm mà không phải ngại ngần điều gì. Syncthing với giao diện web Gui sẽ cực kỳ dễ dàng cho bạn thiết lập các cấu hình mong muốn mà không cần phải biết đến lệnh Linux như Rsync.
Bây giờ mình gắn thêm một ổ cứng mới vào hệ thống.
Kiểm tra lại bằng dòng lệnh fdisk – l:
Bây giờ chúng ta tiến hành tạo nhãn đĩa GPT:
parted -s /dev/sdb mklabel gpt
Tiếp tục chúng ta tiến hành tạo phân vùng Partition:
parted -s /dev/sdb unit mib mkpart primary 0% 100%
Có nghĩa là chúng ta sẽ tạo một phân vùng duy nhất chiếm toàn bộ dung lượng ổ cứng có được.
Bây giờ chúng ta sẽ format phân vùng này với định dạng ext4 (phổ biến trên Ubuntu và có nhiêu ưu điểm):
mkfs -t ext4 /dev/sdb1
Tuy nhiên không giống như trên Windows, nếu xong bước Format là chúng ta đã có thể sử dụng, nhưng trên Linux, phân vùng này mặc dù đã có nhưng chưa sử dụng được vì chưa có thư mục để chúng ta “mount” vào. Hiểu nôm na rằng bạn cần tạo một thư mục mới đại diện cho phân vùng này, và mỗi khi bạn chép dữ liệu vào thư mục đại diện, đồng nghĩa với bạn truy xuất dữ liệu trên phân vùng.
Bây giờ mình sẽ tạo một thư mục với tên là /saoluu:
mkdir /saoluu
Và “mount” phân vùng mà nãy giờ chúng ta tạo vào thư mục /saoluu:
mount /dev/sdb1 /saoluu
Bạn biết 10% còn lại là gì không? Đó là chúng ta cần thiết lập để mỗi khi khởi động lại hệ thống tự “mount” phân vùng /dev/sdb1 vào thư mục /saoluu luôn. Vì mỗi lần khởi động mà bạn đều phải gõ lại lệnh mount… cái gì gì đó thì thật là phiền toái. Cần phải sửa đổi một chút trong tập tin /etc/fstab:
nano /etc/fstab
Bên trong file /etc/fstab trông sẽ như thế này:
Bây giờ chúng ta thêm dòng này:
/dev/sdb1 /saoluu ext4 defaults,nofail 0 0
Từ trái sang có nghĩa là: hệ thống tập tin –> thư mục được mount –> loại định dạng –> cấu hình tùy chọn –> tần suất filesystem được backup –> ưu tiên thời điểm cần được kiểm tra fsck trước khi được mount vào hệ thống.
Như vậy có thể hiểu dòng lệnh mà chúng ta thêm vào có nghĩa là:
Phân cùng /dev/sdb1 được mount vào thư mục /saoluu, với định dạng ext4, tùy chọn có cấu hình mặc định, nofail là gắn (mount) khi có nhưng bị bỏ qua nếu không có, bởi nếu bạn tháo ổ cứng này ra, hệ thống sẽ không báo lỗi –> 0 (dump) 0 (pass) – theo mặc định.
Bây giờ bạn có thể khởi động lại máy và kiểm tra.
Chúng ta cần chú ý và ghi nhớ điều này:
- Hệ thống và các tập tin cần lưu trữ: /var
- Thư mục có vai trò lưu trữ (được lưu trên ổ cứng mới thêm vào): /saoluu
Bây giờ chúng ta truy cập vào Syncthing. Địa chỉ đó là http://IP_may-tinh-cai-dat-Syncthing:8384
Mời các bạn xem video dưới đây để tiện theo dõi:
Chúc các bạn thành công, sắp tới mình sẽ có bài viết về đồng bộ dữ liệu, các tập tin và thư mục nội bộ với Unison. Các bạn đón xem nhé.
[…] một số bài viết khác về sao lưu cơ sở dữ liệu với Sypex Dumper 2,… Dùng Syncthing để đồng bộ, sao lưu dữ liệu dự phòng, cùng một số bài viết khác hy vọng mang lại chút kiến thức giúp ích cho các […]
[…] lưu là xong. Nếu muốn tự động đồng bộ giữa các máy với nhau, có thể dùng Syncthing – chương trình đồng bộ cực kỳ tốt không kén nền […]