Cấu hình Backup & Restore ESXi host configuration
Nội dung:
1. Sử dụng ESXi CLI để Backup ESXi Host
2. Schedule backup ESXi configuration
3. Restore ESXi host configuration
Backup là một trong những điều tối quan trọng trong việc quản lý điều hành hạ tầng IT. Trong môi trường chạy những dịch vụ Servers dưới dạng máy ảo trên những ESXi host thì việc backup Host-level với agentless backup sẽ mang những lợi ích như việc đảm bảo cấu hình ESXi luôn toàn vẹn trong những sự cố nhất dịnh ví dụ như:
+) Hạ tầng vSphere đang chạy vSAN với những Host vật lý cài đặt OS tại USB (đơn) => đối với dạng Usb đơn khi có sự cố sập nguồn sẽ dễ bị hư hỏng dẫn tới việc mất mát dữ liệu
Host-level backup confgiuration chứa những thông tin cơ bản cần thiết của một ESXi host:
+) Các cấu hình liên quan tới ESXi host,.. bao gồm cả cấu hình vSAN
+) Thông tin về network bao gồm Vmkernel network, firewall ESXi và bao gồm của Network VM
+) Thông tin về VM đang được cư trú tại Host ESXi
Thông tin hệ thống lab đang sử dụng:
+ vCenter Server buid number: 17958471
+ ESXi host version: 16324942
+ Server Dell PowerEdge R630, USBboot 16Gb
+ Datastore: NFS & vSAN
1. Sử dụng ESXi CLI để Backup ESXi Host
Sử dụng ESXi command line là phương pháp hợp lý nhất để sao lưu cấu hình máy chủ ESXi. Ta không cần cài đặt bất kì phần mềm hỗ trợ bổ sung nào để sử dụng dòng lệnh ESXi.
Đầu tiên chúng ta cần phải bật dịch vụ ESXi shell hoặc ESXi SSH để hỗ trợ việc truy cập từ xa vào máy chủ ESXi.
- ESXi SSH: hỗ trợ việc vào giao diện Command line của ESXi thông qua giao thức SSH

- ESXi Shell: hỗ trợ vào giao diện Command line của ESXi thông qua giao diện Console (DCUI) mà tại giao diện DCUI ta bấm tổ hợp phím Alt + F1 để truy cập vào, và thoát ra bằng Alt + F2


Để bật ESXi shell hoặc ESXi SSH, ta có thể dùng giao diện vSphere Client hoặc vSphere Client Host.


Cấu hình ESXi được tự động lưu hàng giờ vào tệp /bootblank/state.tgz. Do đó, để đảm bảo cấu hình ESXi hiện tại được lưu ngay tại thời điểm chúng ta backup và xác nhận rằng một thứ thay đổi được thực hiện sẽ sync với lần lưu tự động cuối cùng, chúng ta sử dụng lệnh
Mã:
vim-cmd hostsvc/firmware/sync_config
Mã:
vim-cmd hostsvc/firmware/backup_config

Sẽ xuất hiện một link download file backup cấu hình của ESXi có dạng:
- Bundle can be downloaded at : http://*/downloads/529d4bdd-3ff6-ce57-622e-a0047ad5ffac/configBundle-esxi100.securityzone.vn.tgz

Lưu ý: File backup này sẽ được tồn tại khoảng 5 phút tại thư mục /scratch/downloads, sau đó sẽ bị hệ thống xoá đi.
2. Schedule backup ESXi configuration
Tận dụng ưu điểm tự động hoá chạy Script backup để chạy backup ESXi configuration một cách tự động theo vòng lặp bằng cách sử dụng crontab hết hợp với script .sh.
1. Tạo thư mục lưu trữ file backup trên ESXi datastore
Nên tạo thư mục tại NFS Datastore hoặc VMFS Datastore để đảm bảo rằng khi máy chủ địch không khả dụng vẫn có thể truy cập vào thư mục chứa file backup bằng một Host khác hoặc 1 cách khác như truy cập vào thư mục NFS.
Sử dụng command:
Mã:
mkdir /vmfs/volumes/<datastore>/ESXi_backup

