Sao lưu cấu hình máy chủ ESXi: 4 phương pháp khác nhau
Công nghệ ảo hóa mang lại nhiều lợi ích cho các hoạt động sao lưu và khôi phục, vốn là nền tảng của việc bảo vệ dữ liệu, duy trì tính liên tục hoạt động và đảm bảo tính sẵn sàng. Quan trọng nhất, công nghệ ảo hóa cho phép thực hiện các bản sao lưu cấp máy chủ không cần phần mềm đại lý (agentless) và dựa trên hình ảnh. Các loại sao lưu này có thể sao chép toàn bộ máy ảo (VM), bao gồm cả cấu hình VM cũng như dữ liệu của VM.
Tuy nhiên, việc bảo vệ các máy chủ cũng rất quan trọng, vì các máy chủ ESXi hoạt động tốt là yếu tố cần thiết để các máy ảo (VM) hoạt động đúng cách. Được khuyến nghị là bạn cũng nên sao lưu cấu hình ESXi, vì một bản sao lưu máy chủ có thể sử dụng được sẽ giúp bạn khôi phục cấu hình máy chủ trong vài phút mà không cần phải cài đặt lại máy chủ ESXi từ đầu. Tiếp tục đọc để tìm hiểu các phương pháp khác nhau để sao lưu máy chủ ESXi.
Có bốn phương pháp chính để sao lưu cấu hình ESXi:
- Sử dụng dòng lệnh VMware ESXi
- Sử dụng VMware vSphere CLI
- Sử dụng Microsoft PowerCLI
- Sao lưu và khôi phục thủ công
Việc nắm vững nhiều phương pháp sẽ mang lại sự linh hoạt hơn trong việc thực hiện các hoạt động sao lưu và khôi phục cấu hình ESXi trong các tình huống khác nhau.
Phương pháp 1: Sử dụng dòng lệnh ESXi để sao lưu máy chủ ESXi
Sử dụng dòng lệnh ESXi là phương pháp tiết kiệm nhất để sao lưu cấu hình máy chủ ESXi. Bạn không cần cài đặt bất kỳ phần mềm bổ sung nào để sử dụng dòng lệnh ESXi. Bạn chỉ cần truy cập Kích hoạt ESXi Shell và quyền truy cập SSH từ xa vào máy chủ ESXi. Sau khi kết nối với máy chủ ESXi qua SSH, bạn có thể thực thi các lệnh.
Cấu hình ESXi được lưu tự động mỗi giờ vào tệp /bootblank/state.tgz . Vì lý do này, bạn nên đảm bảo rằng cấu hình ESXi hiện tại được ghi vào các tệp cấu hình ESXi ngay lập tức để đảm bảo rằng tất cả các thay đổi được thực hiện với cấu hình ESXi kể từ lần tự động lưu gần nhất đều được lưu lại. Để thực hiện điều đó:
- Kiểm tra và đồng bộ hóa cấu hình ESXi với bộ nhớ lưu trữ vĩnh viễn:
vim-cmd hostsvc/firmware/sync_config - Sao lưu cấu hình ESXi sau khi quá trình đồng bộ hóa hoàn tất:
vim-cmd hostsvc/firmware/backup_config
Kết quả, bạn sẽ nhận được liên kết để tải xuống tệp configBundle . tgz từ máy chủ ESXi.
http://*/downloads/UUID/configBundle-ESXiNameOrIPAddress.tgz - Thay thế dấu sao (
*) bằng địa chỉ IP của máy chủ ESXi của bạn. Tệp lưu trữ chứa bản sao lưu cấu hình ESXi sẽ được lưu vào thư mục /scratch/downloads trong một khoảng thời gian ngắn (vài phút).
Bạn có thể tìm địa chỉ IP của máy chủ ESXi trong giao diện điều khiển trực tiếp của ESXi hoặc trong dòng lệnh bằng lệnh:
esxcli network ip interface ipv4 getĐịa chỉ IP của máy chủ ESXi được sử dụng trong ví dụ này là 192.168.101.208
- Tải xuống tệp lưu trữ sao lưu ESXi càng sớm càng tốt và lưu trữ nó ở nơi an toàn.
Cách tự động hóa sao lưu cấu hình ESXi trong dòng lệnh ESXi
Ưu điểm của giao diện dòng lệnh là khả năng tự động hóa, và việc sao lưu cấu hình ESXi cũng không ngoại lệ. Hãy cùng xem qua các bước thực hiện:
- Tạo một thư mục để lưu trữ các tệp sao lưu trên kho dữ liệu ESXi của bạn:
mkdir /vmfs/volumes/datastore1/ESXi_backup - Tạo một tập lệnh để sao lưu cấu hình ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh - Thêm các dòng sau vào tập lệnh:
vim-cmd hostsvc/firmware/sync_configvim-cmd hostsvc/firmware/backup_configfind /scratch/downloads/ -name *.tgz -exec cp {} /vmfs/volumes/datastore1/ESXi_backup/ESXi_config_backup_$(date +'%Y%m%d_%H%M%S').tgz ;
- Lưu tệp và thoát vi :
:wqNOTE:Để thuận tiện hơn, bạn cũng có thể thêm tên máy chủ ESXi hoặc địa chỉ IP vào tên tệp sao lưu. Điều này sẽ giúp bạn tránh nhầm lẫn khi có nhiều máy chủ ESXi. - Đặt quyền thực thi cho tập lệnh:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh - Chuyển đến thư mục chứa tập lệnh:
cd /vmfs/volumes/datastore1/ESXi_backup/ - Chạy tập lệnh:
./esxi_backup.sh - Kiểm tra xem tệp sao lưu đã được tạo hay chưa:
ls -al
- Đảm bảo tập lệnh sao lưu cấu hình ESXi đang chạy theo lịch trình (tự động). Chỉnh sửa cấu hình trình lập lịch cho mục đích này:
vi /var/spool/cron/crontabs/root - Thêm chuỗi sau để sao lưu cấu hình ESXi hàng ngày vào lúc 02:10 sáng:
10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh - Lưu thay đổi vào tệp. Để lưu thay đổi vào tệp chỉ đọc, nhập:
:wq!Ngoài ra, bạn có thể thay đổi quyền truy cập tệp trước khi chỉnh sửa tệp:
chmod +w /var/spool/cron/crontabs/root
Sau khi thiết lập, cấu hình ESXi sẽ được sao lưu tự động vào lúc 02:10 sáng mỗi đêm vào tệp có tên: ESXi_config_bakup_date_time.tgz
Cách khôi phục cấu hình ESXi trong dòng lệnh ESXi
Bạn cần cài đặt phiên bản ESXi và số bản dựng trùng khớp với máy chủ ESXi đã sao lưu trên máy tính nơi bạn muốn khôi phục cấu hình ESXi. Quy tắc này áp dụng cho tất cả các phương pháp khôi phục cấu hình ESXi được đề cập trong bài viết này.
Nếu bạn định khôi phục cấu hình ESXi trên một Máy chủ ESXi được cài đặt từ đầu (mới cài đặt), bạn cần thiết lập địa chỉ IP cho giao diện mạng được sử dụng cho mạng quản lý ESXi và kích hoạt quyền truy cập SSH.
UUID phải giống nhau trên cả máy chủ ESXi đã được sao lưu và máy chủ ESXi mà cấu hình sẽ được khôi phục. Các bước cần thực hiện nếu các giá trị UUID khác nhau được trình bày trong phần tiếp theo.
Để khôi phục cấu hình ESXi:
- Sau khi đã chuẩn bị máy chủ ESXi mới cài đặt để khôi phục cấu hình ESXi từ bản sao lưu, hãy kết nối với máy chủ ESXi qua SSH và đưa máy chủ vào chế độ bảo trì (các máy ảo sẽ bị dừng trong chế độ này).
esxcli system maintenanceMode set --enable yeshoặc
vim-cmd hostsvc/maintenance_mode_enter - Sao chép tệp lưu trữ chứa bản sao lưu cấu hình ESXi vào một thư mục trên máy chủ ESXi bằng cách sử dụng trình khách SCP, ví dụ như WinSCP. Hãy sao chép tệp lưu trữ configBundle-xxxx.tgz từ máy tính cục bộ vào thư mục /tmp/ trên máy chủ ESXi đích.

