Nhầm lệnh khi thực hiện vá lỗi phiên bản vSphere ESXi Host 7.0U3p


Phần 1. Đặt vấn đề:

Nhiều bạn có gửi cho mình thông tin sau:

  • Kiểm tra và tải xuống bản vá mới: VMMware-ESXi-7.0U3p-23307199-depot

 

  • Sau khi tải xuống thành công, chúng ta dùng WINSCP đẩy file vá lỗi đó vào 1 volumes của ESXi cần vá lỗi.
  • Tiếp theo dùng PuTTy chạy lệnh vá lỗi

 

Ở đây xuất hiện dòng lỗi: Could not download from depot at zip… Error extracting index.xml

 

Phần 2. Phân tích Vấn đề:

  • Không thể tải xuống từ kho tại zip
  • Khi sử dụng gói phần mềm ngoại tuyến, bạn không thể cài đặt trình điều khiển không đồng bộ hoặc các bản nâng cấp mới nhất trên máy chủ ESXi bằng dòng lệnh (CLI).

Tóm tắt Sơ bộ:

  • Không thể tải xuống từ kho tại zip
  • Lỗi trích xuất file index.xml
  • Không có tập tin hoặc thư mục
  • Bạn nghĩ là đã tải về file vá lỗi Full Offline rồi sao lại hỏi về các bản tải thêm và phải Online (ESXi không bao giờ cho phép lớp mạng MNGT lại Online).

 

Kiểu phác họa câu hỏi lỗi:

 

Phần 3. Phân tích Phương pháp khả thi:

 

Giả sử 1:

  • Nếu bạn đang thực hiện nâng cấp trực tuyến, hãy xác minh cài đặt cổng và DNS của máy chủ ESXi của bạn (vô lý: vì ESXi, vCenter không bao giờ được kết nối trực tiếp hoặc được NAT FW để truy cập từ Internet vào, và cũng không được trực tiếp kết nối ra internet qua lớp MNGT Network).
  • Đảm bảo rằng trình điều khiển/kho dữ liệu hệ điều hành không bị đầy vùng Volume đang chứa phần vá lỗi. (Nếu có, hãy thử giải phóng không gian, thông thường không gặp tình huống này do vùng VMFS OS của ESXi Host 7.x có vùng Data lớn hơn 900 MB – 30GB).
  • Đảm bảo máy chủ ESXi của bạn đang ở chế độ bảo trì (điều này là hiển nhiên trong quy trình vá lỗi ESXi 7.x tất cả VMs phải được vMotion hoặc Suspend hoặc Power Off).
  • Kiểm tra và kiểm tra kỹ cú pháp lệnh esxcli.

Một số gợi ý khác:

  • Không chạy lệnh từ vị trí kho dữ liệu. Đường dẫn được chỉ định phải tuyệt đối, đảm bảo sử dụng đường dẫn đầy đủ tới tệp zip.
  • Hãy thử sử dụng kho dữ liệu ESXi cục bộ.
  • Hãy thử sử dụng UUID kho dữ liệu.

Qua kiểm chứng hoặc suy luận thì Giả sử 1 không giải quyết vấn đề khúc mắc.

 

Tư duy và tiêu chuẩn của dòng lệnh: Tôi phát hiện ra là cấu trúc dòng lệnh bạn dùng không đúng với mục đích của bạn đang cần:

  1. Dòng lệnh dùng để vá lỗi gọi tắt là “Vib updates“:

     

    esxcli software vib update -d /vmfs/volumes/datastore_name/vib_update.zip

     

  2. Dòng lệnh dùng để nâng cấp phiên bản từ 5.5 à 6.5 hoặc 6.7 lên 7.x gọi tắt là “Version upgrades“:

     

    esxcli software profile update -p Image_Profile_Name -d /vmfs/volumes/datastore_name/ESXi_Upgrade_File.zip

     

     

Phần 4. Thực hành:

VMware ESXi Release and Build Number History | virten.net


Bạn có thể đặt câu hỏi trong AI POE.com >ChatGPT như sau:

  • Lệnh vá lỗi cho esxi vsphere 7.0 u3p từ putty kết nối tới SSH của vphere 7.0u3p là như thế nào? tôi đã tải file VMware-ESXi-7.0U3p-23307199-depot.zip vào /vmfs/volumes/datastore của esxi thông qua WINSCP rồi?

Câu trả lời của AI:

Để vá lỗi trên ESXi vSphere 7.0 U3p thông qua kết nối SSH và sử dụng file VMware-ESXi-7.0U3p-23307199-depot.zip đã được tải lên vào `/vmfs/volumes/datastore`, bạn có thể thực hiện các bước sau:

1. Mở PuTTY và kết nối đến ESXi host bằng SSH.

2. Đăng nhập vào ESXi host bằng tài khoản root hoặc tài khoản có quyền Administrator.

3. Di chuyển đến thư mục `/vmfs/volumes/datastore` bằng lệnh sau:

“`

cd /vmfs/volumes/datastore

“`

(Thay thế `datastore` bằng tên thực tế của datastore mà bạn đã tải file `VMware-ESXi-7.0U3p-23307199-depot.zip` vào)

4. Sử dụng lệnh sau để kiểm tra xem file `VMware-ESXi-7.0U3p-23307199-depot.zip` đã được tải thành công:

“`

ls -l

“`

Đảm bảo rằng file `VMware-ESXi-7.0U3p-23307199-depot.zip` hiển thị trong danh sách.

5. Sử dụng lệnh sau để thực hiện việc vá lỗi trên ESXi host:

“`

esxcli software vib update -d /vmfs/volumes/datastore/VMware-ESXi-7.0U3p-23307199-depot.zip

“`

Quá trình vá lỗi sẽ được thực hiện và bạn sẽ nhận được thông báo về quá trình cài đặt và kết quả của việc vá lỗi.

6. Đợi quá trình vá lỗi hoàn tất.

7. Khởi động lại ESXi host để áp dụng các thay đổi:

“`

reboot

“`

Lưu ý rằng quá trình vá lỗi trên ESXi host có thể mất một khoảng thời gian và ESXi host sẽ tạm thời không khả dụng trong thời gian này. Hãy đảm bảo rằng bạn đã sao lưu dữ liệu quan trọng và đã thông báo cho người dùng trước khi thực hiện quá trình này.

Nếu bạn gặp bất kỳ vấn đề nào hoặc cần hỗ trợ chi tiết, hãy liên hệ với nhà cung cấp hoặc bộ phận hỗ trợ của VMware.

 

Phần 2: Thực hành kiểm chứng:

Nhập lệnh trong puTTy /SSH:

esxcli software vib update -d /vmfs/volumes/datastore/VMware-ESXi-7.0U3p-23307199-depot.zip

 

 

Bạn sẽ phải Reboot lại Host.




 

Sau khi khởi động lại ESXi, dùng lại PuTTy kết nối qua SSH và kiểm tra versio đã được update chưa?

  • Câu hỏi dành cho AI: poe.com > ChatGPT:

Dùng puTTy kết nối vào ESXi có thể dùng lệnh gì để kiểm tra version của ESXi 7.0u3p ?

  • Câu trả lời:

Để kiểm tra phiên bản của ESXi 7.0 U3p thông qua PuTTY, bạn có thể sử dụng lệnh sau:

“`

vmware -vl

“`

Sau khi kết nối thành công vào ESXi host bằng PuTTY, nhập lệnh trên và nhấn Enter. Hệ thống sẽ hiển thị thông tin về phiên bản ESXi, bao gồm số phiên bản chính, build number và tên của phiên bản.

Chú ý rằng lệnh `vmware -vl` đòi hỏi quyền root hoặc quyền Administrator để chạy thành công.


Gõ lệnh: vmware -vl

Dùng trang web: VMware ESXi Release and Build Number History | virten.net

Cách 2 Dùng PuTTyGen có thể sinh key PPK và cấu hình Public key bảo vệ SSH của Ubuntu 20.04


Phần 1. Tạo PPK từ PuTTyGen để import PPK cho WINSCP/PuTTy và Export Pub key cho Ubuntu server:

Dưới đây là các bước sử dụng PuTTYgen để tạo khóa PPK và cấu hình bảo vệ SSH trên Ubuntu 20.04:

Bước 1.
Tạo khóa PPK bằng PuTTYgen:    

Tải và cài đặt PuTTYgen trên máy tính của bạn (nếu chưa có).

Mở PuTTYgen.

Bước 2. Chọn “RSA” làm loại khóa.

Bước 3. Nhấp vào nút “Generate” để bắt đầu quá trình tạo khóa.

Di chuyển chuột trong ô “Key” để tạo ngẫu nhiên.

Bước 4. Bạn nên cung cấp một cụm từ bảo mật (passphrase) cho khóa.

Bước 5. Nhấp vào nút “Save private key” để lưu khóa riêng tư (.ppk) và chọn vị trí lưu trữ.

Bước 6. Sao chép khóa công khai từ ô “Key” và lưu thành một tệp văn bản (.pub) hoặc sao chép vào clipboard.

 

Phần 2. Cấu hình bảo vệ SSH trên Ubuntu 20.04:

Bước 7. Truy cập vào máy chủ Ubuntu 20.04 qua kết nối SSH.

Bước 8. Mở tệp cấu hình SSH bằng trình soạn thảo văn bản (ví dụ: sudo nano /etc/ssh/sshd_config).

Tìm và chỉnh sửa các cài đặt sau (nếu không có, hãy thêm vào cuối tệp):

PubkeyAuthentication yes (cho phép xác thực bằng khóa công khai)

PasswordAuthentication no (vô hiệu hóa xác thực mật khẩu)

PermitRootLogin yes (đăng nhập trực tiếp với tài khoản root)

    ChallengeResponseAuthentication no

    và

    AuthorizedKeysFile /root/.ssh/authorized_keys

Bấm Ctrl+X để Lưu và đóng tệp cấu hình SSHD.