2. Tạo 1 file script để backup ESXi configuration
Mã:
vi esxi_backup.sh
Hoặc
vi /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup/esxi_backup

3. Thêm các đoạn command theo quy trình để thực hiện thao tác Backup ESXi confgiuration
Nhấn phím “i” để insert script dưới
Mã:
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
find /scratch/downloads/ -name \*.tgz -exec cp {} /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup/ESXi100_config_backup_$(date +%Y%m%d_%H%M%S).tgz \;
find /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup -name \*.tgz -mtime +7 -exec rm {} \;
- Trong đó dòng script thứ 3: dùng để Copy file configuration Esxi đã được tạo ra, do file cấu hình này chỉ tồn tại 5 phút trong thư mục /scratch/downloads
- Dòng script thứ 4 (tuỳ chọn thêm): dùng để Remove những file backup trước đó 7 ngày tránh tạo nhiều file backup và làm đầy bộ nhớ.
4. Lưu file và quit khỏi vi:
Nhấn command dưới để lưu và thoát khỏi trình Edit
Mã:
:wq

5. Cấu hình cho đoạn Script có thể thực thi trên ESXi
Mã:
chmod +x /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup/esxi_backup.sh
Truy cập vào thư mục chứa file script
Mã:
cd /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup
Mã:
./esxi_backup.sh
Mã:
ls -al

Sau khi chạy đoạn script chúng ta thấy file backup ESXi100_config_backup_yyymmdd_hhmmss.tgz được lưu trữ tại NFS Datastore lâu dài thay vì 5 phút tại thư mục /scratch/downloads .
8. Schedule run Script backup ESXi conffiguration
Sử dụng Crontab
Mã:
vi /var/spool/cron/crontabs/root
Mã:
0 * * * * /vmfs/volumes/DatastoreESX_NFS01/ESXi100_backup/esxi_backup.sh
Mã:
chmod +w /var/spool/cron/crontabs/root

Thông tin thêm về phương thức schedule theo thời gian mong muốn: https://crontab.guru/
Cuối cùng, ESXi configuration sẽ được backup tự động hàng giờ với tên ESXi_config_bakup_date_time.tgz và được lưu trữ tự NFS Datastore (theo lab của mình).

Xem trên vSphere Client.

3. Restore ESXi host configuration
Lưu ý: Để có thể khôi phục cấu hình, máy chủ ESXi đích cần có cùng build number và UUID với dữ liệu cấu hình mà ta backup trước đó.
1. Vào chế độ maintenance host sử dụng CLI hoặc GUI tuỳ ý muốn
Mã:
vim-cmd hostsvc/maintenance_mode_enter
Copy file Backup ESXi configuration cần restore vào một thư có thể truy cập bởi ESXi ví dụ như /tmp/restore_config/ và thực hiện bởi WinSCP.

3. Đổi tên configBundle-xxxx.tgz thành configBundle.tgz trước khi ta thực hiện lệnh restore ESXi configuration. Còn không chúng ta sẽ nhận về một thông báo lỗi: “File /tmp/configBundle.tgz was not found”.
Mã:
mv /tmp/restore_config/ESXi100_config_backup_20210830_100007.tgz /tmp/restore_config/configBundle.tgz
Mã:
vim-cmd hostsvc/firmware/restore_config /tmp/restore_config/configBundle.tgz
Mã:
vim-cmd hostsvc/maintenance_mode_exit
Lưu ý: Đối với trường hợp ESXi host đích được restore không cùng UUID, chúng ta sẽ thêm số 1 để bắt buộc ghi đè khi UUID không khớp
Mã:
vim-cmd hostsvc/firmware/restore_config 1 /tmp/restore_config.configBundle.tgz
Tham khảo:
----------------------------------------Kết thúc bài viết----------------------------------------
Sửa lần cuối:
Bài viết liên quan
Bài viết mới