- Hãy đổi tên tệp configBundle-xxxx.tgz thành configBundle.tgz trước khi nhập lệnh khôi phục cấu hình ESXi. Nếu không, bạn sẽ nhận được thông báo lỗi: “ Không tìm thấy tệp /tmp/configBundle.tgz “.
Bạn có thể đổi tên tệp trong giao diện dòng lệnh ESXi mà bạn đã kết nối qua SSH:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz - Khôi phục cấu hình ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgzSau khi chạy lệnh này, máy chủ ESXi sẽ được khởi động lại tự động.

- Sau khi khởi động lại máy chủ ESXi, thoát khỏi chế độ bảo trì, sau đó bạn có thể sử dụng máy chủ như bình thường.
esxcli system maintenanceMode set --enable nohoặc
vim-cmd hostsvc/maintenance_mode_exit
Cách thay đổi UUID để khôi phục cấu hình ESXi
Bạn có thể sử dụng một trong hai cách sau để kiểm tra UUID của máy chủ ESXi:
- Trong giao diện dòng lệnh ESXi:
esxcfg-info -u - Trong tệp Manifest.txt nằm trong tệp sao lưu configBundle.tgz mà bạn đã tạo bằng các lệnh được giải thích ở trên.

Bạn không thể thay đổi UUID của máy chủ ESXi vì mã định danh này được tạo dựa trên phần cứng. Tuy nhiên, bạn có thể khôi phục cấu hình ESXi từ máy chủ ESXi A sang máy chủ ESXi B sau khi thay đổi UUID trong tệp Manifest.txt được lưu trữ trong tệp lưu trữ sao lưu cấu hình ESXi configBundle.tgz .
Bây giờ chúng ta hãy xem cách thay đổi UUID để áp dụng cấu hình đã sao lưu sang một máy chủ vật lý khác. Server A là máy chủ có cấu hình đã được sao lưu, và Server B là máy chủ mà cấu hình sẽ được áp dụng.
Giai đoạn 1
Kiểm tra UUID trên máy chủ ESXi mà bạn muốn áp dụng cấu hình đã sao lưu (máy chủ B). Có thể thực hiện việc này bằng ít nhất hai phương pháp, nhưng phương pháp thứ hai còn cho phép bạn kiểm tra phiên bản ESXi:
- Chạy
esxcfg-info -u - Sao lưu cấu hình của máy chủ ESXi B:
vim-cmd hostsvc/firmware/sync_configvim-cmd hostsvc/firmware/backup_config - Sao chép tệp lưu trữ sao lưu vào thư mục tạm thời và chuyển đến thư mục đó:
cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmpcd /tmp/ - Giải nén tệp từ tệp lưu trữ:
tar zxvf configBundle.tgz - Mở tệp Manifest.txt bằng vi và kiểm tra giá trị UUID (bạn sẽ thấy một dòng riêng biệt chứa UUID). Ghi lại UUID:
vi Manifest.txtTrong trường hợp của chúng tôi, mã UUID là 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
- Bạn có thể xóa các tệp tạm thời trong thư mục /tmp/ tại đây:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Giai đoạn 2
- Sao chép tệp lưu trữ sao lưu cấu hình configBundle.tgz của máy chủ ESXi A sang máy chủ B, ví dụ: vào thư mục / t mp/ và chuyển đến thư mục đó.
- Giải nén các tệp từ tệp lưu trữ configBundle.tgz :
tar zxvf configBundle.tgz - Mở tệp Manifest.txt bằng
vivà cập nhật giá trị UUID của máy chủ A thành UUID của máy chủ B:vi Manifest.txtTrong trường hợp của chúng tôi, chúng tôi thay đổi 9EA94D56-7E39-96A8-AB45-DF31EF0971EC thành 1E9E4D56-B724-DFBE-D19D-4C2D827E0188
Lưu tệp và thoát khỏi trình soạn thảo văn bản:
:wq
- Đổi tên tệp nguồn configBundle.tgz thành configBundle1.tgz , ví dụ (nếu tên tệp sao lưu cấu hình ESXi của bạn khác với configBundle.tgz , bạn có thể bỏ qua bước này):
mv configBundle.tgz configBundle1.tgz - Tar Manifest.txt , state.tgz và jumpstrt.gz vào một tệp lưu trữ mới configBundle.tgz :
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz - Đặt máy chủ ESXi vào chế độ bảo trì và khôi phục cấu hình:
esxcli system maintenanceMode set --enable yesvim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Phương pháp 2: Cách sao lưu máy chủ ESXi bằng vSphere CLI
Một giao diện dòng lệnh khác do VMware cung cấp để quản lý máy chủ ESXi là vSphere CLI (không nên nhầm lẫn với VMware PowerCLI). Bạn nên cài đặt vSphere CLI trên máy chạy Linux hoặc Windows để quản lý máy chủ ESXi từ xa. Perl là yêu cầu để cài đặt vSphere CLI.
Ưu điểm của việc sử dụng vSphere CLI là sự tiện lợi và sức mạnh của bash trong Linux. Phương pháp này đặc biệt thuận tiện cho ESXi 6.x. Nếu bạn đang sử dụng ESXi 8, hãy chọn các phương pháp khác được giải thích trong bài viết này.
Cài đặt và cấu hình vCLI
- Tải xuống phiên bản vSphere CLI cần thiết cho hệ điều hành của bạn từ trang web của VMware. Ubuntu Linux được sử dụng trong ví dụ này.
- Chuyển đến thư mục chứa tệp đã tải xuống và giải nén các tệp từ kho lưu trữ:
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz - Cài đặt các gói cần thiết:
apt-get install -y perl-doc libmodule-build-perl libssl-dev libxml-libxml-perl libsoap-lite-perl libuuid-perl build-essentialKhuyến nghị chính thức từ VMware là cài đặt bộ gói phần mềm này:
apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl - Truy cập vào thư mục chứa các tệp đã giải nén và chạy trình cài đặt:
./vmware-install.pl - Đọc và chấp nhận thỏa thuận cấp phép. Nếu trình cài đặt yêu cầu cài đặt một số mô-đun bắt buộc, hãy nhập lệnh `
y` và tiến hành cài đặt các mô-đun đó.
- Trong trường hợp của chúng ta, một số mô-đun phải được cài đặt thủ công. Chúng có thể được cài đặt thông qua giao diện dòng lệnh tương tác của Perl.