Lưu ý: do chúng ta có dùng lệnh Include /etc/ssh/sshd_config.d/*.conf nên chúng ta còn phải kiểm tra thư mục: ls /etc/ssh/sshd_config.d/

Xem có thể còn phải sửa cấu hình file: 50-cloud-init.conf

Bấm Ctrl+X để Lưu và đóng tệp cấu hình SSHD.

 

Bước 9. Sao chép khóa công khai (public key) vào máy chủ Ubuntu 20.04: bằng cách mở lại file PPK *.pub bằng notepad++ hoặc PuTTyGen

Rồi copy vào màn soạn thảo đang mở ở PuTTy bằng lệnh nano /root/.ssh/authorized_keys có trên máy chủ Ubuntu.

Bước 10. Đảm bảo rằng tệp tin authorized_keys trên máy chủ có quyền truy cập chính xác:

sudo chmod 600 /root/.ssh/authorized_keys

sudo chmod 700 /root/.ssh/

Lệnh trên sẽ đảm bảo rằng tệp tin authorized_keys có quyền truy cập đúng và không bị truy cập bởi người dùng khác.

Bước 11. Khởi động lại dịch vụ SSH để áp dụng thay đổi: sudo systemctl restart sshd.

 

Bước 12. Ngay sau khi khởi động lại SSHD, chúng ta dùng WINSCP với cấu hình kết nối SSH port 22 ban đầu và kết nối sẽ bị báo lỗi

 

Bước 13. Để sửa được kết nối SSH và import key PPK vào WINSCP/PuTTy:

Chúng ta mở WINSCP và chọn kết nối SSH cần sửa.

Bấm Advanced… và chọn SSH > Authentication

Bước 14. Bấm OK sau khi đã chọn import đúng file PPK, bấm Save để lưu cấu hình

Sau cùng là bấm Login sau khi save

Bước 16. Trong cấu hình kết nối SSH, chỉ định khóa riêng tư PPK bạn đã tạo.

Kết nối đến máy chủ Ubuntu 20.04 và sử dụng khóa đăng nhập đã được tạo ở bước 4.

 

Tác hại của việc tạo PPK và bắt kết nối SSH tới Ubuntu bằng Public key đều dẫn tới việc Wireshark không capture được các gói tin qua ethernet

Cách cài PowerCLI VMware và nâng cấp Version 6.5.0 lên 13.0 dùng để chạy Admin CLI và PS giúp Troubleshoot ESXi, vCenter hoặc đóng gói ISO Media Customize VMvisor.iso mới


Phần 1. Download và Cài đặt PowerCLI 6.5.0:

Tham khảo Download và nâng cấp PowerCLI for windows:  https://developer.vmware.com/web/tool/vmware-powercli 

Thảm khảo hướng dẫn: 

  • Bước 1. Cài và mở chạy PowerCLI 6.5.0 bằng quyền Run As Admin
  • Bước 2. Gõ lệnh 1: Set-ExecutionPolicy Bypass -Scope Process -Force
  • Bước 3. Gõ lệnh 2: Install-Module VMware.PowerCLI -Scope CurrentUser -SkipPublisherCheck


 
 

Phần 2. Tình huống lỗi khi nâng cấp từ PowerCLi 6.5.0 lên 13.0:

Trước đây tôi đang dùng PowerCLI VMware.vimautomation.core 6.5.0, khi tôi nâng cập bằng hàm chạy Install-Module VMware.PowerCLI -Scope CurrentUser thì báo lỗi Untrusted repository
You are installing the modules from an untrusted repository. If you trust this repository, change its
InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from
‘PSGallery’? và nếu chọn Y thì bị báo lỗi chữ ký số PackageManagement\Install-Package : Authenticode issuer ‘CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert
Inc, C=US’ of the new module ‘VMware.VimAutomation.Core’ with version ‘13.1.0.21606170’ is not matching with the
authenticode issuer ‘CN=VeriSign Class 3 Public Primary Certification Authority – G5, OU=”(c) 2006 VeriSign, Inc. –
For authorized use only”, OU=VeriSign Trust Network, O=”VeriSign, Inc.”, C=US’ of the previously-installed module
‘VMware.VimAutomation.Core’ with version ‘6.5.0.2604913’. If you still want to install or update, use
-SkipPublisherCheck parameter.
At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809 char:21

    … $null = PackageManagement\Install-Package @PSBoundParameters

                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    CategoryInfo : InvalidOperation: (Microsoft.Power….InstallPackage:InstallPackage) [Install-Package],
    Exception
    FullyQualifiedErrorId : AuthenticodeIssuerMismatch,Validate-ModuleAuthenticodeSignature,Microsoft.PowerShell.Pac
    kageManagement.Cmdlets.InstallPackage vậy có cách nào fix lỗi trên để nâng cấp đưỡ phiên bản PowerCLI lên version 13 ?

Lỗi bạn gặp phải là do các chứng chỉ xác thực (authenticode) của module VMware.VimAutomation.Core không khớp với chứng chỉ của phiên bản trước đó. Để giải quyết vấn đề này và nâng cấp PowerCLI lên phiên bản 13, bạn có thể thực hiện các bước sau:

  • Mở PowerShell với quyền quản trị (Run as Administrator).
  • Chạy lệnh sau để tắt kiểm tra chữ ký số khi cài đặt module: Set-ExecutionPolicy Bypass -Scope Process -Force
  • Chạy lệnh sau để cài đặt phiên bản mới của PowerCLI: Install-Module VMware.PowerCLI -Scope CurrentUser -AllowClobber -SkipPublisherCheck

Lưu ý: Thêm tham số `-AllowClobber` để ghi đè lên phiên bản cũ nếu cần thiết.

    Khi được hỏi “Are you sure you want to install the modules from ‘PSGallery’?”, trả lời “Y” để tiếp tục quá trình cài đặt.

Với các tham số -SkipPublisherCheck và -AllowClobber, bạn sẽ bỏ qua kiểm tra chứng chỉ xác thực và ghi đè lên phiên bản cũ nếu cần. Tuy nhiên, hãy lưu ý rằng việc bỏ qua kiểm tra chữ ký số có thể tiềm ẩn rủi ro bảo mật. Do đó, hãy đảm bảo bạn tải module từ nguồn đáng tin cậy.


Hệ thống sẽ tự động vá và nâng cấp các PS lên version mới:


Sau khi hoàn thành các bước trên, bạn nên đã có phiên bản mới của PowerCLI được cài đặt trên hệ thống của mình.


 

Phần 3. PowerCLi 13.0 ứng dụng tạo bản ISO Customizer ESXi Host cho các hãng máy chủ vật lý có thiết bị khác nhau:

Tham khảo: Download File source code PS1:

https://raw.githubusercontent.com/PhDLeToanThang/TanzuKubernetesGrid/main/ESXi-Customizer-PS-v2.9.0.ps1?token=GHSAT0AAAAAACIFT46CX2BXM24H2GJENIPIZIVAZ7A

https://github.com/VFrontDe-Org/ESXi-Customizer-PS/tree/master

Tham khảo hướng dẫn dùng lệnh PS1.

Do tôi download file ESXi-Customizer-PS.2.9.1.ps1 về thư mục: D:\Documents\Downloads

Mở PowerShell Windows “Run as Administrator”

  • Gõ lệnh 1: cd D:\Documents\Downloads\
  • Gõ lệnh 2: .\ESXi-Customizer-PS.2.9.0.ps1 -v80 -vft -load sata-xahci

 

Lưu ý: Sau khi download ESXi-Customizer-PS 2.9.0.ps1 – a script to build a customized ESXi installation ISO using ImageBuilder với việc nâng cấp thành công PowerCLI 13.1.0 chạy thành PS với lệnh .\ESXi-Customizer-PS.2.9.0.ps1 -v80 -vft -load sata-xahci,net55-r8168 thì bị lỗi: An unexpected error occurred:
Failed to initialize the VMware.ImageBuilder PowerCLI module because of error: Missing Python modules. Make sure the following Python mo
dules are installed: six, lxml, psutil, pyopenssl.
Make sure that Python 3.7.1 or higher is installed and that you have set the path to the Python executable by using Set-PowerCLIConfigur
ation -PythonPath <executable_path>. See the PowerCLI Compatibility Matrixes for information on the Python requirements.
vậy tôi cần cấu hình python như thế nào ?


Để download python: https://www.python.org/downloads/release/python-3115/

Để cấu hình Python cho PowerCLI, bạn cần thực hiện các bước sau:

Đầu tiên, hãy kiểm tra xem Python đã được cài đặt trên hệ thống của bạn và phiên bản hiện tại của nó là bao nhiêu. Bạn có thể kiểm tra bằng cách mở PowerShell và chạy lệnh sau:

python –version


Nếu Python chưa được cài đặt hoặc phiên bản hiện tại không đạt yêu cầu (Python 3.7.1 trở lên), bạn cần cài đặt Python phiên bản thích hợp.

Sau khi cài đặt Python, hãy thực hiện các bước sau để cấu hình Python cho PowerCLI:

  • Xác định đường dẫn tới thư mục cài đặt Python trên hệ thống của bạn bằng lệnh:
    • Mở cmd /admin
    • Gõ lệnh: where python


Tìm ra được đường dẫn: D:\ffmpeg\phyton3.9.7\python.exe

  • Mở PowerShell với quyền quản trị (Run as Administrator) và chạy lệnh sau để cấu hình Python cho PowerCLI:

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false -Scope AllUsers -ParticipateInCEIP $false -WebOperationTimeoutSeconds 300 -ProxyPolicy NoProxy -ProxyUseDefaultCredentials $true -PythonPath “<đường_dẫn_đến_python>”

Lưu ý:

  • Thay thế <đường_dẫn_đến_python> bằng đường dẫn thực tế tới thư mục cài đặt Python trên hệ thống của bạn.
  • Nếu máy PC bạn chạy lệnh PS không có dùng Proxy thì sẽ bỏ tham số ProxyUseDefaultCredentials $true.


  • Dùng lệnh: Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false -Scope AllUsers -ParticipateInCEIP $false -WebOperationTimeoutSeconds 300 -ProxyPolicy NoProxy -PythonPath “D:\ffmpeg\phyton3.9.7\”
  • Vui lòng lưu ý rằng PowerCLI yêu cầu Python 3.7.1 hoặc phiên bản cao hơn, và bạn cần cung cấp đường dẫn chính xác tới thư mục cài đặt Python để PowerCLI có thể tìm thấy và sử dụng.

D:\ffmpeg\phyton3.9.7> python.exe .\get-pip.py


Now install modules six, psutil, lxml, and pyopenssl, which are required by PowerCLI.

D:\ffmpeg\phyton3.9.7>pip install six psutil lxml pyopenssl

 


Bước 4. Open PowerShell and Configure PythonPath

Set-PowerCLIConfiguration -PythonPath "D:\ffmpeg\phyton3.9.7\python.exe" -Scope User



  • Sau khi hoàn thành các bước trên, bạn có thể chạy lại lệnh .\ESXi-Customizer-PS.2.9.0.ps1 -v80 -vft -load sata-xahci,net55-r8168 để xây dựng ISO tùy chỉnh của ESXi.

    Lúc này, PowerCLI sẽ sử dụng Python đã được cấu hình để thực hiện các tác vụ liên quan đến ImageBuilder.



 

 

Tham khảo các lệnh dùng tham số kèm với ESXi-Customizer-PS.2.9.0.ps1:

 

Adding additional packages from connected Online Depots:

.\ESXi-Customizer-PS-v2.6.0.ps1 -v55 -load
net-r8168,net-r8169,net-sky2

This script call will build the latest ESXi 5.5 installation ISO with the NIC drivers added that were dropped with ESXi 5.5. These packages are still in the VMware Online Depot, because they are part of all ESXi 5.0 and 5.1 image profiles, and the script just re-adds them to the latest ESXi 5.5 image profile.

 

Connect the V-Front Online Depot and other depots:

.\ESXi-Customizer-PS-v2.6.0.ps1 -v60 -vft
-load
sata-xahci,net55-r8168

This will make the script connect to the V-Front Online Depot and add the sata-xahci and net55-r8168 packages from there to the latest ESXi 6.0 Imageprofile.

 

Adding local Offline Bundles and/or VIB files:

.\ESXi-Customizer-PS-v2.6.0.ps1 -pkgDir
C:\temp\pkg

This command will add all Offline bundles and VIB files that are stored in the directory C:\temp\pkg. This way you can add 3rd party or community supported device drivers and software packages.

 

Updating an ESXi Offline bundle from the VMware Online depot:

.\ESXi-Customizer-PS-v2.6.0.ps1 -v60 -izip
.\VMware-ESXi-6.0.0-2494585-HP-600.9.1.39-Mar2015-depot.zip -update

With this script call you update a local ESXi Offline bundle (in this example: the HP customized version of ESXi 6.0 GA) with the latest ESXi 6.0 patch from the VMware Online depot. When using -update please also specify the ESXi version that matches the one of the local Offline bundle (-v65, -v60, -v55, -v51 or -v50).

 

Advanced options:
For the sake of completeness here are the remaining optional parameters:
-log: Specify a custom log file (the default is in %TEMP% or in outDir if specified)
-test : this is for testing the validity and effect of the specified parameters without actually building the output file. Can save a lot of time, because it also skips most downloads from the VMware Online depot.
-nsc : Use the -noSignatureCheck option with the export function. Try this if you get an error message like “Could not find trusted signer.” because of packages with missing or invalid electronic signatures.
-ipname
-ipdesc
-ipvendor : Override the image profile’s name, description and vendor attributes. By default the name and description are derived from the original image profile by adding the string “customized”, and the vendor is kept as is.
-remove vib1[,…] : Remove one or more VIB packages from the custom Imageprofile.

 

Phần 4. Cách tải bản ESXi 8 đã được Customizer với các Drivers của hãng máy chủ vật lý:

Lưu ý:

  • Cách trên đây phải đăng ý Account miễn phí và active account qua email cá nhân/công ty của bạn.

Links for versions 7.x and 8.x: 

Chúng ta có thể chọn đúng ISO thuộc phiên bản version ESXi 8.0u1 hoặc u2 tương ứng với máy chủ hãng vật lý phù hợp:

Bạn có thể làm tương tư với các phiên bản vSphere ESXi cũ hơn.

Nâng cấp vSphere 6.7 lên 8.0 update 1 trong thực tế cần kiểm tra như thế nào?


Hướng dẫn nâng cấp VMware ESXi 6.7, 7.x lên 8.0 update 2

FAQ. Học viên hỏi tôi về việc bạn đó muốn upgrade 2 con Esxi Host, trong đó có 1 con ESXi version 6.7.0 Update 3 (Build 15160138) và 1 con ESXi 7.0 Update 3 lên Version 8.0 để tương thích với vCenter 8.0.0.10100, vậy bạn đó muôn biết cần thực hiện các bước upgrade như thế nào để an toàn hạn chế rủi ro, nên sử dụng phương thức upgrade nào an toàn và đơn giản ?

 

Tôi đã trả lời như sau:

Bước 1. Em vao trang https://vmware.com/go/hcl và kiểm tra xem hiện thời 2 máy chut vật lý, serial máy chủ, CPU chipset có được support ngầm định với bản vSphere version 8 ?

Bước 2. Download ban va esxi update iso 8.0 update 2 để tương ứng vcenter 8 u2.

        Link Download ISO vSphere 8 update 2: https://customerconnect.vmware.com/evalcenter?p=vsphere-eval-8

Bước 3. Thử tạo 1 vm trên vsphere 6.7 hoac 7.0 cũ ( đang chạy chưa nâng cấp) và cấu vm guest os other, kiểu VMware 8 để test cấu hình và file iso bộ cài 8.0 u1 xem cài được không, cấu hình giống bài lab 1: mô-đun 3 trong E-learning.

Ví dụ: vm ESXi Nested: 8gram, 4vcpu, vd1 20GB , 2 vmnic vmxnet3 và mount cdrom vào file iso để cài test.

  • Nó chạy qua phần check cpu và cài ảo trong ảo esxi nested được là ta có thể khẳng định nâng cấp version lên 8.0 u1 được.
  • Khi bạn đó thử các bước trên ESXi Nested VM thì có màn báo:

  • vậy Bạn sẽ cứ thử next và cài xem có chạy được không nhé.

Bước 4.

  • Phải vMotion các VMs có trên từng host cũ này hoặc backup VMs vào tủ NAS/External Disk riêng trước khi định nâng cấp.
  • Trên host cũ này chỉ còn các vms chấp nhận gián đoạn tạm thời để nâng cấp.

     

Bước 5. Có 3 cách nâng cấp vSphere 6.7 lên 7.x hoặc 8.x như sau:

Cách 1. Dùng rufus tạo usb boot từ files iso 8.0u1 esxi và cắm usb vào máy chủ vật lý để reboot và chọn chế độ upgrade:

Bước 1: Chuẩn bị

Bước 2: Chuẩn bị USB

  • Kết nối USB vào máy tính.
  • Lưu ý: USB sẽ bị xóa toàn bộ dữ liệu trong quá trình tạo USB boot, hãy sao lưu các dữ liệu quan trọng trước khi tiếp tục.

Bước 3: Mở Rufus

  • Mở Rufus trên máy tính của bạn.

Bước 4: Chọn USB

  • Trong “Device” (Thiết bị), chọn USB mà bạn muốn tạo thành USB boot.

Bước 5: Chọn File ISO

  • Trong phần “Boot selection” (Lựa chọn boot), nhấp vào nút “Select” (Chọn) và tìm đến file ISO vSphere 8.0u1 ESXi bạn đã tải xuống.

Bước 6: Chọn Chế độ Boot

  • Trong phần “Partition scheme” (Kiểu phân vùng), chọn “MBR” nếu máy tính của bạn sử dụng chuẩn BIOS. Nếu máy tính sử dụng chuẩn UEFI, hãy chọn “GPT”.
  • Trong phần “File system”, hãy chọn “FAT32”.

Bước 7: Đặt Tên

  • Trong phần “Volume label” (Nhãn ổ đĩa), bạn có thể đặt tên cho USB boot của mình (tùy chọn).

Bước 8: Bắt đầu tạo USB boot

  • Nhấp vào nút “Start” (Bắt đầu) để Rufus bắt đầu quá trình tạo USB boot. Rufus sẽ xóa toàn bộ dữ liệu trên USB và tạo USB boot từ file ISO vSphere 8.0u1 ESXi.

Bước 9: Kết thúc

  • Khi quá trình tạo USB boot hoàn tất, bạn có thể rút USB ra khỏi máy tính.

Bước 10: Nâng cấp máy chủ

  • Cắm USB boot vào máy chủ vật lý.
  • Khởi động lại máy chủ và chọn chế độ boot từ USB. Cách này có thể khác nhau tùy thuộc vào nhà sản xuất máy chủ của bạn. Thông thường, bạn có thể thay đổi thứ tự boot trong BIOS hoặc chọn chế độ boot tạm thời bằng cách nhấn một phím như F12 hoặc ESC khi khởi động máy tính.

Bước 11: Tiến hành nâng cấp

  • Khi máy chủ đã boot từ USB, bạn sẽ thấy giao diện cài đặt của vSphere 8.0u1 ESXi. Theo các hướng dẫn trên màn hình để tiến hành quá trình nâng cấp.
  • Sau khi upgrade xong reboot lại host là đợi khởi động thành công và em vào wbe vsphere check version. Done

 

Cách 2. nếu các máy chủ vật lý có hỗ trợ iDirect – DELLEMC Server, ipmi – SupperMicro Server, pmi/ iLO – Lenovo/IBM/HPE Server

  • Điều khiển bmc ipv4 từ xa và em có quyền mount cd media file iso, em sẽ đẩy files này và mount để boot bằng file iso và thao tác upgrade tương tự cách 1.
  • Ví dụ các bước đưa file ISO cài đặt vSphere 8 vào USB của máy chủ có hỗ trợ iDirect – DELLEMC Server, IPMI – Supermicro Server và PMI/iLO – Lenovo/IBM/HPE Server có thể khác nhau một chút. Dưới đây là một hướng dẫn tổng quát để bạn có thể tham khảo:
  • Chuẩn bị:
  • Tải về file ISO cài đặt vSphere 8 từ nguồn tin cậy: https://customerconnect.vmware.com/evalcenter?p=vsphere-eval-8
  • Chép file ISO vào USB 32GB và Kết nối USB vào máy tính.
  • Nếu sử dụng iDirectDELLEMC Server:
  • Tải công cụ Dell iDRAC Service Module từ trang web chính thức của Dell.
  • Cài đặt công cụ trên máy tính của bạn.
  • Mở công cụ Dell iDRAC Service Module và tuân thủ hướng dẫn để tạo USB boot từ file ISO vSphere 8.
  • Nếu sử dụng IPMISupermicro Server:
  • Truy cập giao diện IPMI của máy chủ (thông qua địa chỉ IP của IPMI và thông tin đăng nhập).
  • Trong giao diện IPMI, tìm các tùy chọn liên quan đến quản lý boot và USB.
  • Chọn tùy chọn tạo USB boot và hướng dẫn theo các bước để chọn file ISO vSphere 8 và tạo USB boot.
  • Nếu sử dụng PMI/iLOLenovo/IBM/HPE Server:
  • Truy cập giao diện quản lý PMI/iLO của máy chủ (thông qua địa chỉ IP của PMI/iLO và thông tin đăng nhập).
  • Trong giao diện PMI/iLO, tìm các tùy chọn liên quan đến quản lý boot và USB.
  • Chọn tùy chọn tạo USB boot và hướng dẫn theo các bước để chọn file ISO vSphere 8 và tạo USB boot.

Lưu ý quá trình cụ thể có thể khác nhau tùy thuộc vào nhà sản xuất máy chủ và giao diện quản lý BIOS BCM được sử dụng là khác nhau cả về Version.

                

Cách 3. Để vá lỗi hoặc nâng cấp từ vSphere 6.7 lên vSphere 8 thông qua vCenter 8.0 Appliance, bạn có thể sử dụng các bước dưới đây:

Ghi chú: vSphere Lifecycle Manager baselines (previously called vSphere Update Manager VUM) is being deprecated. You can instead manage the lifecycle of the hosts in your environment by using vSphere Lifecycle Manager images (vLCM). See KB to learn how you can switch from using baselines, to using a single image for your clusters.

  • Chuẩn bị:
  • Đảm bảo rằng bạn đã sao lưu dữ liệu quan trọng và tạo một bản snapshot (nếu cần) của vCenter Server và máy chủ ESXi trước khi tiến hành bất kỳ thay đổi nào.
  • Tải về bản cập nhật hoặc bản nâng cấp vSphere 8 từ trang web hỗ trợ của VMware: https://customerconnect.vmware.com/en/evalcenter?p=vsphere-eval-8
  • Tạo Clusters hoặc Add Host

 

  • Vá lỗi:
  • Đăng nhập vào giao diện quản lý vCenter 8.0 Appliance.
  • Truy cập mục “Updates > Hosts Baselines” hoặc “Hosts Images > Clusters or Standalone hosts” tùy thuộc vào phương pháp bạn muốn sử dụng (với Baselines hoặc Images).
  • Xác định các bản vá lỗi hoặc bản cập nhật mà bạn muốn áp dụng lên máy chủ ESXi.
  • Chọn các bản vá lỗi hoặc bản cập nhật và áp dụng chúng cho các máy chủ ESXi tương ứng.

Tham khảo: Cách nâng cấp vá lỗi vSphere 6.7 từ GA (8169922) lên Update 3 (14320388)

https://thangletoan.wordpress.com/2020/03/18/cach-nang-cap-va-loi-vsphere-6-7-tu-ga-8169922-len-update-3-14320388/

  • Nâng cấp:
  • Đăng nhập vào giao diện quản lý vCenter 8.0 Appliance.
  • Truy cập mục “Updates > Hosts Baselines” hoặc “Hosts Images > Clusters or Standalone hosts” tùy thuộc vào phương pháp bạn muốn sử dụng (với Baselines hoặc Images).
  • Xác định bản nâng cấp vSphere 8 mà bạn muốn áp dụng lên máy chủ ESXi.
  • Chọn bản nâng cấp và áp dụng nó cho các máy chủ ESXi tương ứng.

Tham khảo: https://kb.vmware.com/s/article/89519

Tham khảo: https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-lifecycle-manager/GUID-DC7146CA-8E5F-4568-860A-5350C0D41826.html

Vướng mắc từ việc chuyển đổi vSS sang vDS trong VMware vCenter ELM


Có bạn học viên có câu hỏi trích dẫn như sau:

“Nhờ Thầy cùng các anh chị cho em hỏi nhờ vấn đề này với ạ.

Em đang triển khai hệ thống Vmw cho khách hàng. Em đã cài đặt ELM, các VM đã cài đặt dịch vụ nhưng chưa lên prod.

Mỗi Server có 2 đường up link và 2 đường chạy nội bộ. Có 2 Switch vật lý đã stack với nhau và chưa enable LACP.

Ban đầu em sử dụng VSS nhưng sau khi hoàn thành thì bên khg yêu cầu phải sử dụng VDS.

Hôm qua em đã remove 1 uplink khỏi nic teaming của VSS và gán 1 up link cho VDS.

Nhưng sau khi bên Network enable LACP thì host bị mất kết nối.

Nhờ Thầy và các anh chị chỉ giúp em cách chuyển đổi từ VSS sang VDS trong trường hợp này với ạ.

Em cảm ơn!”

 

Trả lời: Mình xin phân tích các vấn đề của Ảo hoá trước

1. vCenter ELM thì là cách làm hiệu quả cho các DC có thể cần nhiều môi trường, nhiều DRS cluster khác nhau để vừa mở rộng dịch vụ ứng dụng vừa đề phòng sự cố vSphere …

Tham khảo: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID-91EF7282-C45A-4E48-ADB0-5A4230A91FF2.html

2. Default khi dựng virtual standard Switch thì mô hình này luôn tồn tại dù có muốn dùng vDS thì ít nhất lớp Management Network luôn (nên dùng) ở vSS.

 

3. vSS là layer 2 còn nếu em có physical Switch là có FCoE 10Gbps và là pSW L2+ thì cơ chế của vSS vẫn chạy là L2 (nghĩa là nó chỉ có 2 thứ basic: là IP Base (quản lý cấp phát IP4, IP6 theo DNS/DHCP/ route GW… là DHCP động hoặc Statics). việc định tuyến do Route định tuyến, phần Chế độ Load Balancing Mode ngầm định trong 3 kiểu thì sẽ là SRC-DST-IDport Uplink (nghĩa là phụ thuộc số thứ tự của Uplink Card Physical của ESXi cấp). và vSS là L2 nên nó ứng sử việc này là cho phép gửi gói tin đi đến pSWL2 / L3 bình thường mà không có các điều kiện như phỉa cấu hình Trunk, VLAN (chúng dùng Port Access, không quan tâm tới Native VLAN ID… là các kiểu cấu hình isolate network L2+)

Điều này giải thích được việc tại sao 2 pSW như bạn nói là dạng pSW Stack? (chắc mình phải hỏi rõ là serial, hãng , version … ?) đang không cấu hình LACP và có thể cũng không cấu hình LAG ở phần 2 pSW stack ra Router / FWGW ?) nhưng ở vSS của các ESXi lại thông

 

4. vDS là layer 3, một khi chuyển từ vSS (chúng có các bước làm cụ thể trong Labs VMware), nhưng do em có nói tới việc mỗi ESXi chỉ có 2 card kết nối Uplink ra 2 pSW Stack và 2 Card port Internal (Mình cần biết rõ hơn về 2 port Internal này, nó có phải RDMA hay Interconnector của DELL EMC…? vì thường chúng là PCIv2/v3 thì chúng chỉ có thể làm kết nối tủ đĩa DAS cho làm vSAN hoặc cho SAN/NAS…) nên có thể trong thực tế việc chuyển vSS sang vDS sẽ có các khó khăn liên quan từ cấu hình vật lý Network chứ không xuất phát từ việc chuyển vSS sang vDS, trong khoá học mình có nhắc về 7 loại dịch vụ có trên vSphere vCenter và thường phải có HA redundancy/nic teaming / binding port (đấu tủ đĩa) nên sẽ có nhiều Port Uplink đấu giữa các ESXi trung bình 2 – 8 ports).

 

Chính vì vấn đề “ít hơn 3 port” (chỉ có 2 port uplink tới 2 pSW để đấu nối giữa các ESXi) dấn tới việc ở phần pSW 2 switch stack L3 này sẽ phải cấu hình LACP giữa 2 pSW, VLAN cho 7 lớp dịch vụ nói trên, Cấu hình Native VLAN, cấu hình Trunk .802q.1 cho 2 ports với các VLAN,

Tại sao phải cấu hình pSW cho các vấn đề LACP, LAG, Trunk, VLAN / Protect Port (PVLAN) nói trên ở tầng Network vật lý? vì 1 khi em cấu hình vDS thì bản chất về PortChannel, EtherChannel và đặc biết Load Balancing Mode đã bị thay đổi cách route (bắt các gói tin bằng WireShark) đã thấy cách cho phép các gói tin đi ra từ ESXi tới pSW1 tới pSW2 hoặc tới Router rất khác

ví dụ: SRC-DST-Mac / ID nghĩa lã nó cho đi ra và Head-mess định dạng gói tin cho thấy chúng là MAC và số mac address của 2 card nic teaming chỉ có số filter là bit cuối của số mac

(ví dụ: card esxi: A0:E3:B6:04 –> số 04 viết thành bit: 000010 và khi tới pSW1 nó có cùng số mac ở đuôi là 04 thì nó cho qua, nhưng nếu (ở vSS nó cho qua filter mac này) còn ở vDS thì nó sẽ lọc nó, nếu ESXi 2 có card mac id khác thì sẽ có vấn đề không cho qua gói tin, như vậy ở đây em phải cấu hình Trunk các native VLAN ID lại thì chúng mới cho qua

 

P.S: Có lẽ mấu chốt chỉ ở cấu hình đầy đủ Layer2/Layer3 cho 2 pSW thì em mới giải quyết được vDS L3 nhé.

Mình không phải chuyên về Network, NSX nhưng kiến thức cơ bản về CCNA/CCNP/CCNE mình đều có đọc và labs trên EVE-NG hoặc GNS3 (Graphical Network Simulator-3) để labs CISCO pSW Dynamic Router CRS7206 với các con Stack Switch/ pSW L2/L3 … nên đều có thể design và mô phỏng cũng như viết các Scripts cấu hình Trunk port/ PVLAN trước khi cho lên đến ESXi.

Em có thể làm Design Topology, viết sơ đồ diagram rồi viết các lệnh cấu hình để triển khai pSW + Router + FW và các cụm ESXi

Công cụ test EVE-NG client for Windows/Linux để bắt gói tin để kiểm tra tình trạng thông/ không thông, MTU 1500/9000 …

Sơ đồ nguyên lý, luồng xử lý tài nguyên từ RAM vật lý tới vRAM có trên máy ảo VMware VM


Theo kết quả tìm kiếm và phân tích nguyên lý RAM vật lý là bộ nhớ ngẫu nhiên được cài đặt trên máy chủ vật lý, còn vRAM là bộ nhớ ảo được cấp phát cho máy ảo từ RAM vật lý

VMware VM là một phần mềm ảo hóa cho phép bạn tạo và quản lý các máy ảo trên máy chủ vật lý

 

Sơ đồ và luồng xử lý tài nguyên từ RAM vật lý tới vRAM có trên máy ảo VMware VM có thể được mô tả như sau

  • Máy chủ vật lý có một số lượng RAM vật lý được xác định bởi phần cứng. RAM vật lý được chia thành các khối nhỏ gọi là trang (page).
  • Khi bạn tạo một máy ảo, bạn cần chỉ định một số lượng RAM ảo (vRAM) cho nó. vRAM là bộ nhớ được sử dụng bởi hệ điều hành và các ứng dụng trong máy ảo.
  • VMware VM sử dụng một kỹ thuật gọi là overcommitment để cấp phát nhiều hơn tổng số RAM vật lý cho các máy ảo. Điều này có nghĩa là bạn có thể tạo nhiều máy ảo hơn so với số RAM vật lý có sẵn trên máy chủ.
  • Để quản lý việc overcommitment, VMware VM sử dụng một kỹ thuật gọi là swapping để di chuyển các trang không cần thiết từ vRAM sang một file swap trên đĩa cứng. Điều này giải phóng RAM vật lý cho các máy ảo khác.
  • Tuy nhiên, việc swapping có thể gây ra hiệu suất kém do thời gian truy cập đĩa cứng chậm hơn so với RAM.

Do đó, VMware VM cũng sử dụng 7 kỹ thuật khác cơ bản để tối ưu hóa việc sử dụng RAM, ví dụ như:

  1. Transparent Page Sharing (TPS): Cho phép các máy ảo chia sẻ các trang giống nhau trong RAM vật lý để tiết kiệm không gian.
  2. Ballooning: Cho phép VMware VM yêu cầu một máy ảo giải phóng một số lượng RAM không sử dụng khi có áp lực trên RAM vật lý.
  3. Compression: Cho phép VMware VM nén các trang trong RAM vật lý để giảm dung lượng.

(Ở vSphere 6.7 update 3 trở lên có thêm vCLS là VM Linux tự động tạo ra sau khi cấu hình Turn on vSphere DRS để quản lý các bộ nhớ trong cùng cụm Cluster này)

  1. VM Cache:
  2. Host swap Cache:
  3. Memory Over-head
  4. Swapping Guest OS
  5. Host-level (hypervisor) swapping

 

Sơ đồ sau đây minh họa cho sơ đồ và luồng xử lý tài nguyên từ RAM vật lý tới vRAM có trên máy ảo VMware VM:

 

Thời gian trễ từ RAM vật lý tới vRAM là phụ thuộc vào 5 yếu tố chính, như:

  • Tốc độ xung nhịp của RAM vật lý,
  • Số lượng máy ảo,
  • Cách phân bổ và quản lý vRAM,
  • Kỹ thuật overcommitment, swapping, sharing, ballooning, compression và
  • Cấu hình của máy chủ vật lý

Không có một công thức chung để tính toán thời gian trễ này, nhưng có thể dùng các công cụ đo lường hiệu năng của VMware hoặc VeeamONE, RvTools, IOMetter để theo dõi và đánh giá thời gian trễ.

 

Những thiết bị đi qua trong quá trình xử lý tài nguyên từ RAM vật lý tới vRAM có thể bao gồm:

  1. Bộ xử lý CPU: Là thiết bị trung tâm xử lý các yêu cầu và chỉ thị của hệ điều hành và các ứng dụng trong máy ảo. CPU cũng phải xử lý các yêu cầu của VMware VM để quản lý các máy ảo và phân bổ RAM vật lý cho chúng.
  2. Bộ nhớ cache: Là một loại bộ nhớ nhanh chóng được tích hợp trong CPU hoặc gắn liền với CPU. Bộ nhớ cache được sử dụng để lưu trữ các dữ liệu và chỉ thị thường xuyên được sử dụng bởi CPU để giảm thời gian truy cập đến RAM vật lý.
  3. Bộ nhớ RAM: Là một loại bộ nhớ ngẫu nhiên được cài đặt trên máy chủ vật lý. RAM được sử dụng để lưu trữ các dữ liệu và chỉ thị của hệ điều hành và các ứng dụng trong máy ảo. RAM cũng được phân bổ cho các máy ảo dưới dạng vRAM.
  4. Đĩa cứng: Là một loại bộ nhớ không ngẫu nhiên được cài đặt trên máy chủ vật lý. Đĩa cứng được sử dụng để lưu trữ các dữ liệu và chỉ thị của hệ điều hành và các ứng dụng trong máy ảo khi chúng không hoạt động. Đĩa cứng cũng được sử dụng để tạo ra các file swap cho các máy ảo khi có áp lực trên RAM vật lý.

 

Có một số cách để tối ưu hóa sử dụng RAM vật lý trong VMware VM, ví dụ như:

  • Phân bổ vRAM hợp lý cho các máy ảo: Bạn nên phân bổ vRAM cho các máy ảo theo nhu cầu thực tế của hệ điều hành và các ứng dụng trong máy ảo. Bạn nên tránh phân bổ quá nhiều hoặc quá ít vRAM cho các máy ảo, vì điều này có thể gây ra hiệu suất kém hoặc lãng phí RAM vật lý. Bạn có thể sử dụng các công cụ đo lường hiệu năng của VMware để theo dõi và điều chỉnh vRAM cho các máy ảo.
  • Sử dụng kỹ thuật overcommitment một cách cẩn thận: Overcommitment là kỹ thuật cho phép bạn cấp phát nhiều hơn tổng số RAM vật lý cho các máy ảo. Điều này có thể giúp bạn tận dụng tối đa RAM vật lý và tạo ra nhiều máy ảo hơn. Tuy nhiên, bạn cũng nên cân nhắc đến rủi ro của overcommitment, như việc gây áp lực trên RAM vật lý, làm giảm hiệu suất của các máy ảo và gây ra các vấn đề về tính ổn định và an toàn.
  • Sử dụng các kỹ thuật swapping, sharing, ballooningcompression một cách thông minh: Đây là các kỹ thuật được VMware VM sử dụng để quản lý và tối ưu hóa việc sử dụng RAM vật lý khi có áp lực trên RAM.
  • Mỗi kỹ thuật có những ưu và nhược điểm riêng, bạn nên hiểu rõ và áp dụng một cách phù hợp:
    • Swapping: Là kỹ thuật di chuyển các trang không cần thiết từ vRAM sang một file swap trên đĩa cứng. Điều này giải phóng RAM vật lý cho các máy ảo khác. Tuy nhiên, swapping có thể gây ra hiệu suất kém do thời gian truy cập đĩa cứng chậm hơn so với RAM. Bạn nên tránh sử dụng swapping quá nhiều hoặc quá thường xuyên.
    • Transparent Page Sharing (TPS): Là kỹ thuật cho phép các máy ảo chia sẻ các trang giống nhau trong RAM vật lý để tiết kiệm không gian. Điều này giúp giảm thiểu việc sử dụng RAM vật lý và tăng hiệu suất của các máy ảo. Tuy nhiên, sharing có thể gây ra một số rủi ro về an toàn, ví dụ như việc bị rò rỉ thông tin hoặc bị tấn công bằng kỹ thuật side-channel. Bạn nên sử dụng sharing một cách an toàn và bảo mật.

  • Ballooning: Là kỹ thuật cho phép VMware VM yêu cầu một máy ảo giải phóng một số lượng RAM không sử dụng khi có áp lực trên RAM vật lý. Điều này giúp cân bằng việc sử dụng RAM vật lý giữa các máy ảo và tăng hiệu suất của chúng. Tuy nhiên, ballooning có thể gây ra một số vấn đề về tính ổn định, ví dụ như việc gây ra thiếu RAM cho một máy ảo hoặc gây ra swapping trong máy ảo. Bạn nên sử dụng ballooning một cách hợp lý và linh hoạt.

  • Cách thức lấy lại bộ nhớ với kiểu Ballooning:

  • Compression: Là kỹ thuật cho phép VMware VM nén các trang trong RAM vật lý để giảm dung lượng. Điều này giúp tăng khả năng chứa của RAM vật lý và giảm việc sử dụng swapping. Tuy nhiên, compression có thể gây ra một số chi phí về CPU, ví dụ như việc tiêu tốn CPU để nén và giải nén các trang. Bạn nên sử dụng compression một cách cân đối và hiệu quả.

  • Memory Over-head:

Vì cả host swap cacheVM cache đều sử dụng bộ nhớ flash, nên bạn có thể sử dụng một phần của bộ nhớ flash để cấu hình cho host swap cache và một phần để cấu hình cho VM cache. Bạn có thể sử dụng tính năng vSphere Flash Read Cache để quản lý bộ nhớ flash và phân bổ cho host swap cache và VM cache https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.storage.doc/GUID-7F5A82BB-5EA7-474E-A0D2-8E928DFC88F5.html

Chúng ta có thể hiểu rằng host swap cache là một nơi để lưu trữ các file swap của các máy ảo, còn host-level swapping là một hành động để tạo ra các file swap đó. Cả hai đều liên quan đến việc sử dụng bộ nhớ flash và đĩa cứng để quản lý RAM vật lý cho các máy ảo.

 

Có một số cách để cấp phát vRAM cho một máy ảo, ví dụ như:

  • Cấp phát vRAM khi tạo máy ảo: Bạn có thể chỉ định một số lượng vRAM cho một máy ảo khi bạn tạo nó trên VMware VM. Bạn nên chọn một số lượng vRAM phù hợp với nhu cầu của hệ điều hành và các ứng dụng trong máy ảo. Bạn cũng nên xem xét đến số lượng RAM vật lý có sẵn trên máy chủ vật lý và số lượng máy ảo bạn muốn tạo

  • Cấp phát vRAM sau khi tạo máy ảo: Bạn có thể thay đổi một số lượng vRAM cho một máy ảo sau khi bạn đã tạo nó trên VMware VM. Bạn có thể làm điều này bằng cách sử dụng giao diện người dùng của VMware VM hoặc sử dụng các lệnh PowerShell. Bạn nên tắt máy ảo trước khi thay đổi vRAM cho nó

  • Cấp phát vRAM tự động: Bạn có thể cho phép VMware VM tự động điều chỉnh một số lượng vRAM cho một máy ảo theo nhu cầu của nó. Bạn có thể làm điều này bằng cách bật tính năng Hot-Add Memory cho máy ảo. Tính năng này cho phép VMware VM thêm hoặc bớt vRAM cho máy ảo khi nó đang hoạt động, không cần khởi động lại. Tuy nhiên, bạn cần đảm bảo rằng hệ điều hành và các ứng dụng trong máy ảo hỗ trợ tính năng này

  • Cấu trúc giải phỏng bộ nhớ từ Lcache 1 à Lcache 2 à Lcache 3 (Lc3 có tổng 2MRam Cache) sẽ là ước số chung Trung bình và làm bội số của 2.

Sơ đồ giải phóng bộ nhớ từ CPU vật lý qua cache 1,2,3 có tổng 2MB:

  • Ví dụ về bội số 2 làm kích thước trung bình của vRAM / 1 VM:

  • Sơ đồ kiến trúc chung của CPU vật lý:

 

  • Cấu trúc MMU vật lý tác động khi chọn enable IOMMU và cấu hình Lcache1,2,3 tương ứng với vLcache1,2,3 đồng thời hỗ trợ Bộ nhớ phân trang Transparent Page Sharing
    (TPS)

Tất cả các hệ thống x86-64bit hiện đại đều sử dụng đơn vị quản lý bộ nhớ (MMU). MMU thực hiện quản lý bộ nhớ ảo, bảo vệ bộ nhớ, kiểm soát bộ đệm và phân xử bus:

  1. TPS quét và chia sẻ các trang nhỏ (4 KB)
  2. MMU sử dụng trang lớn (L cache 3 = 2MB)
  3. VMKernel không cố gắng chia sẻ các trang lớn.
  4. Định dạng kích thước khối của hệ điều hành khách VD “Đĩa ảo” mặc định 4096 Byte = 4KB.

  • Oracle DB Application Server ngầm định dùng Chunk size 8KB, MS-SQL Server 2016 ngầm định dùng chunk size: 16KB.

 

TPS cho Hệ thống ESXi được tối ưu hóa để sử dụng trên các hệ thống truy cập bộ nhớ không thống nhất (NUMA):

  • Trên các hệ thống NUMA, các trang được chia sẻ trong nút NUMA, dẫn đến mỗi nút NUMA duy trì bản sao cục bộ của các trang được chia sẻ.
  • Khi máy ảo sử dụng các trang được chia sẻ TPS, chúng không truy cập bộ nhớ từ xa và do đó không phải chịu “hình phạt về độ trễ” liên quan đến truy cập bộ nhớ từ xa.

 

Hành vi mặc định của TPS tập trung vào chia sẻ bộ nhớ trong máy ảo:

  • TPS chỉ quét và thu gọn các trang nhỏ chứa nội dung giống hệt nhau
    trong một máy ảo.
  • Các trang không được lấp đầy “Zero-filled” là trọng tâm chính của việc chia sẻ bộ nhớ trong máy ảo.

Tóm lại tỉ lệ phân bổ tài Nguyên RAM / Host:

Cài và cấu hình VeeamONE trên Windows Core 2k19 giám sát vận hành vSphere 6.7, 7x, 8x


Phần 1. Tạo VM Windows 2019 Core trên vSphere:

  • Tạo 1 VM tên:VEEAMONE.
  • Cấu hình: 4 vCPU= 2×2 – 6GRAM, 54GB Virtual disk.
  • Sơ đồ mạng được đánh dấu trong LAB vSphere vSAN 7x.


Dùng màn lệnh PowerShell vs cmdlet chuyển sang ổ D và nhập lệnh:

.\Setup.exe /S /v/qn




Dùng user local của máy chủ VeeamONE cấp quyền Stop/Start Service




Nếu chưa có hãy chọn Community Edition












Phần 2. Cài Veeam ONE Client trên 1 máy PC Admin windows để cấu hình Veeam ONE SERVER:








Nếu máy chủ VeeamONE core 2019 không join domain:


Bấm chuột vào Veeam ONE Client để truy cập:


Đăng nhập bằng User Admin Local


Lưu ý: Muốn có thêm các Account khác cũng có thể kết nối truy cập với VeeamOne làm Sub-admin,

với quyền hạn bị hạn chế một số chức năng chính (Add Servers Inventory) thì quay lại máy chủ Veeam ONE bằng PowerShell và gõ lệnh sconfig chọn mục 3




Sau khi add thêm user5 / user 6 vào Local Group của máy chủ VeeamONE,

chúng ta có thể dùng VeeamONE client đã cài trên PC Admin để kết nối bằng sub-admin đó.




Sau khi cấu hình xong, chúng ta chuyển về màn hình chính của VeeamONE.





  • Muốn thay License từ dạng dùng miễn phí License Communities sang License Enterprise



Nếu dùng các Thư viện WF Hook thì cần truy cập lại máy chủ VeeamONE bằng PowerShell và Get -Name tên dịch vụ và Stop



Sau khi tìm ra được cột Name (2), chúng ta tiếp tục dùng lệnh:

Stop-Service -Name “VeeamCRS” -Force -PassThru

Kết quả:


Tiếp tục: Stop-Service -Name “VeeamOneAgentSvc”

Stop-Service -Name “VeeamRSS”

Sau khi stop 4 dịch vụ trên, chúng ta quay về màn máy remote để Explore Windows Folders và copy đề file

Copy thêm file .lic để active sau khi Start lại 4 dịch vụ có trên máy chủ VeeamONE.





Sau khi Start được 4 dịch vụ có trên VeeamONE server, chúng ta quay lại màn máy remote và bật lại VeeamONE Client, chọn lại mục



Bấm Install License và chọn file .lic




Phần 3: Cấu hình Infrastructure View

Chúng ta có thể chủ động Add Server thêm vào dạng ESXi hoặc vCenter để cấu hình View, Dashboard, Reporting và theo dõi thường xuyên tình trạng vận hành của hệ thống.








Sau khi cấu hình Add Server ESXi, vCenter, Hyper-V … chúng ta có thể truy cập qua

Web cổng https://172.20.10.11:1239


Đăng nhập User và mật khẩu thuộc Local User của máy chủ VeeamONE


Lab 11. cấu hình ServerLog từ ElasticSearch, Kibana, Suricata, Filebeat, LogStash trên Ubuntu 22.04 Server


Phần 2: Cài các thành phần tham gia hệ thống SIEMS:

Giới thiệu về SIEMS và sản phẩm ELK:

Elastic Stack – trước đây được gọi là ELK Stack — là một bộ sưu tập phần mềm nguồn mở do Elastic sản xuất, cho phép bạn tìm kiếm, phân tích và trực quan hóa các nhật ký được tạo từ bất kỳ nguồn nào ở bất kỳ định dạng nào, một phương pháp được gọi là bộ log tập trung (centralized logging). Bộ log tập trung có thể hữu ích khi cố gắng xác định các sự cố với máy chủ hoặc ứng dụng của bạn vì nó cho phép bạn tìm kiếm trong tất cả các nhật ký của mình ở một nơi duy nhất. Nó cũng hữu ích vì nó cho phép bạn xác định các sự cố trải rộng trên nhiều máy chủ bằng cách so sánh nhật ký của chúng trong một khung thời gian cụ thể.

Elastic Stack có bốn thành phần chính:

  1. Elasticsearch: một công cụ tìm kiếm RESTful phân tán lưu trữ tất cả dữ liệu đã thu thập.
  2. Logstash: thành phần xử lý dữ liệu của Elastic Stack gửi dữ liệu đến tới Elaticsearch.
  3. Kibana: giao diện web để tìm kiếm và hiển thị nhật ký.
  4. Filebeat: bộ gửi dữ liệu đơn mục đích, nhẹ, có thể gửi dữ liệu từ hàng trăm hoặc hàng nghìn máy đến Logstash hoặc Elaticsearch.

Trong hướng dẫn này, chúng ta sẽ cài đặt Elastic Stack trên máy chủ Ubuntu 22.04. Chúng ta sẽ tìm hiểu cách cài đặt tất cả các thành phần của Elastic Stack — bao gồm Filebeat, một Filebeat được sử dụng để chuyển tiếp và tập trung nhật ký và tệp — đồng thời thiết lập cấu hình chúng để thu thập và trực quan hóa nhật ký hệ thống. Ngoài ra, vì Kibana thường chỉ khả dụng trên your_private_ip, chúng ta sẽ sử dụng Nginx để ủy quyền cho nó để nó có thể truy cập được qua trình duyệt web. Chúng ta sẽ cài đặt tất cả các thành phần này trên một máy chủ duy nhất mà chúng ta sẽ gọi là SIEMs.

Lưu ý: Khi cài đặt Elastic Stack, bạn phải sử dụng cùng một phiên bản trên toàn bộ ngăn xếp. Trong hướng dẫn này, chúng tôi sẽ cài đặt các phiên bản mới nhất của toàn bộ ngăn xếp, tại thời điểm viết bài này, Elaticsearch 7.7.1, Kibana 7.7.1, Logstash 7.7.1 và Filebeat 7.7.1.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, bạn sẽ cần những điều sau đây:

  • Máy chủ Ubuntu 20.04 có RAM 4GB và 2 CPU được thiết lập với non-root sudo user. Bạn có thể đạt được điều này bằng cách làm theo Thiết lập máy chủ ban đầu với Ubuntu 20.04. Đối với hướng dẫn này, chúng tôi sẽ làm việc với lượng CPU và RAM tối thiểu cần thiết để chạy Elaticsearch. Lưu ý rằng dung lượng CPU, RAM và dung lượng lưu trữ mà máy chủ Elaticsearch của bạn sẽ yêu cầu tùy thuộc vào khối lượng nhật ký mà bạn mong đợi.
  • Đã cài đặt OpenJDK 11. Xem phần [Cài đặt JRE/JDK mặc định] của hướng dẫn Cách cài đặt Java với Apt trên Ubuntu 20.04 để thiết lập điều này.
  • Nginx được cài đặt trên máy chủ của bạn, mà chúng tôi sẽ thiết lập cấu hình sau trong hướng dẫn này làm proxy ngược cho Kibana. Làm theo hướng dẫn của chúng tôi về Cách cài đặt Nginx trên Ubuntu 20.04 để thiết lập tính năng này.

Ngoài ra, vì Elastic Stack được sử dụng để truy cập thông tin có giá trị về máy chủ của bạn mà bạn không muốn người dùng trái phép truy cập, điều quan trọng là bạn phải giữ an toàn cho máy chủ của mình bằng cách cài đặt chứng chỉ TLS/SSL. Đây là tùy chọn nhưng được khuyến khích mạnh mẽ.

Tuy nhiên, vì cuối cùng bạn sẽ thực hiện các thay đổi đối với khối máy chủ Nginx của mình trong suốt hướng dẫn này, nên sẽ có ý nghĩa hơn nếu bạn hoàn thành hướng dẫn Let’s Encrypt trên Ubuntu 20.04 ở cuối bước thứ hai của hướng dẫn này. Với ý nghĩ đó, nếu bạn dự định thiết lập cấu hình Let’s Encrypt trên máy chủ của mình, bạn sẽ cần chuẩn bị những thứ sau trước khi thực hiện:

  • Một tên miền đủ điều kiện (FQDN). Hướng dẫn này sẽ sử dụng your_domain xuyên suốt. Bạn có thể mua một tên miền trên CloudFly, nhận một tên miền miễn phí trên Freenom hoặc sử dụng công ty đăng ký tên miền mà bạn chọn.
  • Cả hai bản ghi DNS sau được thiết lập cho máy chủ của bạn.
  • Một bản ghi A với your_domain trỏ đến địa chỉ IP công cộng của máy chủ của bạn.
  • Một bản ghi A với http://www.your_domain trỏ đến địa chỉ IP công cộng của máy chủ của bạn.

 

Install Elasticsearch, Logstash, Kibana and Filebeat

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg –dearmor -o /usr/share/keyrings/elastic.gpg

echo “deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

 

sudo apt update -y

sudo apt install elasticsearch

#ip address show command:

ip -brief address show

 

vim /etc/elasticsearch/elasticsearch.yml

Sửa thành

 

# Set the bind address to a specific IP (IPv4 or IPv6):

#

network.host: your_private_ip

 

sudo systemctl start elasticsearch

sudo systemctl enable elasticsearch

 

curl -X GET “your_private_ip:9200”

sudo apt install kibana

sudo systemctl enable kibana

systemctl start kibana

systemctl status kibana

 

Vì Kibana được thiết lập cấu hình để chỉ nghe trên your_private_ip nên chúng ta phải thiết lập proxy ngược để cho phép bên ngoài truy cập vào nó. Chúng ta sẽ sử dụng Nginx cho mục đích này, ứng dụng này đã được cài đặt trên máy chủ của bạn.

Đầu tiên, sử dụng lệnh openssl để tạo người dùng Kibana quản trị mà bạn sẽ sử dụng để truy cập giao diện web Kibana. Ví dụ: chúng ta sẽ đặt tên cho tài khoản này là kibanaadmin, nhưng để đảm bảo tính bảo mật cao hơn, khuyên bạn nên chọn một tên không chuẩn cho người dùng của mình mục tiêu tên đó trở lên khó đoán.

Lệnh sau sẽ tạo người dùng và mật khẩu Kibana quản trị, đồng thời lưu trữ chúng trong tệp htpasswd.users. Bạn sẽ thiết lập cấu hình Nginx để yêu cầu tên người dùng và mật khẩu này và đọc tệp này trong giây lát:

echo “kibanaadmin:’openssl passwd -apr1′” | sudo tee -a /etc/nginx/htpasswd.users

Như vậy trong file /etc/nginx/htpasswd.users sẽ có nội dung:

 

sudo apt install logstash

Sau khi cài đặt Logstash, bạn có thể chuyển sang cấu hình nó. Các tệp cấu hình của Logstash nằm trong thư mục /etc/logstash/conf.d. Để biết thêm thông tin về cú pháp cấu hình, bạn có thể xem tham chiếu cấu hình mà Elastic cung cấp. Khi bạn thiết lập cấu hình tệp, sẽ rất hữu ích khi coi Logstash như một đường dẫn lấy dữ liệu ở một đầu, xử lý dữ liệu theo cách này hay cách khác và gửi dữ liệu đó đến đích (trong trường hợp này, đích là Elaticsearch). Đường dẫn Logstash có hai phần tử bắt buộc là input và output, và một phần tử tùy chọn là filter. Các input plugin tiêu thụ dữ liệu từ một nguồn, các filter plugin xử lý dữ liệu và các output plugin ghi dữ liệu vào đích.

Tạo tệp cấu hình có tên 02-beats-input.conf nơi bạn sẽ thiết lập đầu vào Filebeat của mình:

sudo nano /etc/logstash/conf.d/02-beats-input.conf

input {

beats {

port = 5044

}

}

Tiếp theo, tạo một tệp cấu hình có tên 30-elasticsearch-output.conf:

sudo nano /etc/logstash/conf.d/30-elasticsearch-output.conf

Chèn cấu hình output sau. Về cơ bản, output này thiết lập cấu hình Logstash để lưu trữ dữ liệu Filebeats trong Elaticsearch, đang chạy ở your_private_ip:9200, trong một chỉ mục được đặt tên theo Filebeat được sử dụng. Filebeat được sử dụng trong hướng dẫn này là Filebeat:

 

sudo nano /etc/logstash/conf.d/30-elasticsearch-output.conf

output {

if [@metadata][pipeline] {

elasticsearch {

hosts = [“your_private_ip:9200”]

manage_template = false

index = “%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}”

pipeline = “%{[@metadata][pipeline]}”

}

} else {

elasticsearch {

hosts = [“your_private_ip:9200”]

manage_template = false

index = “%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}”

}

}

}

Lưu và đóng tập tin.

Kiểm tra cấu hình Logstash của bạn bằng lệnh này:

sudo -u logstash /usr/share/logstash/bin/logstash –path.settings /etc/logstash -t

Nếu không có lỗi cú pháp, đầu ra của bạn sẽ hiển thị Config Validation Result: OK. Exiting Logstash sau vài giây. Nếu bạn không thấy điều này trong đầu ra của mình, hãy kiểm tra xem có bất kỳ lỗi nào được ghi trong đầu ra của bạn không và cập nhật cấu hình của bạn để sửa chúng. Lưu ý rằng bạn sẽ nhận được các cảnh báo từ OpenJDK, nhưng chúng sẽ không gây ra bất kỳ sự cố nào và có thể bỏ qua.

Nếu quá trình kiểm tra cấu hình của bạn thành công, hãy bắt đầu và bật Logstash để các thay đổi cấu hình có hiệu lực:

sudo systemctl start logstash

sudo systemctl enable logstash

Bây giờ Logstash đang chạy chính xác và được thiết lập cấu hình đầy đủ, hãy cài đặt Filebeat.

 

Bước 4 – Cài đặt và thiết lập cấu hình Filebeat

Elastic Stack sử dụng một số trình gửi dữ liệu nhẹ được gọi là Filebeats để thu thập dữ liệu từ nhiều nguồn khác nhau và vận chuyển chúng đến Logstash hoặc Elaticsearch. Dưới đây là các Filebeat hiện có sẵn từ Elastic:

  1. Filebeat: thu thập và vận chuyển các tệp nhật ký.
  2. Metricbeat: thu thập số liệu từ các hệ thống và dịch vụ của bạn.
  3. Packetbeat: thu thập và phân tích dữ liệu mạng.
  4. Winlogbeat: thu thập nhật ký sự kiện Windows.
  5. Auditbeat: thu thập dữ liệu khung kiểm toán Linux và theo dõi tính toàn vẹn của tệp.
  6. Heartbeat: theo dõi các dịch vụ về tính khả dụng của chúng bằng tính năng thăm dò tích cực.

Trong hướng dẫn này, chúng tôi sẽ sử dụng Filebeat để chuyển tiếp các bản ghi cục bộ tới Elastic Stack của chúng tôi.

Cài đặt Filebeat bằng apt:

sudo apt install filebeat

Tiếp theo, thiết lập cấu hình Filebeat để kết nối với Logstash. Ở đây, chúng ta sẽ sửa đổi tệp cấu hình ví dụ đi kèm với Filebeat.

Lưu ý: Cũng như Elaticsearch, tệp cấu hình của Filebeat ở định dạng YAML. Điều này có nghĩa là việc thụt đầu dòng thích hợp là rất quan trọng, vì vậy hãy đảm bảo sử dụng cùng số lượng khoảng trắng được chỉ định trong các hướng dẫn này.

Filebeat hỗ trợ nhiều đầu ra, nhưng bạn thường chỉ gửi các sự kiện trực tiếp đến Elaticsearch hoặc Logstash để xử lý bổ sung. Trong hướng dẫn này, chúng tôi sẽ sử dụng Logstash để thực hiện xử lý bổ sung đối với dữ liệu do Filebeat thu thập. Filebeat sẽ không cần gửi trực tiếp bất kỳ dữ liệu nào đến Elaticsearch, vì vậy hãy vô hiệu hóa đầu ra đó. Để làm như vậy, hãy tìm phần output.elasticsearch và nhận xét các dòng sau bằng cách đặt trước chúng bằng dấu #:

Mở tệp cấu hình Filebeat:

sudo nano /etc/filebeat/filebeat.yml

tìm tới đoạn

#output.elasticsearch:

# Array of hosts to connect to.

#hosts: [“your_private_ip:9200”]

Sau đó, cấu hình phần output.logstash. Bỏ ghi chú các dòng output.logstash: và hosts: [“your_private_ip:5044”] bằng cách xóa dấu #. Thao tác này sẽ thiết lập cấu hình Filebeat để kết nối với Logstash trên máy chủ Elastic Stack của bạn tại cổng 5044, cổng mà chúng tôi đã chỉ định đầu vào Logstash trước đó:

 

output.logstash:

# The Logstash hosts

hosts: [“your_private_ip:5044”]

 

Lưu và đóng tập tin.

Chức năng của Filebeat có thể được mở rộng với các mô-đun Filebeat. Trong hướng dẫn này, chúng ta sẽ sử dụng mô-đun hệ thống, thu thập và phân tích cú pháp nhật ký được tạo bởi dịch vụ ghi nhật ký hệ thống của các bản phân phối Linux phổ biến.

Hãy kích hoạt nó:

sudo filebeat modules enable system

Nếu chúng ta gặp lỗi

Exiting: error unpacking config data: more than one namespace configured accessing ‘output’ (source:’filebeat.yml’)

while you already push logs to elasticsearch using logstash ?

I’m actually trying to understand if you need to send the same log 2 times in elastic ?

data –> filebeat –> logstash –> elastic

Bạn có thể xem danh sách các mô-đun đã bật và tắt bằng cách chạy:

sudo filebeat modules list

Bạn sẽ thấy một danh sách tương tự như sau:

Output

Enabled:

system

 

Disabled:

apache2

auditd

elasticsearch

icinga

iis

kafka

kibana

logstash

mongodb

mysql

nginx

osquery

postgresql

redis

traefik

 

Theo mặc định, Filebeat được thiết lập cấu hình để sử dụng các đường dẫn mặc định cho nhật ký hệ thống và nhật ký ủy quyền. Trong trường hợp của hướng dẫn này, bạn không cần thay đổi bất cứ điều gì trong cấu hình. Bạn có thể xem thông số của module trong file cấu hình sudo nano /etc/filebeat/modules.d/system.yml.

Tiếp theo, chúng ta cần thiết lập các quy trình nhập dữ liệu Filebeat, phân tích dữ liệu nhật ký trước khi gửi nó qua logstash tới Elaticsearch. Để tải đường ống dẫn nhập cho mô-đun hệ thống, hãy nhập lệnh sau:

sudo filebeat setup –pipelines –modules system

Tiếp theo, tải mẫu chỉ mục vào Elaticsearch. Elasticsearch index là một tập hợp các tài liệu có các đặc điểm tương tự. Các chỉ mục được xác định bằng một tên, được sử dụng để chỉ chỉ mục khi thực hiện các hoạt động khác nhau bên trong nó. Mẫu chỉ mục sẽ được tự động áp dụng khi một chỉ mục mới được tạo.

Để tải mẫu, sử dụng lệnh sau:

sudo filebeat setup –index-management -E output.logstash.enabled=false -E ‘output.elasticsearch.hosts=[“your_private_ip:9200”]’

Bạn sẽ nhận được đầu ra tương tự như sau:

Output

Index setup finished.

 

Filebeat đi kèm với bảng điều khiển Kibana mẫu cho phép bạn trực quan hóa dữ liệu Filebeat trong Kibana. Trước khi có thể sử dụng bảng thông tin, bạn cần tạo mẫu chỉ mục và tải bảng thông tin vào Kibana.

Khi bảng điều khiển tải, Filebeat kết nối với Elaticsearch để kiểm tra thông tin phiên bản. Để tải trang tổng quan khi bật Logstash, bạn cần tắt đầu ra Logstash và bật đầu ra Elaticsearch:

sudo filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=[‘your_private_ip:9200’] -E setup.kibana.host=your_private_ip:5601

Bạn sẽ nhận được đầu ra tương tự như sau:

Output

Overwriting ILM policy is disabled. Set `setup.ilm.overwrite:true` for enabling.

Index setup finished.

Loading dashboards (Kibana must be running and reachable)

Loaded dashboards

Setting up ML using setup –machine-learning is going to be removed in 8.0.0. Please use the ML app instead.

See more: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.html

Loaded machine learning job configurations

Loaded Ingest pipelines

 

Bây giờ bạn có thể bắt đầu và kích hoạt Filebeat:

sudo systemctl start filebeat

sudo systemctl enable filebeat

 

Nếu bạn đã thiết lập chính xác Elastic Stack của mình, Filebeat sẽ bắt đầu gửi nhật ký hệ thống và nhật ký ủy quyền của bạn tới Logstash, sau đó sẽ tải dữ liệu đó vào Elaticsearch.

Để xác minh rằng Elaticsearch thực sự đang nhận dữ liệu này, hãy truy vấn chỉ mục Filebeat bằng lệnh này:

curl -XGET ‘http://your_private_ip:9200/filebeat-*/_search?pretty&#8217;