Vào vỏ lệnh tương tác của Perl:
perl -MCPAN -e shell - Chạy lệnh để cài đặt mô-đun Perl cần thiết:
install Devel::StackTraceTương tự, cài đặt các mô-đun khác.

NOTE:Trong trường hợp của chúng ta, một mô-đun không thể được cài đặt trong vỏ lệnh tương tác của Perl, nhưng chúng ta có thể cài đặt mô-đun đó bằng lệnh trong giao diện dòng lệnh Ubuntu:apt-get install libcrypt-ssleay-perl - Sau khi cài đặt các mô-đun Perl, hãy chạy trình cài đặt VMware vSphere CLI một lần nữa.
- Quá trình cài đặt đã hoàn tất thành công, và bạn có thể thấy màn hình sau trong trường hợp này:

- Bây giờ hãy thử sử dụng vSphere CLI và nhập lệnh sau vào giao diện dòng lệnh Linux để hiển thị danh sách các thiết bị của máy chủ ESXi:
esxcli --server 192.168.101.208 storage core device listTrong đó 192.168.101.208 là địa chỉ IP của máy chủ ESXi.

- Dấu vân tay SHA-1 của máy chủ không được tin cậy, và kết nối với máy chủ ESXi đã thất bại. Điều này có nghĩa là bạn nên định nghĩa dấu vân tay vì lý do bảo mật. Hãy thử một lệnh khác:
esxcli --server 192.168.101.208 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode getTên người dùng và mật khẩu sẽ được yêu cầu nhập trong giao diện điều khiển ở chế độ tương tác.

Hãy tránh sử dụng các lệnh yêu cầu nhập tên người dùng và mật khẩu dưới dạng văn bản thuần túy như sau:
esxcli --server 192.168.101.208 --username root --password TestPass_555 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode getNOTE:Điều này là vì lý do bảo mật. Các lệnh đã thực thi được lưu trữ trong hệ thống Linux cho đến khi bạn chạy lệnhhistory -cđể xóa lịch sử. Nếu bạn cần tránh sử dụng chế độ tương tác và nhập tên đăng nhập và mật khẩu thủ công, bạn có thể lưu phiên ESXi vào một tệp và sử dụng tệp này khi chạy các lệnh. Việc lưu phiên là an toàn, không giống như việc nhập mật khẩu dưới dạng văn bản thuần túy trong lệnh. Việc lưu phiên được giải thích dưới đây.
Lưu dấu vân tay để kết nối với các máy chủ ESXi
Việc nhập dấu vân tay ESXi mỗi lần để chạy lệnh là không thuận tiện. May mắn thay, bạn có thể lưu dấu vân tay và thực thi các lệnh tiếp theo trong vSphere CLI mà không cần nhập lại dấu vân tay.
- Chuyển đến thư mục:
cd /usr/lib/vmware-vcli/apps/general/ - Thực thi lệnh như sau:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s server -t thumbprintTrong ví dụ cụ thể này, lệnh là:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add -s 192.168.101.208 -t B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA
- Giờ đây, bạn có thể thực thi các lệnh trong vSphere CLI mà không cần nhập dấu vân tay mỗi lần:
esxcli --server 192.168.101.208 system maintenanceMode get
Tuy nhiên, bạn vẫn cần nhập tên người dùng và mật khẩu. Bạn có thể cấu hình vSphere CLI để chạy lệnh mà không cần nhập mật khẩu mỗi lần như được hướng dẫn trong các phần dưới đây.
Sử dụng tệp phiên để kết nối với các máy chủ ESXi
Sử dụng tệp phiên đã lưu là một trong những phương pháp để tránh nhập tên người dùng và mật khẩu khi chạy lệnh trên máy chủ ESXi từ xa bằng vSphere CLI.
- Tạo một thư mục để lưu trữ các tệp sao lưu cấu hình ESXi, ví dụ: /backup/
mkdir /backup - Chuyển đến thư mục đó:
cd /usr/lib/vmware-vcli/apps/session - Lưu phiên làm việc đã được ủy quyền của máy chủ ESXi vào tệp bằng cách sử dụng skript Perl với lệnh:
perl save_session.pl --savesessionfile /backup/192-168-101-208session --server 192.168.101.208 --username root --password TestPass_555Trong đó:
–– savesessionfile /backup/192-168-101-208session là tên của tệp phiên được tạo
–– server 192.168.101.208 là tên của máy chủ ESXi mà phiên làm việc được lưu (máy chủ ESXi này được sử dụng trong nhiều ví dụ)
–– tên người dùng root là tên người dùng đã kết nối với máy chủ ESXi
–– mật khẩu TestPass_555 là mật khẩu của người dùng đã kết nối với máy chủ ESXi
Bây giờ bạn có thể chạy lệnh mà không cần nhập mật khẩu, nhưng bạn nên nhập khóa (tùy chọn) --sessionfile và định nghĩa đường dẫn đến tệp phiên.
Ví dụ:
esxcli --sessionfile /backup/192-168-101-208session system maintenanceMode get

Sử dụng tệp cấu hình để kết nối với máy chủ ESXi
Ý tưởng đằng sau phương pháp này là lưu thông tin đăng nhập dưới dạng văn bản thuần túy trong tệp cấu hình và tham chiếu đến tệp này khi chạy các lệnh ESXi trong vSphere CLI.
- Tạo tệp cấu hình:
vim /backup/vcli-config - Nhập thông tin đăng nhập vào phần sau:
VI_USERNAME=rootVI_PASSWORD=TestPass_555 - Lưu tệp.
- Chạy lệnh này trên máy chủ ESXi từ xa bằng vSphere CLI:
esxcli --server 192.168.101.208 --config vcli-config system maintenanceMode get
NOTE: Do thông tin đăng nhập được lưu dưới dạng văn bản thuần túy, phương pháp này không an toàn.
Sử dụng kho thông tin đăng nhập để kết nối với các máy chủ ESXi
Kho thông tin đăng nhập là tệp XML nằm trong thư mục người dùng, cụ thể tại thư mục con vmware ~/.vmware/credstore/vicredentials.xml . Ưu điểm của việc sử dụng kho thông tin đăng nhập để thực thi lệnh trên các máy chủ ESXi từ xa là mật khẩu không được lưu dưới dạng văn bản thuần túy. Do đó, phương pháp này mang lại mức độ bảo mật cao hơn.
- Để thêm thông tin đăng nhập vào kho thông tin đăng nhập, hãy chạy lệnh:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root - Danh sách các thông tin đăng nhập được lưu trong kho thông tin đăng nhập để đảm bảo rằng các thông tin cần thiết đã có sẵn:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list - Chạy lệnh trên máy chủ ESXi từ xa mà không cần nhập mật khẩu bằng cách sử dụng kho thông tin đăng nhập:
# esxcli --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode getNếu bạn sử dụng người dùng không phải root, tệp thông tin đăng nhập sẽ được lưu trong /home/user_name/.vmware/credstore/vicredentials.xml

Trong ảnh chụp màn hình bên dưới, bạn có thể thấy cách thông tin đăng nhập được lưu trong tệp kho thông tin đăng nhập.