Nếu đầu ra của bạn hiển thị tổng số lần truy cập là 0, thì Elaticsearch không tải bất kỳ nhật ký nào trong chỉ mục bạn đã tìm kiếm và bạn sẽ cần xem lại thiết lập của mình để tìm lỗi. Nếu bạn nhận được đầu ra như mong đợi, hãy tiếp tục sang bước tiếp theo, trong đó chúng ta sẽ xem cách điều hướng qua một số bảng điều khiển của Kibana.

 

 

Bước 5 — Khám phá Bảng điều khiển Kibana

Hãy quay lại giao diện web Kibana mà chúng ta đã cài đặt trước đó.

Trong trình duyệt web, hãy truy cập $FQDN hoặc địa chỉ IP công cộng của máy chủ Elastic Stack của bạn. Nếu phiên của bạn bị gián đoạn, bạn sẽ cần nhập lại thông tin đăng nhập mà bạn đã xác định ở Bước 2. Sau khi đăng nhập, bạn sẽ nhận được trang chủ Kibana:

Nhấp vào liên kết Discover trong thanh điều hướng bên trái (bạn có thể phải nhấp vào biểu tượng Expand ở dưới cùng bên trái để xem các mục menu điều hướng). Trên trang Discover, chọn mẫu chỉ mục filebeat-* được xác định trước để xem dữ liệu Filebeat. Theo mặc định, điều này sẽ hiển thị cho bạn tất cả dữ liệu nhật ký trong 15 phút qua. Bạn sẽ thấy một biểu đồ với các sự kiện nhật ký và một số thông báo nhật ký bên dưới:

Tại đây, bạn có thể tìm kiếm và duyệt qua nhật ký của mình, đồng thời tùy chỉnh trang tổng quan của mình. Tuy nhiên, tại thời điểm này, sẽ không có nhiều thứ trong đó vì bạn chỉ đang thu thập các nhật ký hệ thống từ máy chủ Elastic Stack của mình.

Sử dụng bảng điều khiển bên trái để điều hướng đến trang Dashboard và tìm kiếm bảng điều khiển Filebeat System. Khi đó, bạn có thể chọn bảng điều khiển mẫu đi kèm với mô-đun system của Filebeat.

Ví dụ: bạn có thể xem số liệu thống kê chi tiết dựa trên thông báo nhật ký hệ thống của mình:

Bạn cũng có thể xem người dùng nào đã sử dụng lệnh sudo và khi nào:

Kibana có nhiều tính năng khác, chẳng hạn như vẽ đồ thị và lọc, vì vậy hãy thoải mái khám phá.

 

Bước 6 – Khi cần bổ sung các Plugin yml của các dạng Log như Windows Events (evtx)

 

Download: https://www.elastic.co/downloads/beats/winlogbeat

Tham khảo tài liệu: https://www.elastic.co/guide/en/beats/winlogbeat/current/index.html

  • Bước 1 Truy cập máy chủ Windows cần lấy Log
  • Dùng trình duyệt web, download https://www.elastic.co/downloads/beats/winlogbeat
  • Extract the contents into C:\Program Files.
  • Rename the winlogbeat-<version> directory to Winlogbeat.

  • Open a PowerShell prompt as an Administrator (right-click on the PowerShell icon and select Run As Administrator).