Sử dụng vSphere CLI để sao lưu cấu hình máy chủ ESXi
Bây giờ bạn đã cấu hình vSphere CLI trên máy Ubuntu Linux, bạn có thể chạy các lệnh và sao lưu cấu hình ESXi:
- Truy cập vào thư mục /usr/bin/ :
cd /usr/bin - Để tạo bản sao lưu cấu hình ESXi mà không cần nhập tên người dùng và mật khẩu, hãy sử dụng một trong các lệnh dưới đây.
- Đối với tên người dùng và mật khẩu được lưu trong kho thông tin đăng nhập, hãy sử dụng lệnh:
vicfg-cfgbackup --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml -s /backup/192-168-101-208-esxi-cfg.tgz - Hoặc sau khi lưu phiên làm việc vào tệp phiên, hãy sử dụng lệnh:
vicfg-cfgbackup --sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz
NOTE:Các lệnh vicfg- đã bị loại bỏ. Nếu vicfg không hoạt động trong trường hợp của bạn, hãy sử dụng các lệnh tương đương ESXCLI trong giao diện dòng lệnh khi làm việc với các máy chủ ESXi phiên bản mới nhất. Xem các lệnh cho các phương pháp sao lưu cấu hình ESXi khác.Nhược điểm của việc sử dụng tùy chọn –– sessionfile là thời gian chờ khi không hoạt động trong 30 phút sau khi chạy lệnh cuối cùng trong vSphere CLI. Sau đó, bạn phải xác thực và tạo tệp phiên lại.
- Nếu bạn muốn tạo bản sao lưu cấu hình ESXi trong khi nhập mật khẩu ở chế độ tương tác, bạn có thể chạy lệnh:
vicfg-cfgbackup --server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz
- Đối với tên người dùng và mật khẩu được lưu trong kho thông tin đăng nhập, hãy sử dụng lệnh:
Cách tự động hóa việc sao lưu cấu hình ESXi
Nếu bạn đang làm việc trong một môi trường thay đổi liên tục và cấu hình của các máy chủ ESXi thường xuyên thay đổi, việc sao lưu thủ công các máy chủ ESXi có thể không thực tế. Trong trường hợp này, bạn có thể tự động hóa việc sao lưu cấu hình ESXi bằng cách thêm lệnh sao lưu hoặc tập lệnh sao lưu chứa nhiều lệnh vào bộ lập lịch. Crontab là một bộ lập lịch trong Linux.
- Chỉnh sửa cấu hình bộ lập lịch trong Linux để chạy lệnh sao lưu cấu hình ESXi định kỳ và tự động.
crontab -eNOTE:Nếu bạn đang chỉnh sửa cấu hình crontab lần đầu tiên, bạn nên chọn trình soạn thảo văn bản mặc định phải được sử dụng để chỉnh sửa cấu hình crontab. Trong ví dụ của chúng tôi, chúng tôi sử dụng /usr/bin/vim.basic cho mục đích này.Định dạng của cấu hình crontab như sau:
minutes hours day_of_the_month month day_of_the_week command - Hãy sao lưu cấu hình máy chủ ESXi vào lúc 03:25 sáng mỗi đêm bằng cách thêm dòng sau vào cấu hình crontab:
25 03 * * * /usr/bin/vicfg-cfgbackup --server 192.168.101.208 --config /backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz - Viết cấu hình của crontab trình lập lịch và thoát khỏi trình soạn thảo văn bản vim (được sử dụng trong ví dụ này):
:wq
- Hãy đợi đến sau 03:25 sáng để kiểm tra thư mục mà các tệp cấu hình sao lưu ESXi phải được lưu vào:
ls -alNhư bạn có thể thấy trong ảnh chụp màn hình bên dưới, tệp sao lưu cấu hình máy chủ ESXi đã được tạo tự động vào lúc 03:25.

Bây giờ bản sao lưu cấu hình ESXi đã được tạo tự động, điều này rất tốt, nhưng có một nhược điểm. Mỗi khi crontab chạy lệnh đã lên lịch để tạo bản sao lưu cấu hình ESXi, tệp tgz trước đó sẽ bị ghi đè bởi tệp mới tgz . Điều này có thể gây ra vấn đề nếu bản sao lưu có cấu hình ESXi chính xác được tạo vào ngày hôm kia bị ghi đè bởi tệp được tạo vào ngày hôm sau chứa cấu hình ESXi không chính xác. Để ngăn chặn vấn đề này, bạn nên sao lưu cấu hình ESXi vào các tệp khác nhau.
Hãy tạo một tập lệnh đơn giản để lưu cấu hình ESXi mỗi lần dưới dạng một tệp riêng biệt với tên tệp duy nhất chứa ngày và giờ tạo tệp sao lưu cấu hình ESXi trong tên tệp. Việc tạo tập lệnh cho phép bạn thêm các lệnh để sao lưu nhiều máy chủ ESXi bằng cách chạy một tập lệnh duy nhất.
- Tạo tệp esxi_backup.sh trong thư mục /backup/:
vim /backup/esxi_backup.sh - Thêm các dòng vào tệp như sau:
#!/bin/bashESXI101_208_BACKUP_NAME="192-168-101-208-$(date +'%Y%m%d_%H%M%S')esxi-cfg.tgz"vicfg-cfgbackup --server 192.168.101.208 --config /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME - Lưu các thay đổi vào tệp và thoát khỏi trình soạn thảo văn bản vim:
:wq - Đặt quyền thực thi cho tệp:
chmod +x /backup/esxi_backup.sh - Chỉnh sửa cấu hình trình lập lịch:
crontab -e - Thêm dòng như sau:
50 06 * * * /backup/esxi_backup.shDòng cấu hình này cho phép chúng ta thiết lập crontab để chạy tập lệnh sao lưu cấu hình ESXi vào lúc 06:50 sáng.
Vô hiệu hóa tác vụ đã lên lịch trước đó bằng cách thêm ký tự # vào đầu dòng.
Lưu cấu hình.

- Chờ đến thời gian đã đặt và sau đó kiểm tra xem tệp lưu trữ sao lưu cấu hình ESXi đã được tạo hay chưa.

Đây là một skript đơn giản minh họa ý tưởng tự động hóa. Bạn có thể tạo các skript phức tạp hơn để sao lưu nhiều máy chủ ESXi.
NOTE: Sau mỗi lần khởi động lại ESXi hoặc sau 30 phút không hoạt động, xác thực cho phiên ESXi sẽ hết hạn. Hãy lưu ý tính năng này khi tạo skript sao lưu ESXi tự động.
Cách khôi phục cấu hình ESXi trong vSphere CLI
Các yêu cầu để khôi phục cấu hình ESXi bằng vSphere CLI tương tự như các phương pháp khác. Để khôi phục cấu hình ESXi, hãy đảm bảo rằng truy cập từ xa qua SSH đã được bật và địa chỉ IP của máy chủ ESXi đã được biết (bạn nên sử dụng cùng địa chỉ IP với địa chỉ IP của máy chủ ESXi đã sao lưu).
Để khôi phục cấu hình ESXi, hãy chạy lệnh như sau:
vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -l backup_file
Trong ví dụ cụ thể này, lệnh là:
vicfg-cfgbackup --server=192.168.101.208 --username=root -l /backup/192-168-101-208-esxi-cfg.tgz
Nếu UUID của máy chủ ESXi đích mà bạn muốn khôi phục cấu hình khác với UUID của máy chủ ESXi đã sao lưu (UUID này được định nghĩa trong tệp Manifest.txt tại bên trong tệp nén tgz tại ), bạn có thể sử dụng khóa -f (force) để ghi đè UUID.

Bạn có thể kiểm tra UUID của máy chủ ESXi đang chạy bằng lệnh, như bạn nhớ:
esxcfg-info -u
NOTE: Từ ESXi 7.0 U2 trở đi, việc ghi đè UUID bắt buộc sẽ không hoạt động nếu máy chủ ESXi sử dụng TPM (Trusted Platform Module).
Phương pháp 3: Sử dụng PowerCLI để sao lưu máy chủ ESXi
Người dùng thích Windows PowerShell có thể sử dụng PowerCLI để quản lý vSphere để sao lưu cấu hình ESXi. PowerCLI là một bộ các lệnh cmdlet của PowerShell, và một số lệnh PowerCLI cơ bản được giải thích tại bài viết trên blog này.
Để sử dụng PowerCLI sao lưu một máy chủ ESXi, trước tiên bạn phải Cài đặt PowerCLI trên hệ điều hành của mình:
- Chạy PowerCLI với tư cách quản trị viên trong Windows.
- Kết nối với máy chủ ESXi của bạn:
Connect-VIServer ESXi_IP_address -user user_name -password your_passwordTrong trường hợp của chúng tôi, chúng tôi sử dụng các lệnh:
Connect-VIServer 192.168.101.208 -user root -password TestPass_555Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -DestinationPath "C:backup ESXi host"
- Nếu các máy chủ ESXi của bạn được quản lý bởi vCenter Server, bạn có thể kết nối với vCenter trước và sau đó sao lưu cấu hình ESXi trên các máy chủ của bạn trong PowerCLI mà không cần xác thực mỗi lần trước khi sao lưu cấu hình của từng máy chủ:
Connect-VIServer 10.10.10.16Nhập tên đăng nhập và mật khẩu quản trị để truy cập vCenter Server. Một cửa sổ bật lên sẽ xuất hiện cho mục đích này.