Chạy 2 lệnh trước:

Set-ExecutionPolicy RemoteSigned

Set-ExecutionPolicy Unrestricted

  • From the PowerShell prompt, run the following commands to install the service.

If script execution is disabled on your system, you need to set the execution policy for the current session to allow the script to run.

For example: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1.

 

  • Bước 2. Sửa cấu hình


Step 3: Configure Winlogbeat

In winlogbeat.yml, configure the event logs that you want to monitor.

Under winlogbeat.event_log, specify a list of event logs to monitor. By default, Winlogbeat monitors application, security, and system logs.

winlogbeat.event_logs:

  • name: Application
    
  • name: Security
    
  • name: System
    

    To obtain a list of available event logs, run Get-EventLog * in PowerShell. For more information about this command, see the configuration details for event_logs.name.

(Optional) Set logging options to write Winlogbeat logs to a file:

logging.to_files: true

logging.files:

path: C:\ProgramData\winlogbeat\Logs

logging.level: info

After you save your configuration file, test it with the following command.

PS C:\Program Files\Winlogbeat> .\winlogbeat.exe test config -c .\winlogbeat.yml -e

 

Kết luận:

Trong hướng dẫn này, bạn đã học cách cài đặt và thiết lập cấu hình Elastic Stack để thu thập và phân tích nhật ký hệ thống. Hãy nhớ rằng bạn có thể gửi bất kỳ loại nhật ký hoặc dữ liệu được lập chỉ mục nào tới Logstash bằng Filebeats, nhưng dữ liệu thậm chí sẽ trở nên hữu ích hơn nếu được phân tích cú pháp và cấu trúc bằng bộ lọc Logstash, vì điều này chuyển đổi dữ liệu thành định dạng nhất quán có thể đọc được dễ dàng bởi Elaticsearch.