- Nếu các máy chủ ESXi của bạn được quản lý bởi vCenter Server, bạn có thể kết nối với vCenter trước và sau đó sao lưu cấu hình ESXi trên các máy chủ của bạn trong PowerCLI mà không cần xác thực mỗi lần trước khi sao lưu cấu hình của từng máy chủ:
- Sao lưu cấu hình ESXi của từng máy chủ:
Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath "C:backup ESXi host"Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath "C:backup ESXi host"
Cách khôi phục cấu hình ESXi trong PowerCLI
- Chạy VMware PowerCLI với quyền quản trị viên.
- Kết nối với máy chủ ESXi mà bạn muốn khôi phục cấu hình. Trong ví dụ của chúng tôi, chúng tôi khôi phục cấu hình trên máy chủ ESXi có địa chỉ IP 192.168.101.208
- Đưa máy chủ ESXi vào chế độ bảo trì:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance - Đảm bảo rằng các máy ảo (VM) trên máy chủ ESXi đó đã được tắt nguồn hoặc di chuyển sang một máy chủ ESXi khác trước khi khôi phục cấu hình ESXi. Lưu ý rằng sau khi thực thi lệnh khôi phục cấu hình, máy chủ ESXi sẽ tự động khởi động lại.
- Khôi phục cấu hình bằng lệnh
Set-VMHostFirmware restore:Set-VMHostFirmware -vmhost 192.168.101.208 -Restore -SourcePath "C:backup ESXi hostconfigBundle-192.168.101.208.tgz" -HostUser root -HostPassword TestPass_555
Phiên bản, số bản dựng và UUID của máy chủ ESXi mà cấu hình được khôi phục phải trùng khớp với phiên bản, số bản dựng và UUID của máy chủ ESXi mà bạn đang sử dụng bản sao lưu để khôi phục cấu hình. Sử dụng khóa -force trong lệnh để bỏ qua kiểm tra UUID.
Phương pháp 4: Sao lưu và khôi phục cấu hình ESXi thủ công
Bạn cũng nên chuẩn bị cho tình huống không thể đăng nhập vào máy chủ ESXi hoặc khi máy chủ ESXi không thể khởi động và bạn không thể sử dụng giao diện dòng lệnh để chạy lệnh sao lưu hoặc khôi phục cấu hình ESXi. Điều này có thể xảy ra do lỗi phần cứng hoặc vấn đề phần mềm. Trong trường hợp này, tốt hơn là bạn nên biết cách sao lưu và khôi phục cấu hình ESXi thủ công. Như bạn đã biết từ cấu hình mặc định của crontab trên một máy chủ ESXi, tập lệnh /sbin/auto-backup.sh sẽ được chạy mỗi giờ và mỗi khi máy chủ ESXi được khởi động lại hoặc tắt máy. Tập lệnh này nhằm sao lưu (lưu trữ) cấu hình ESXi được lưu trong bộ nhớ vào tệp /bootbank/state.tgz .
NOTE: Tệp /bootbank/state.tgz không được mã hóa để sử dụng phương pháp này.
Cấu hình ESXi được lưu trữ trong bộ nhớ RAM của máy tính khi máy chủ ESXi đang chạy (đĩa RAM tương ứng được gắn vào thư mục /etc/ ). Khi ESXi khởi động, các tệp hệ thống được trích xuất từ kho lưu trữ /bootbank/state.tgz vào thư mục /etc/ . Bạn có thể sao chép thủ công tệp /bootbank/state.tgz nếu máy chủ ESXi đang chạy bằng cách sử dụng trình khách SCP như WinSCP (phải bật quyền truy cập SSH từ xa). Ngoài ra, bạn có thể khởi động từ đĩa DVD Live và sao chép thủ công tệp state.tgz nếu máy chủ ESXi không thể khởi động (ví dụ: do lỗi phần cứng).
Quy trình khôi phục thủ công
- Chuẩn bị tệp sao lưu mà bạn đã tạo trước đó bằng ESXi shell, vSphere CLI hoặc PowerCLI. Tên tệp là configBundle-192-168-101-208.tgz trong trường hợp của chúng tôi. Bạn có thể sao chép tệp vào một ổ USB, ví dụ, và cắm ổ USB đó vào cổng USB của máy chủ ESXi mà bạn cần khôi phục cấu hình hệ thống.
- Khởi động từ đĩa CD/DVD trực tiếp trên máy tính cài đặt ESXi. Bạn có thể sử dụng đĩa cài đặt Ubuntu làm đĩa CD/DVD trực tiếp.
- Mở giao diện dòng lệnh (terminal) trong Linux.
- Danh sách các phân vùng:
ls -al /dev/sd*fdisk -l | grep /dev/sdaTrong trường hợp này, chúng ta cần phân vùng /dev/sda5/ được đánh dấu là Microsoft basic data.
Các phân vùng đĩa ESXi đã được đề cập trong bài đăng trên blog về Khởi động ESXi từ ổ USB và Khôi phục mật khẩu ESXi.