Lab 10. Cài và cấu hình LV Group Basic cho Ubuntu 22.04 Server và Siems Server Log


Phần 1: Cài VM Ubuntu 22.04 Server:

Bước 1. Download bộ cài ubuntu server 22.04 ISO

Bước 2.
Khởi tạo Máy Ảo có cấu hình 5 ổ cứng Virtual Disk

  • Không nên cài lightdm khi chưa có các định nghĩa cài trực tiếp về giao diện cho Ubuntu?
  • Nếu dùng cách cũ của Ubuntu 18.04/ 20.04, cài tasksel và kích hoạt chạy sẽ có vấn đề với gói giao diện.
  • Trình quản lý hiển thị là một chương trình cung cấp khả năng đăng nhập đồ họa cho hệ thống cửa sổ X.

Bước 3. Lưu ý khi cài Ubuntu Server 22.04 chọn bản Ubuntu Server:

Bước 4. Nên dùng cách cấu hình Customs Storage để cấu hình LV Group disk

  • Nên cấu hình vùng Boot, Boot/efi, /home, swap riêng ổ sda.

  • Nên cấu hình vùng DATA trên nhiều ổ sdb, sdc, sdd,sde và chúng được cấu hình dạng LV Group disk , format ext4, mount thư mục / (root) hoặc một số thư mục liên quan hệ thống dịch vụ web hosting , db, network, code source, API ví dụ: /etc, /opt, /var. vì mình làm cùng lúc nhiều Dockers, Portainers, Container, Microservice, Kube… nên mình chọn “/”

(không nên dùng Software RAID (md) vì chúng khó co giãn kích thước, nếu có thì sẽ bắt reboot OS để effective, chunk size bị fix kích thước tối đa 512 KB muốn giảm xuống 4K / 8K / 16K phải thêm mảng ổ Software RAID khác).

  • Bản Ubuntu 22.04 server cho phép bỏ qua update Pro

  • Cho phép tự cấu hình PPK bảo vệ SSH port 22 chuẩn OpenSSL và OpenSSH server

  • Không nên chọn phần này nếu các bạn chỉ bàn giao gói máy chủ Ubuntu Server cho đội Dev cần làm HPC, HCI, BigData hay bất kể các ứng dụng Dockers, K8s…

  • Khi truy cập xong chúng ta cần cài bổ sung một số công cụ quan trọng:
    • apt install net-tools -y
    • apt install tasksel -y (không nên dùng với Ubuntu 22.04)

       

  • Chạy lệnh tasksel để chọn giao diện đăng nhập mini ubuntu desktop (lý do không phải là người dùng không biết dùng gói không giao diện, vấn đề là các hàm xử lý tính toán cần GPU, vGPU, DGPU, physix, AI, ML hoặc Web 3D design đều cần xử lý trên Ubuntu/Linux có giao diện)
    • Lên tới phiên bản Ubuntu 22.04 thì mình không dùng tasksel nữa mà đã quen dùng giao diện chuẩn của Ubuntu desktop / laptop / client rồi thì sẽ dùng lệnh cài:
    • apt install ubuntu-desktop -y
  • Hiện nay phiên bản Ubuntu 22.04 còn cho phép ta chọn các loại dịch vụ nào sẽ cần restart service nhằm hạn chế bị gián đoạn các dịch vụ khác.

  • Lưu ý tiếp theo, cần phải cài font chữ tiếng việt hoặc các font chữ 2-byte khác ngay ở lớp OS Linux trước khi triển khai các Web API để hỗ trợ hiển thị gói tiếng việt Unicode tầng ứng dụng, ví dụ: LMS/LCMS Moodle các Plugin Calander lịch Georgia calendar, NTP time, chúng dùng ngôn ngữ mặc định của hệ thống OS điều khiển nên các bạn ở tầng DevOps là chịu không sửa được từ JSON/XML/ Translate google API…
    • Cài thêm font tiếng Việt, Nhật, Hàn, Đức, Nga, Italy trên OS: Ubuntu
    • sudo update-locale
    • sudo locale -a
    • sudo locale-gen vi_VN.UTF-8
    • locale-gen ko_KR.UTF-8
    • locale-gen ja_JP.UTF-8
    • locale-gen ru_RU.UTF-8
    • locale-gen fr_FR.UTF-8
    • locale-gen it_IT.UTF-8
    • locale-gen de_DE.UTF-8

  • localectl

  • localectl set-locale LANG=vi_VN.UTF-8