Trong trường hợp này, chúng ta quan tâm đến phân vùng /dev/sda5 .
- Tạo thư mục mà phân vùng /dev/sda5 sẽ được gắn vào:
mkdir /mnt/sda5 - Gắn phân vùng đĩa vào thư mục đó:
mount /dev/sda5 /mnt/sda5 - Trong thư mục /mnt/sda5 , bạn có thể tìm thấy tệp state.tgz , chứa cấu hình ESXi. Thư mục này (nơi lưu trữ các tệp state.tgz ) được gọi là /bootblank/ khi máy chủ ESXi được khởi động.
- Sao chép tệp lưu trữ bản sao lưu cấu hình ESXi từ ổ USB vào thư mục /tmp/ của hệ điều hành Ubuntu được khởi động từ đĩa DVD Live. Trong ví dụ của chúng ta, chúng ta sao chép:
cp /media/Ubuntu/Ubuntu 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz - Giải nén các tệp từ tệp lưu trữ bản sao lưu:
tar zxvf /tmp/configBundle.tgz - Bạn có thể thấy rằng tệp state.tgz đã được giải nén khỏi tệp lưu trữ:
ls -al /tmp/ - Đổi tên tệp gốc state.tgz nằm trên phân vùng
/dev/sda5được gắn vào /mnt/sda5/mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz - Sao chép tệp state.tgz mà bạn đã trích xuất từ kho lưu trữ sao lưu cấu hình ESXi ( configBundle.tgz ) vào thư mục /tmp/ :
cp /tmp/state.tgz /mnt/sda5/ - Gỡ gắn các phân vùng đã gắn:
umount /dev/sda5/ - Khởi động lại máy chủ. Rút đĩa DVD Ubuntu Live và khởi động từ đĩa cài đặt ESXi.
init 6
Bây giờ cấu hình ESXi của bạn đã được khôi phục.
Các phương pháp hay nhất để sao lưu cấu hình ESXi
Để tích hợp các hoạt động sao lưu máy chủ ESXi vào chiến lược sao lưu chung của bạn và làm cho chiến lược này hiệu quả, hãy tuân theo các phương pháp hay nhất để sao lưu cấu hình ESXi. Các phương pháp này cho phép bạn đảm bảo rằng các bản sao lưu của bạn nhất quán, an toàn và có thể được khôi phục khi cần thiết.
Lịch trình sao lưu định kỳ
Lịch trình sao lưu định kỳ cho cấu hình ESXi là rất quan trọng để đảm bảo rằng các thay đổi cấu hình, chẳng hạn như cấu hình mạng, đăng ký máy ảo (VM) và các thiết lập khác được ghi lại một cách nhất quán trong các bản sao lưu. Nếu bạn có bản sao lưu cấu hình ESXi mới nhất, bạn có thể khôi phục máy chủ ESXi với cấu hình mới nhất và giảm thiểu thời gian ngừng hoạt động (bằng cách tránh phải cấu hình lại các thay đổi gần đây một cách thủ công).
Các thực hành tốt nhất liên quan đến tần suất sao lưu cấu hình ESXi bao gồm:
- Sao lưu cấu hình ESXi sau các thay đổi quan trọng, chẳng hạn như cập nhật cài đặt mạng, thay đổi cấu hình máy ảo (VM), thay đổi cấu hình kho dữ liệu (datastore), v.v.
- Cấu hình lịch trình định kỳ để đảm bảo bạn không quên sao lưu cấu hình ESXi. Cấu hình lịch trình hàng ngày, hàng tuần hoặc hàng tháng tùy thuộc vào tần suất thay đổi cấu hình ESXi trong môi trường của bạn.
- Tự động hóa việc sao lưu bằng cách sử dụng các tập lệnh được lên lịch trong dòng lệnh ESXi, PowerCLI và các giao diện được hỗ trợ khác.
- Lưu giữ nhiều phiên bản sao lưu cấu hình ESXi được tạo vào các thời điểm khác nhau. Cách làm này cho phép bạn khôi phục các cấu hình cũ hơn nếu cấu hình mới hơn không chính xác hoặc nếu cấu hình mới nhất bị hỏng.
Bảo mật tệp sao lưu
Bảo mật các tệp sao lưu ESXi để đảm bảo rằng bên thứ ba, người dùng không được ủy quyền hoặc kẻ tấn công không thể truy cập cấu hình ESXi của bạn. Thực hành này giảm thiểu rủi ro bảo mật và cũng hạn chế nguy cơ xóa nhầm các bản sao lưu.
- Sử dụng các công cụ mã hóa để bảo vệ các bản sao lưu được lưu trữ trên đĩa hoặc trên đám mây. Sử dụng mã hóa AES-256 cho các bản sao lưu cục bộ.
- Lưu trữ các bản sao lưu tại một vị trí an toàn với quyền truy cập bị hạn chế (máy chủ sao lưu chuyên dụng hoặc dịch vụ lưu trữ đám mây có chính sách IAM).
- Hạn chế quyền truy cập chỉ dành cho nhân viên được ủy quyền.
- Lưu trữ các bản sao lưu tại nhiều vị trí (ví dụ: lưu trữ cục bộ, NAS và các dịch vụ đám mây như AWS S3).
- Sử dụng các giao thức an toàn như SCP hoặc SFTP khi chuyển tệp sao lưu giữa các hệ thống.
Kiểm tra quy trình khôi phục
Kiểm tra bản sao lưu ESXi giúp đảm bảo rằng các cấu hình có thể được khôi phục thành công trong trường hợp xảy ra sự cố yêu cầu các hành động khôi phục. Việc kiểm tra là cần thiết để đảm bảo các quy trình khôi phục có thể hoàn thành như mong đợi và giúp xác định các vấn đề tiềm ẩn.
- Kiểm tra quy trình khôi phục định kỳ để đảm bảo tính toàn vẹn của bản sao lưu.
- Khôi phục cấu hình trên một máy chủ ESXi thử nghiệm hoặc trong môi trường sandbox.
- Tạo tài liệu giải thích các quy trình khôi phục cấu hình ESXi. Tạo hướng dẫn từng bước để khôi phục cấu hình ESXi, bao gồm các lệnh và các yếu tố phụ thuộc.
- Kiểm tra tính chính xác của cấu hình đã khôi phục, bao gồm cài đặt mạng, ánh xạ kho dữ liệu và đăng ký máy ảo.
Mô phỏng các tình huống khắc phục thảm họa để xác minh hiệu quả của chiến lược sao lưu và khôi phục của bạn.
Kết luận
Sử dụng giao diện dòng lệnh ESXi là một lựa chọn tốt vì bạn không cần cài đặt phần mềm bổ sung. Những ưu điểm của vSphere CLI là khả năng thực thi lệnh từ xa thông qua các máy Linux và khả năng tự động hóa việc sao lưu cấu hình ESXi. Ngược lại, PowerCLI có thể được người dùng Windows ưa chuộng.
Nếu một máy chủ ESXi không hoạt động bình thường và bạn không thể khởi động máy chủ đó, bạn có thể sao lưu và khôi phục cấu hình theo cách thủ công. Lưu ý rằng bootblank thông tin và thông tin về các máy ảo (VM) không được lưu trữ trong tệp sao lưu cấu hình ESXi. Sau khi khôi phục cấu hình ESXi, bạn có thể cần đăng ký các máy ảo vào danh sách tài sản của mình.
Được khuyến nghị rằng bạn nên sao lưu các máy ảo vSphere bên cạnh việc sao lưu các máy chủ ESXi. NAKIVO Backup & Replication là giải pháp sao lưu toàn diện có thể sao lưu các máy ảo VMware, Hyper-V và các bản sao Amazon EC2 cũng như các máy chủ Linux và Windows vật lý.