Sau các tác động cài gói tiếng việt hoặc ngôn ngữ khác, reboot lại Ubuntu Linux và bàn giao cho đội DevSecOps …

Với tác động của việc cài gói tiếng Việt, Moodle sẽ dùng được tiếng việt trên gói giao diện mà không phải lập trình hoặc dịch thuật…

  • Khi login vào màn hình Ubuntu Server có giao diện, chúng ta có thể dùng gparted hoặc disk part tools là các phần mềm điều chỉnh, tăng kích thước các Virtual disk cách linh hoạt không làm gián đoạn dịch vụ OS.

  • LV Group khác SoftRAID ở 1 điểm nữa là tăng kích thước ở các Virtual disk với kích thước khác nhau đều nhận được kích thước tổng tăng tự động, còn SoftRAID thì phải tăng tất cả các ổ hoặc thêm ổ VD mới (bằng lệnh, không tự động) phải bằng kích thước của các VD đã có trước đó.

 

Ngoại lệ, khi cài VM Ubuntu Linux trên VMware Workstation Pro:

  • Cách cấu hình VM Network trên VMware Workstation Pro:

  • Map Network của máy ảo theo Virtual Network kiểu NAT để cấp IP DHCP và có thể ra ngoài internet.

Cách bảo vệ SSH port 22 bằng yêu cầu khoá cá nhân và mật khẩu truy cập root SSH cho vSphere ESXi 6x/7x/8x


Câu hỏi đặt ra:

Làm thế nào chúng ta có thể chi tiết cách cấu hình vSphere ESXi 6x/ 7x hoặc 8x với việc tự tạo SSL/TLS key cho SSH cổng 22 bảo mật sẽ yêu cầu các công cụ phía máy trạm muốn kết nối tới cổng 22 của ESXi luôn bị yêu cầu phải có chữ ký số và Key import ví dụ như: phần mềm PuTTy, WinSCP, SFTP

Mục đích:

Bàn về cơ chế bảo mật ngăn chặn bị tấn công qua cổng SSH
22 có một số cách thức như:

  • Chặn không mở cổng SSH
    22, chỉ mở cổng 443
    Web
    vSphere
    HTTPS (thậm trí đổi cổng 443 hoặc dùng NAT Firewall đổi cổng 443).
    • Thực tế cổng SSH
      22 dùng làm troubleshoot, dùng để sửa lỗi hệ thống, phân tích System Log nên vẫn cần cho Quản trị viên.
    • Thực tế cổng 443 là cổng mã hoá và cần làm việc với các hạ tầng khác như vCenter, VMware Cloud Foundation, NSX-M hoặc NSX-T,
      Carbon Security
  • Bình thường chúng ta sẽ đăng nhập cổng SSH 22 để truy cập vào SSH của ESXi và dùng các nhóm lệnh ESXi Shell thông qua User đã được khởi tạo với mật khẩu Plain-text, điều này là rất nguy hiểm nếu dải ESXi ip Management được mở ra Internet public, các hackers sẽ có thể scan bruteforce để xác định mật khẩu.
  • Chặn dải ipv4 LAN chỉ cho phép dải ip (sử dụng Firewall Layer 2 của vSphere), vấn đề này vẫn có thể bị tấn cổng bởi các máy thuộc dải cho phép bị tấn công.
  • Cách an toàn hơn cao hơn sẽ là ở cổng SSH trước khi client kết nối sẽ bị yêu cầu trả lời Key import SSH, nếu client không có không trả lời đúng key files sẽ bị từ chối kết nối, đây là một trong các phương thức Zero
    Trusted.

 

Mô hình triển khai:

Một ví dụ về cách thức hoạt động của quá trình này có thể được trình bày ở đây:


 

Các bước triển khai:

 

Bước 1. Tải về và cài đặt WinSCP và PuTTy trên máy tính Windows của bạn.

Bước 2. Sử dụng PuTTygen để tạo một cặp khóa SSH (khóa công khai và khóa riêng tư) hoặc nhập một khóa riêng tư đã có sẵn. Bạn có thể tham khảo https://superuser.com/questions/1644862/how-do-i-get-winscp-to-connect-to-an-ssh-server-with-a-private-key-that-i-specif để biết cách làm điều này.

On the WinSCP Login dialog, click the Advanced button, go to SSH > Authentication, and in the Private key file box, browse for your private key file:

Bước 3. Khi bấm vào Generate New Key Pair with PuTTygen

The easiest way is to ensure you can connect in PuTTY first since it’s very similar to WinSCP:

When you’re ready, click the Generate button on the right-hand side.

You might be prompted to “generate some randomness by moving the mouse over the blank area”. This randomness, known as entropy, is used to create keys in a secure fashion so that other people can’t reproduce them.


 

Key passphrase nhập mật khẩu và nhập giống hệt ở Confirm passphrase:

Lưu ra file esxi1.ppk dạng Save private key.

Ghi chú: The format PuTTYGen uses when it saves the public key is incompatible with the OpenSSH
authorized_keys files used for SSH key authentication on Linux servers.

Sau đó đóng cửa sổ PuTTygen để quay lại màn hình cấu hình của WinSCP

Bấm OK để lưu cấu hình

Bước 4. Lưu khóa riêng tư dưới định dạng .ppk (PuTTy Private Key) và sao chép nội dung của khóa công khai vào clipboard hoặc một tệp văn bản.

Bước 5. Đăng nhập vào ESXi hoặc vCenter Appliance bằng một tài khoản quản trị qua giao thức SSH.

Bước 6. Chỉnh sửa tệp /etc/ssh/keys-root/authorized_keys (nếu bạn muốn sử dụng tài khoản root) hoặc /etc/ssh/keys-<username>/authorized_keys

(nếu bạn muốn sử dụng một tài khoản khác) và thêm nội dung của khóa công khai vào cuối tệp.

Bạn có thể tham khảo https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/create-with-putty/ để biết cách làm điều này.

Dùng WINSCP kết nối SSH port 22 tìm tới file /etc/ssh/keys-root/authorized_keys

  • Tiiếp tục mở lại phần mềm PuTTy keygen và load lại file private key esx1.ppk

Bấm phải chuột chọn vào vùng Key Public key for pasting into OpenSSH, sau đó dán vào màn hình Editor đang mở của file /etc/ssh/keys-root/authorized_keys

Bước 7. Lưu lại các thay đổi và thoát khỏi phiên SSH hoặc trình duyệt web.

Bước 8. Mở WinSCP và nhập thông tin kết nối của ESXi hoặc vCenter Appliance, bao gồm địa chỉ IP, tên người dùng và mật khẩu (nếu có).

Bước 9. Kiểm tra kết quả vừa cấu hình, nhấn OK và Login để kết nối với ESXi hoặc vCenter Appliance qua SSH bằng khóa của bạn.

Như vậy, nếu bạn có khoá cá nhân và nhớ mật khẩu của khoá thì bạn mới truy cập được vào SSH port 22 của ESXi hoặc vCenter

Bước 10. Tiếp theo dùng PuTTy cấu hình SSH trên ESXi
chỉ sử dụng key esxi1.ppk để đăng nhập, không cho sử dụng hình thức đăng nhập mật khẩu plain-text của root

(phần này tuỳ chọn, nhưng là cách kiểm thử và an toàn của IT Audit).

Bước 11. Gõ lệnh: vi /etc/ssh/sshd_config

Bước 12. Viết thêm hoặc sửa 2 dòng như dưới hình:

Sau đó ấn phím ESC để đổi trạng thái Insert thành đợi lệnh gõ 3 ký tự sau:

:wq để lưu file sshd_config

Bước 13. Tiếp theo để khởi động lại dịch vụ ssh trên ESXi Shell gõ lệnh: /etc/init.d/SSH restart

Bước 14. Bây giờ, tôi sẽ tạm xoá cấu hình liên quan khoá cá nhân của WINSCP

Sau khi xoá link tới file esxi1.ppk này tôi bấm OK và lưu cấu hình của WINSCP lại

Hoặc thử kết nối cấu hình SSH này với PuTTy

 

Tóm lại, mọi việc trở lên khó khăn nếu sau khi cấu hình sshd_config, restart lại ssh là bắt chúng ta phải có file esxi1.ppk và mật khẩu của khoá đó. Bạn không có hoặc quên chúng là 1 điều rắc rối lớn khi muốn truy cập cổng SSH.