VMware EVC – Enhanced VMotion Compatibility được ứng dụng trong vSphere DRS như thế nào?


Bên cạnh các bài viết đã đăng liên quan tới EVC như:

  1. Nested vSphere 6.7 không hỗ trợ EVC trên máy chủ ESXi 6.5
  2. Làm thế nào để cấu hình Nested ESXi 6.0 có thể hỗ trợ bật EVC Clusters
  3. Lỗi không thể cấu hình enable EVC trên vCenter Appliance 6.0
  4. Một số lỗi khi dùng vMotion di chuyển các máy VM giữa các Host khi các ESXi Host bị vượt tải hoặc lỗi Physical

1. Khái niệm:

EVC là từ viết tắt của Enhanced VMotion Compatibility.

EVC có chức năng thúc chuyển các hàm, thuật toán, chứng năng, tính năng giảm các cấp độ của các Chip CPU cuar từng Host trong cụm Cluster DRS xuống một mức độ cân bằng “thấp nhất có thể trong toàn bộ CPU của các Host Cluster” trong đó CPU phần cứng của các Vendor là khác nhau ví dụ: Intel, AMD để có được khả năng tương thích CPU ổn định giữa các máy chủ trong VMware DRS cluster.

 

2. Ứng dụng của EVC trong các Data Center Ảo hóa – DCV:

  • Có 1 ứng dụng duy nhất:
    Khi di chuyển các VMs giữa các Host trong cùng cụm vSphere DRS, nếu các Host cũ, mới có các pCPU cùng Vendor và khác Family chip, các VMs sẽ không thể di chuyển được khi đang chạy, và các VMs này bắt buộc phải Power Of/Shutdown Guest OS gây gián đoạn dịch vụ mới có thể di chuyển được (gọi là Cold Migrate).
  • Các DCV sau nhiều năm vận hành thêm bớt, thay đổi Host thì cấu hình pCPU chắc chắn sẽ bị thay đổi theo các công nghệ Chip mới hơn, do vậy việc cấu hình EVC cũng sẽ trở thành bắt buộc.
  • Khi di chuyển các VMs giữa các Hosts trong cụm vSphere DRS thường chúng ta hay quên mất một điều kiện ngầm là: vMotion yêu cầu các máy chủ ESXi nguồn và đích phải dùng cùng một bộ tính năng, chức năng, thuật toán của pCPU”.

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

 

3. Cơ sở cho cách giải quyết sự khác nhau về Family Chip của EVC:

Để giải quyết vấn đề này, hãy bật Khả năng tương thích vMotion Nâng cao (EVC) trên cụm cluster vSphere DRS:

  • EVC giải quyết vấn đề này bằng cách tạo đường cơ sở “EVC Baseline” được đặt thành cấu hình bộ xử lý ít nâng cao nhất “cấu hình cấp độ vi xử lý có tính năng thấp nhất trong cụm DRS đó” được hỗ trợ/phù hợp với tất cả các máy chủ ESXi trong cụm DRS nói trên.
  • EVC sẽ che giấu tất cả các tính năng thế hệ mới bằng cách chỉ trình bày hiển thị các tính năng, thuật toán, chức năng CPU thông dụng thấp nhất được định nghĩa và cấu hình trên cụm DRS đó.
  • Với đường cơ sở EVC Baseline được định nghĩa và cấu hình, tất cả các máy ảo được cấp nguồn bật cho chạy trong cụm DRS nói trên sẽ chỉ sử dụng các tính năng của bộ xử lý CPU theo của đường cơ sở EVC Baseline nói trên.
  • Đối với máy chủ ESXi có bộ xử lý thuộc các thế hệ khác nhau, bạn sẽ cần tạo đường cơ sở EVC Baseline có thể khác nhau nhằm tránh việc bị giảm tính năng quá xa nhau giữa các CPU vật lý “Tiết kiệm không quá mức”.

 

4. Cấu hình chế độ EVC trong cụm vSphere DRS:

Bước 1. Xác định tất cả các kiểu / thế hệ CPU trên mỗi máy chủ ESXi trong cụm DRS.
Ví dụ: trong 1 con ESXi host có một CPU Model: Intel Xeon E5-2600 v2.

 

Bước 2. Hãy truy xuất trang VMware Compatibility Guide, và chọn dòng CPU SeriesCPU model và Product Release Version sau đó bấm CPU/EVC Matrix.

 

Bước 2. Xác định tính năng CPU Thấp nhất tương thích trên tất cả các máy chủ ESXi trong cụm vSphere DRS:

Ví dụ: như trong hình trên, Mẫu CPU Intel Xeon E5-2600 v2 hỗ trợ các đường cơ sở EVC Baseline sau: 

  • Intel® Westmere (oldest generation) 
  • Intel® Nehalem 
  • Intel® Penryn 
  • Intel® Merom 
  • Intel® Ivy-Bridge 
  • Intel® Sandy-Bridge 
  • Intel® Haswell (newer generation) 

Bước 3. Trong mục inventory của vCenter Server, chọn cụm Cluster.

Bước 4. Tắt nguồn tất cả các máy ảo trên máy chủ có bộ tính năng lớn hơn (mới hơn) so với chế độ EVC.

Bước 5. Bấm chuột vào tab Cấu hình, chọn VMware EVC và bấm vào mục Chỉnh sửa.

Bước 6. Bật EVC theo nhà cung cấp Chip “Vendor CPU” và chọn bộ tính năng, thuật toán, phù hợp cho các máy chủ trong cụm DRS đó và bấm OK.

Bước 7. Bật nguồn các máy ảo trong cụm DRS để áp dụng chế độ EVC.

 

Lưu ý: Nếu một máy chủ ESXi mới được thêm vào cụm hỗ trợ EVC, các tính năng CPU của máy chủ ESXi sẽ phản ánh các tính năng cơ bản EVC Baseline đã được định nghĩa và cấu hình. Máy chủ ESXi nên được thêm vào khi đang ở chế độ bảo trì “Maintaining mode” và ESXi Host mới thêm vào cụm nên có cấu hình pCPU gần giống với cụm DRS đang bật EVC để tiết kiệm.

Tham khảo: https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.vcenterhost.doc/GUID-03E7E5F9-06D9-463F-A64F-D4EC20DAF22E.html

5. Bảng phụ lục tham chiếu các EVC Baselines:

nếu một bộ xử lý có thể hỗ trợ EVC ở cấp độ level XN, nó cũng có thể hỗ trợ các mức XN-1 đến X0.

Ví dụ: một bộ xử lý hỗ trợ Đường cơ sở EVC thế hệ Intel “Sandy Bridge” có mức EVC là L4 (xem Bảng 1.1). Do đó, nó cũng có thể hỗ trợ các mức EVC L3, L2, L1 và L0. Tuy nhiên, nó không thể hỗ trợ EVC cấp L5, tương ứng với Thế hệ Intel “Ivy Bridge”.


Bảng mô tả đường cơ sở phù hợp với CPU Intel EVC Baselines
 

EVC Level

EVC Baseline

Description

L0

Intel “Merom” Gen. (Intel Xeon Core™ 2)

Applies baseline feature set of Intel “Merom” Generation (Intel Xeon Core™ 2) processors to all hosts in the cluster.

L1

Intel “Penryn” Gen. (formerly Intel Xeon 45nm Core™ 2)

Applies baseline feature set of Intel “Penryn” Generation (Intel Xeon 45nm Core™ 2) processors to all hosts in the cluster.
Compared to the Intel “Merom” Generation EVC mode, this EVC mode exposes additional CPU features including SSE4.1.

L2

Intel “Nehalem” Gen. (formerly Intel Xeon Core™ i7)

Applies baseline feature set of Intel “Nehalem” Generation (Intel Xeon Core™ i7) processors to all hosts in the cluster.
Compared to the Intel “Penryn” Generation EVC mode, this EVC mode exposes additional CPU features including SSE4.2 and POPCOUNT.

L3

Intel “Westmere” Gen. (formerly Intel Xeon 32nm Core™ i7)

Applies baseline feature set of Intel “Westmere” Generation (Intel Xeon 32nm Core™ i7) processors to all hosts in the cluster. Compared to the Intel “Nehalem” Generation mode, this EVC mode exposes additional CPU features including AES and PCLMULQDQ.

Note: Intel i3/i5 Xeon Clarkdale Series processors that do not support AESNI and PCLMULQDQ cannot be admitted to EVC modes higher than the Intel “Nehalem” Generation mode.

Note: Intel Atom™ C2300-C2700 processors support the Intel “Westmere” Gen. EVC baseline although their architecture is different from the architecture of the Intel “Westmere” Generation processors.

L4

Intel “Sandy Bridge” Generation

Applies baseline feature set of Intel “Sandy Bridge” Generation processors to all hosts in the cluster. Compared to the Intel “Westmere” Generation mode, this EVC mode exposes additional CPU features including AVX and XSAVE.

Note: Intel “Sandy Bridge” processors that do not support AESNI and PCLMULQDQ cannot be admitted to EVC modes higher than the Intel “Nehalem” Generation mode.

L5

Intel “Ivy Bridge” Generation

Applies baseline feature set of Intel “Ivy Bridge” Generation processors to all hosts in the cluster. Compared to the Intel “Sandy Bridge” Generation EVC mode, this EVC mode exposes additional CPU features including RDRAND, ENFSTRG, FSGSBASE, SMEP, and F16C.

Note: Some Intel “Ivy Bridge” processors do not provide the full “Ivy Bridge” feature set. Such processors cannot be admitted to EVC modes higher than the Intel “Nehalem” Generation mode.

L6

Intel “Haswell” Generation


Applies baseline feature set of Intel “Haswell” Generation processors to all hosts in the cluster. Compared to the Intel “Ivy Bridge” Generation EVC mode, this EVC mode exposes additional CPU features including ABMX2,AVX2, MOVBE, FMA, PERMD, RORX/MULX, INVPCID, VMFUNC.

L7

Intel “Broadwell” Generation

Applies the baseline feature set of Intel “Broadwell” Generation processors to all hosts in the cluster.

Compared to the Intel® “Haswell” Generation EVC mode, this EVC mode exposes additional CPU features including Transactional Synchronization Extensions, Supervisor Mode Access Prevention, Multi-Precision Add-Carry Instruction Extensions, PREFETCHW and RDSEED

L8

Intel “Skylake” Generation

Applies the baseline feature set of Intel “Skylake” Generation processors to all hosts in the cluster.

Compared to the Intel® “Broadwell” Generation EVC mode,this EVC mode exposes additional CPU features including Advanced Vector 
Extensions 512, Persistent Memory Support Instructions, Protection Key Rights, Save Processor Extended States with Compaction, and Save Processor Extended States Supervisor

L9

Intel “Cascade Lake” Generation

Applies the baseline feature set of Intel® “Cascade Lake” Generation processors to all hosts in the cluster.

Compared to the Intel® “Skylake” Generation EVC mode, this EVC mode exposes additional CPU features including VNNI and XGETBV with ECX = 1.

 
 

Bảng mô tả đường cơ sở phù hợp với CPU AMD EVC Baselines
 

EVC Level

EVC Baseline

Description

A0

AMD Opteron™ Generation 1

Applies baseline feature set of AMD Opteron™ Generation 1 (Rev. E) processors to all hosts in the cluster.

A1

AMD Opteron™ Generation 2

Applies baseline feature set of AMD Opteron™ Generation 2 (Rev. F) processors to all hosts in the cluster.
Compared to the AMD Opteron™ Generation 1 EVC mode, this EVC mode exposes additional CPU features including CPMXCHG16B and RDTSCP.

A3

AMD Opteron™ Generation 3

Applies baseline feature set of AMD Opteron™ Generation 3 (Greyhound) processors to all hosts in the cluster.
Compared to the AMD Opteron™ Generation 2 EVC mode, this EVC mode exposes additional CPU features including SSE4A, MisAlignSSE, POPCOUNT and ABM (LZCNT).

Note: Due to 3DNow!™ support being removed from AMD processors after mid 2010, use AMD Opteron™ Generation 3 (no 3DNow!™) when possible to avoid compatibility issues with future processor generations.

A2, B0

AMD Opteron™ Generation 3 (no 3DNow!™)

Applies baseline feature set of AMD Opteron™ Generation 3 (Greyhound) processors with 3DNow!™ support removed, to all hosts in the cluster.
This mode allows you to prepare clusters containing AMD hosts to accept AMD processors without 3DNow!™ support.

B1

AMD Opteron™ Generation 4

Applies baseline feature set of AMD Opteron™ Generation 4 (Bulldozer) processors to all hosts in the cluster.
Compared to the AMD Opteron™ Generation 3 (no 3DNow!™) EVC mode, this EVC mode exposes additional CPU features including SSSE3, SSE4.1, AES, AVX, XSAVE, XOP, and FMA4.

B2

AMD Opteron™ “Piledriver” Generation

Applies baseline feature set of AMD Opteron™ “Piledriver” Generation processors to all hosts in the cluster.
Compared to the AMD Opteron™ Generation 4 EVC mode, this EVC mode exposes additional CPU features including FMA, TBM, BMI1, and F16C.

B3

AMD Opteron™ “Steamroller” Generation

Applies baseline feature set of AMD Opteron™ “Steamroller” Generation processors to all hosts in the cluster.
Compared to the AMD Opteron™ “Piledriver” EVC mode, this EVC mode exposes additional CPU features including XSAVEOPT RDFSBASE, RDGSBASE, WRFSBASE, WRGSBAS and FSGSBASE.

B4

AMD “Zen” Generation

Applies baseline feature set of AMD “Zen” Generation processors to all hosts in the cluster.

Compared to the AMD Opteron™ “Steamroller” EVC mode, this EVC mode exposes additional CPU features including RDRAND, SMEP, AVX2, BMI2, MOVBE, ADX, RDSEED, SMAP, CLFLUSHOPT, XSAVES, XSAVEC, SHA, and CLZERO

B5

AMD “Zen 2” Generation

Applies the baseline feature set of AMD “Zen 2” Generation processors to all hosts in the cluster.

Compared to the AMD “Zen” Generation EVC mode, this EVC mode exposes additional CPU features including CLWB, UMIP, RDPID, XGETBV with ECX = 1, WBNOINVD, and GMET.

 

Chúc các bạn quản lý, vật hành, cấu hình và triển khai DCV an toàn, tối ưu và ổn định cao!

Chúc mừng năm mới 2021!

Xây dựng giải pháp Oracle Database Firewall với công cụ giám sát network của vSphere


Câu hỏi 1:

Thưa thầy, em có 1 câu muốn hỏi thầy ạ: “Em đang định xây dựng giải pháp Oracle Database Firewall.

Em muốn triển khai theo mô hình chỉ monitor, nên muốn dùng tính năng forward các luồng dữ liệu từ cổng mạng của DB server đi đến 1 cổng mạng mirror trên máy DB Firewall để giám sát mà không làm ảnh hưởng gì đến DB đang chạy.

Hiện tại thì em biết cách để làm điều này trên VMware là Port mirroring.

Vậy thầy cho em hỏi là cách thức thực hiện như dự định của em như thế có được không ạ, và việc sử dụng port mirroring trên VMware như thế có làm ảnh hưởng nhiều đến performance của hệ thống DB không ạ ?”

Trả lời 1:

Giải pháp về Oracle Database Firewall mình không thạo vấn đề này, còn về phần triển khai trên vSphere thì em phải nắm được các cách điều khiển dịch vụ firewall và Network vDS có hỗ trợ các services cho việc này:

  • vDS có hỗ trợ Netflow.
  • Port mirroring.
  • PVLAN, VLANX.
  • Traffic Sharping.
  • vimtop trong Bash shell cho monitoring vCenter Appliance.

Ngoài ra, nếu em dùng vSphere 6.5,6.7/7.0 thì có thêm 2 tính năng mới:

Về câu hỏi của em thì cơ bản là em làm vậy là đúng, vì Chiến lược Giám sát các dịch vụ vào ra là do 1 con DB Firewall nó đứng ở tầng ngoài (giống phòng bảo vệ có camera giám sát vận hành) nó sẽ độc lập và tạo điều kiện cho Performance DB traffic và diễn ra thuận lợi cho vận hành. Mô hình này người ta còn gọi là Carbon Black-hold VMware, còn với kiểu an ninh CNTT thì còn gọi là Security Edge (Bảo vệ đường biên).

Em sẽ thấy cách này giống Email Exchange Online của Microsoft 365 hoặc Exchange On-prem 2010/2013/2016/2019, con Exchange chạy dịch vụ mail box, còn con Edge proxy làm Scanner spam, an-ti virus và NAT proxy là con giám sát dịch vụ SMTP/ POP3/IMAP…. hoàn toàn phải tách riêng.

Câu hỏi tiếp theo:

Nhưng em băn khoăn là liệu việc giám sát lên đến cả 10 DB, giả sử lượng truy vấn, dữ liệu đi qua trên DB nhiều thì khi đổ hết traffic về 1 cổng giám sát có làm bottleneck hay quá tải gì cho hệ thống vmware và ứng dụng nói chung k ạ ?

 

Câu trả lời:

Đối với vDS thì không có vấn đề về Bottleneck này, mà chủ yếu ở Physical Switch, pSwitch mới là vấn đề của bottleneck vì nó phải có cấu hình hỗ trợ Mirror port, SPAN Port hoặc TAP port.

  • Nếu em chỉ có 1 Port mirror cho 1 DB Oracle thì SPAN port sẽ chia đôi, nên tốc độ 1Gbps là đủ, nhưng nếu là 2 con Oracle Cluster thì phải có 2 port mirror, mà chỉ có 1 SPAN port thì đúng là bị Bottleneck.

 

vâng, em muốn dùng 1 con DB FW đấy giám sát cho khoảng 10 DB ạ.

Nếu em gặp phải trường hợp Oracle DB là Cluster > 2 node thì sẽ phải tính đến mô hình SPAN Remote

kỹ thuật pSwitch gọi là RSPAN, RSPAN còn có từ viết đầy đủ là kỹ thuật cho phép “Remote” SPAN ports.

Nhưng cách này phải đấu trunk port qua các VLAN và nhiều hơn 2 pSwitch sẽ có thể dẫn tới packet timings bị nặng khi em giám sát các con DB.

 

Câu hỏi tiếp theo:

  • Có cách nào chỉ bắt mỗi traffic liên quan đến DB không thưa thầy, em thấy như thế sẽ nhẹ hơn ?

 

Câu trả lời tiếp theo:

Ah cái đó em đặt filter traffic trên vDS hoặc pSwitch được, nhưng về bản chất nó vẫn rất lớn

vì thực ra khi packet tracert là nó gửi cả gói tin đi qua mirror port để copy thành nhiều bản qua SPAN port đến máy giám sát rồi, nó có thể không chỉ bị bottleneck qua network mà còn bị CPU của pSwitch bị vọt từ 50 – 75% pSwicth do phải nén hoặc de-duplicate …

  • Thực tế, mình có làm tracing SPAN port nhưng cho các máy chủ Front-end thôi như Sharepoint Portal On-prem hoặc cho Exchange On-prem thì cũng đã thấy dữ liệu khổng lồ, có áp dụng Filter DB. mà đã phải thay sang mô hình Layer 3 Tunnel không là bị bottleneck

Mô hình này gọi là ERSPAN nó cũng khá giống với Remote SPAN

nó đỡ bị bottleneck hơn thôi.

 

Câu hỏi tiếp theo:

Vâng, nếu vậy chắc triển khai dạng này cũng khó rủi ro về mặt băng thông ạ còn 1 plan nữa là triển khai dạng proxy nhưng ứng dụng phải trỏ hết vào đó nên em đang không muốn làm như thế ?

 

Câu trả lời tiếp theo:

Về bản chất là do mình đổ tất cả các thông tin vào 1 con SPAN port, nên các kỹ thuật mạng pSwitch chỉ có thể làm nhiều Trunk hoặc tunnel để băm nhỏ và cho timeout kiểu queue để đẩy vào dần 1 con SPAN port

Nếu nhiều port SPAN thì em sẽ giải quyết được thực sự vấn đề này

trên bản vSphere 6.x chỉ có tối đa 4 ports SPAN, còn vSphere 7.x là 8 ports SPAN thì chắc chắn đỡ hơn nhiều, và các pSwicth thì có tính năng Link LLDP. Nhưng do hầu hết các con Oracle DB em dựng đều dùng FC 10Gbps thì rõ ràng các SPAN port này cũng phải là các Full Duplex FC 10Gbps x 8 quá tốn kém. Giải pháp mirror port trên vẫn chỉ nên đi theo mô hình 1 mirror port với 1 SPAN port.

Nói cụ thể hơn về gói tin của Oracle DB, nếu là dạng BLOB thì chỉ có Text, pictures, icon, symbol, Fields… thì còn gọi là Metadata và như vậy em dùng các mô hình nói trên được

còn nếu người Dev / User DB họ dùng CLOB là các dạng dữ liệu binary hoặc Media Video, Audio, Camera IP …. thì chịu, no-SQL, Big Data thì khổng lồ và Mirror port hoặc SPAN port là thua

Em nên tìm hiểu cách mình nói: NetFlow, WireShark để monitoring và Phân tích vmkernel log để chống DDoS thì có lẽ phù hợp hơn

 

Câu hỏi tiếp theo:

Dạ vâng ạ, để em tìm hiểu thử xem ạ

Hiện nay mình có hỏi bên CISCO và HPE thấy có loại pSwitch có Tap link Port, nó là port chuyên cho Analytics NetFlow và nó tránh vấn đề bottleneck này à Giải pháp vật lý, phải mua thêm thiết bị.

Nhưng em thấy cổng vật lý trên host của vmware thì k tách biệt được cổng nào dành cho máy chủ nào

nên nếu SPAN port trên cổng vật lý như thế thì dữ liệu thu trên cổng span sẽ là của cả hệ thống ảo hóa

cái này em vẫn chưa rõ lắm ?

 

Câu trả lời tiếp theo:

Em phải tạo vDS khác và uplink 2 port TAP trunk đó

Có 2 loại Tap in-line cơ bản trên thị trường:

Chi phí phần cứng quá lớn, không tận dựng được pSwitch truyền thống hoặc khó tích hợp.

vâng ạ, giải pháp mua phần cứng chắc là khó rồi, còn Netflow thì k phân tích được chi tiết gói tin.

Yes, có cái vimtop của vCenter lại chi tiết, nhưng cái nhược điểm lại là lưu history log để lưu phân tích.

vâng ạ

 

Tóm lại, Hiện nay theo mô hình em muốn có hơn 2 con Oracle DB giám sát, đồng bộ … thì phần Ảo hóa sẽ phải theo mô hình Tap VM mapping hoặc SDWAN (NSX) hoặc Big Tap Controller.

Sample: https://raw.githubusercontent.com/OpenNetworkingFoundation/SampleTap/master/TappingApp.pdf

https://github.com/OpenNetworkingFoundation/SampleTap

Tham khảo: https://vmsec.wordpress.com/2014/06/26/virtual-network-taps-and-port-mirroring/

 

Trân trọng cảm ơn !

Chúc các bạn nghiên cứu và triển khai được các công nghệ Network Monitoring vs Tracing tối ưu an toàn cho hệ thống DCV !

Cách tạo và sử dụng Thư viện nội dung – Content Library trong VMware vCenter


Khái niệm và mục đích sử dụng:

Thư viện Nội dung “Content Library” đã phát triển khá nhiều kể từ khi ra đời từ vSphere 6.0. Một số sự phát triển đó đã mang lại những cách mới để hoàn thành nhiệm vụ chia sẻ cũng như các tính năng mới. Một trong những bổ sung mới nhất cho đến nay là các lệnh điều khiển mới để quản lý Thư viện Nội dung thông qua PowerCLI, có sẵn trong phiên bản 11.5.0.

Content Library có 2 công dụng chính:

1. Nó là một nơi để chứa các mẫu máy ảoVM Templates” cho Cloud, VDI, vSphere dạng OVF/OVA hoặc các bộ cài đặt phần mềm ISO… để chia sẻ không bị lẫn lộn với các VMs của những đối tượng người dùng khác nhau. Giúp quản lý dễ dàng và đơn giản hơn khi chia sẻ VMs/phần mềm cài đặt.

2. Dùng để chia sẻ các máy ảo, các files ISO cài đặt cho các hệ thống người dùng ở các Phòng/ban/ địa điểm khai thác dịch vụ CNTT khác (thay vì phải share network, USB export hoặc lưu trữ ở nhiều nơi khác nhau không thống nhất, tốn tài nguyên lưu trữ và có thể bị nhiễm virus trong các bộ phần mềm cài đặt).

Content library trên VMware vSphere có 3 loại chính:

1. Local content library: Sử dụng trong local của hệ thống vSphere trong cùng cụm DRS, không chia sẽ cho các hệ thống vSphere khác.

2. Publish content library: dùng để chia sẽ content library cho các hệ thống vSphere khác trong cùng cụm Cluster DRS hoặc Site khác thông qua URL HTTPS.

3. Subscribed content library: dùng để đồng bộ từ các publish content library khác nhau khi có Tài khoản và phân quyền của nhau.

 

Phần 1. Tạo một nội dung thư viện “Content Library”:

Điều quan trọng là phải thực hiện đầu tiên về quyền của Máy chủ vCenter đối với Thư viện nội dung “vCenter Server permissions for Content Library”. Để có thể tạo ra một thư viện, các đặc quyền bắt buộc cần có là Thư viện nội dung. Tạo thư viện cục bộ “Content library.Create local library” hoặc Thư viện nội dung. Tạo thư viện đã đăng ký “Content library.Create subscribed library’” trên cụm máy chủ vCenter Server nơi bạn đang tạo thư viện. vCenter Server đi kèm với một vai trò quyền hạn mẫu Quản trị viên thư viện nội dung “Content library administrator” có thể được sao chép hoặc chỉnh sửa cho phù hợp với nhu cầu.

Đảm bảo xem lại và đặt các quyền cần thiết như được đánh dấu bên dưới bằng cách truy xuất trong Ứng dụng Web vSphere client đến trình đơn Menu >> Mục Quản trị Administration >> Kiểm soát truy cập / Vai trò Access Control/Roles. Bấm vào tên vai trò sẽ hiển thị Mô tả, Cách sử dụng và Đặc quyền của vai trò.


Để tạo một thư viện, hãy bắt đầu bằng cách đăng nhập vào vSphere Client và sau đó từ Menu trên cùng, chọn Content Libraries.


Tiếp theo, nhấp vào “+” (dấu cộng) để mở trình hướng dẫn tạo Thư viện Nội dung Mới.


Chúng ta sẽ cần chỉ định Tên Thư viện Nội dung “Content Library Name” và bất kỳ Ghi chú “Notes” bắt buộc nào. Tiếp theo, chọn vCenter Server sẽ quản lý thư viện mới. Sau khi nhập Tên thư viện và Ghi chú, hãy bấm vào Tiếp “Next” theo để tiếp tục.

 

LƯU Ý: Nếu chỉ một (1) Máy chủ vCenter đang được sử dụng, không có máy chủ nào khác sẽ hiển thị trong danh sách. Điều này cũng đúng nếu Máy chủ vCenter không ở Chế độ liên kết nâng cao (ELM).


 

Đây là nơi thiết lập và cấu hình Thư viện Nội dung ‘Content Library’. Chúng ta có thể đặt thư viện này thành Thư viện Nội dung Cục bộ ‘Local Content Library’ hoặc chúng ta có thể “Đăng kýsubscribe’ một thư viện khác bằng cách cung cấp URL với giao thức https cho phép xuất bản thư viện đó ‘Published Library’. Bấm nút “Next” để tiếp tục.

 


Chọn vị trí lưu trữ nội dung của Thư viện. Đây có thể là kho dữ liệu vSphere kết hợp với các giao thức khác như: SMB hoặc NFS. Trong ví dụ này, một kho dữ liệu vSAN đang được sử dụng làm kho dữ liệu hỗ trợ cho Thư viện Nội dung. Chọn kho dữ liệu và sau đó nhấp vào Tiếp theo “next” để tiếp tục.

 

GHI CHÚ: Bạn có thể lưu trữ các mẫu của mình trên bộ lưu trữ kiểu NFS được gắn vào Công cụ máy chủ vCenter. Sau khi hoàn tất quá trình tạo thư viện mới, vCenter Server Appliance sẽ gắn phần lưu trữ dùng chung “Share Storage” vào OS Linux Photo OS.


Xem lại các cài đặt đã chọn cho Thư viện Nội dung trước khi nhấp vào Kết thúcFinish” để hoàn tất.


Khi trình hướng dẫn hoàn tất, vSphere Client sẽ hiển thị các chi tiết của Thư viện nội dung “Content Library” được tạo. Bấm vào tên của Thư viện Nội dung để tiếp tục.


Từ đây quản trị viên có thể xem lại chi tiết của Thư viện nội dung. Dễ dàng xem lại và truy cập thông tin Lưu trữ hoặc Xuất bản như dung lượng / dung lượng trống và URL Đăng ký, cần thiết khi đăng ký một thư viện đã xuất bản.


Thêm các mục vào Thư viện Nội dung

Bây giờ Thư viện Nội dung đã được thiết lập, chúng ta có thể bắt đầu thêm các mục. Thư viện Nội dung hỗ trợ nhập các mẫu OVF và OVA, file image ISO, chứng chỉ, v.v. Việc giữ các mục này trong thư viện cho phép chia sẻ chúng với những người dùng khác trên nhiều phiên bản Máy chủ vCenter. Các mẫu máy ảo vmdk/vmx/ova/ovf được lưu trữ trong Thư viện Nội dung có thể được sử dụng để triển khai các máy ảo và vApp mới. Trong ví dụ blog này, chúng ta sẽ thêm tập lệnh PowerCLI (.ps1) vào thư viện cục bộ.

Bằng cách duyệt trở lại danh sách Thư viện Nội dung và tìm Thư viện được xuất bản, bây giờ chúng ta có thể bắt đầu thêm nội dung vào thư viện.

Nhấp chuột phải vào Thư viện nhà xuất bản và chọn Import item để bắt đầu.


Chọn Tệp cục bộ Local file rồi bấm TẢI TẢI TỆP
UPLOAD FILE” để duyệt các tệp để tải lên.

 


 

Trong ví dụ này, tôi đang tải tập lệnh PowerCLI (“My-New-Script.ps1“) hoặc file iso cài đặt windows Server 2016 lên Thư viện Nội dung. Chọn tệp mong muốn, nhấp vào Mở
Open để tiếp tục.


Hoàn thành thông tin chi tiết cho Tên phần mềm vs Ghi chú trước khi bấm vào nút NHẬP “IMPORT” để tải tệp lên thư viện.


Sau khi tải lên hoàn tất, hãy mở thư viện đến trang “Tóm tắt
Summary“. Nhấp vào tab Các loại khác “Other Types” để xem tập lệnh PowerCLI hoặc file ISO mới được tải lên. Nhấp vào tên tệp sẽ mở ra màn hình chi tiết.


 

Màn hình chi tiết hiển thị Loại tệp, Kích thước, Đã tạo (ngày) và Sửa lần cuối (ngày). Chúng ta cũng có thể xóa nội dung khỏi thư viện bằng cách nhấp vào menu HÀNH ĐỘNGACTIONS” và chọn Xóa “Delete”.


Xác nhận việc xóa mục thư viện đã chọn, nhấn OK để tiếp tục.


 

 

Phần 2. Cách sử dụng các files ISO trên VM:

Trong bài đăng này, chúng ta đã đề cập đến việc tạo và thiết lập Thư viện nội dung sẽ được sử dụng để Xuất bản nội dung lên các thư viện lưu trữ các phần mềm/bộ cài.

Chúng ta đã học cách Thêm và Xóa các mục khỏi Thư viện Nội dung và cũng thảo luận về các quyền cần thiết trong Máy chủ vCenter để làm việc với việc tạo và / chỉnh sửa Thư viện Nội dung.

Các máy ảo khi được tạo trên vSphere, phần Edit Settings sẽ cho phép điều chỉnh phần Mount CDROM/DVD thông qua 3 kiểu: Host Device, Datastore và Content Library.


Ví dụ: mình muốn mount file cài đặt iso Ubuntu 20.04 cho máy ảo làm Kết toán tài chính “Akaunting”.


Chọn file ISO phù hợp cho công việc mình đang cần:


Mount CD/DVD driver với file ISO có trong Thư viện Nội dung:


 

Ngoài ra, chúng ta còn có thể dựng máy ảo thông qua các gói OVF/OVA là template của các VM đã được dựng/cài/cấu hình và lưu trong Thư viện Nội dung


Ví dụ: Chúng ta muốn dựng Clone/sao chép nhanh 1 máy chủ ảo CentOS đã cài MS SQL Server 2017 dựa trên template VM đã đẩy vào Thư viện Nội dung trước đây:


Triển khai “Deploy a VM” một máy chủ Ảo CentOS 8 dựa trên một Template VM đã dựng trước đây và lưu trong Thư viện Nội dung:

Làm siêu máy tính HPC, máy vẽ 3D cho BIM sẽ có câu hỏi về GPU?


Câu hỏi:

Thầy cho em hỏi, máy ảo trên host esxi, báo lỗi server không hỗ trợ card đồ họa, vậy em upgrade card GPU cho server vật lý thì có giải quyết được không. vGPU này hoạt động thế nào trên GPU khi có card và không card GPU.

Trả lời:

  • Nó không có khái niệm Upgrade kiểu software mà chỉ có kiểu Thay phần cứng GPU card hoặc thay thế CPU để tương thích với Mainboard và với GPU card

em xem ở trang https://pc-builds.com/ sẽ tính toán được sự tương tích giữa CPUGPU để quyết định nâng/thay đổi hoặc giữ nguyên giữa CPU với GPU.

  • Về công nghệ vGPU trên ảo hóa VDI thì lại là khác vấn đề nói trên nhưng vẫn có ảnh hưởng của việc lựa chọn tương thích giữa CPUGPU.

vGPU là do hãng VMwareNVIDIA/AMD đã phối hợp viết Driver software để tương thích môi trường ảo hóa máy chủ vSphere và mức bản quyền Enterprise Plus License của VMWare hỗ trợ.

NVIDIA chỉ có một số dòng card cao cấp gồm: Kepler, Tesla, Grid ví dụ: K1, K2 (đã hết hàng sản xuất), K80, k10, M10, M60, T4 … mới có thể ảo hóa vGPU trên VMware vSphere Enterprise Plus (loại license cao cấp nhất của VMware).

AMD thì hầu hết các dòng card FirePro là chạy được vGPU/Share GPU/sGPU/dGPU …).

  • Khi không có GPU thì VMware Horizon View sẽ dùng vRAM để giả lập GPUlớp DDRAM4/5/6 (Gram GPU) còn vCPU sẽ giả lập phần CUDE core (Core của GPU).
  • Phiên bản VMware vSphere 7.01 có thể giả lập 2 – 4GRAM GPU và Core có thể giả lập 256 core GPU, về phần giả lập thì công xuất và hiệu năng thực tế tối đa chỉ <= 1/8 so với cấu hình tối đa của GPU vật lý

vì GPU vật lý có thể cấp tới 32 GGPU (Ram GPU) và 256 x 8 ~ 2048 CUDE code (core GPU).

Tóm lại:

Nên dùng AMD FirePro làm GPU vật lý và cấp vào VDI Horizon view/Citrix XenApp/XenDessktop và Microsoft VDI RDSH FX là hiệu suất, kinh tế đầu tư và chạy ổn định hơn. Nếu dùng giả lập thì em sẽ thấy tốn tài nguyên RAM, CPU mà hiệu xuất chỉ được 1/8 so với vật lý

 

P.S:

Thiếu GPU vật lý, mà nó lấy sang CPU+RAM vật lý thì đầu tư theo CPU, RAM sẽ không kinh tế hơn đầu tư GPU vật lý làm được vGPU.

 

Chúc các bạn tư duy mắt xích và cập nhật các thông tin cấu hình hệ thống HPC, 3D Render, Live Streaming đầy đủ giúp công việc thuận lợi và thành công!

Cách sửa lỗi khi nâng cấp vCenter lên vCSA 7.0.1 (7.0 U1 Build 16858589)


Hiện tượng lỗi:

Khi cập nhật VMware vCenter vCSA 7.0 U1 (Bản dựng 16858589) lên vCSA 7.0 U1 (Bản dựng 17004997/17005016, Phiên bản 7.0.1.00100),

Bạn có thể nhận thấy rằng bản cập nhật không thành công và báo cáo sự cố với kiểm tra trước cập nhật.


Kiểm tra trước cập nhật được thực hiện trước khi cập nhật sẽ vượt qua và cho phép bạn tiếp tục, tuy nhiên, quá trình cài đặt sẽ không thành công và báo cáo lỗi này.

Sau khi cài đặt không thành công, bạn sẽ không thể đăng nhập vào vCSA VAMI báo lỗi “Không thể đăng nhập” bằng tài khoản root. Bạn có thể đăng nhập qua SSH.

Đặt lại mật khẩu của root qua SSH sẽ không giải quyết được vấn đề này.

Vấn đề có thể xảy ra:

Trong quá khứ, các vấn đề với mật khẩu root hết hạn đã từng gây ra hành vi tương tự trên vCSA VAMI.

Thay đổi mật khẩu root không giải quyết được vấn đề cụ thể này. Khắc phục sự cố thêm, có vẻ như các ký tự đặc biệt trong mật khẩu gốc như “!”, “.” Và “@” đã gây ra sự cố này trong môi trường của tôi.

Tôi không thể sửa vCSA bị hỏng sau khi cập nhật không thành công. Không thể truy cập vCSA, tuy nhiên các chức năng vCenter vẫn hoạt động.

Giải pháp đã được thực hiện:

Để giải quyết tình huống này trong môi trường của tôi, tôi đã khôi phục từ Image snapshot và cả cách backup vcenter từ cổng appliance 5480 để khôi phục nhanh vCSA được chụp trước khi cập nhật.

Sau khi khôi phục từ Snapshot, tôi đã thay đổi mật khẩu của tài khoản Root cho VAMI và khởi động lại vCSA.

Một bản snapshot chụp nhanh khác đã được chụp trước khi thử nâng cấp, hiện đã thành công sau khi xóa các ký tự đặc biệt khỏi mật khẩu root.

 

Chúc các bạn thành công và vượt qua các lỗi gây nhiễu, khó khăn cho vận hành vCenter 7.0.1!

Mở rộng kích thước Virtual disk cho Ubuntu 16.x, 18.x, 20.x guest trong VMware ESXi


Bài toán đặt ra yêu cầu: 1 máy ảo VM chạy Ubuntu Linux khi cần tăng dung lượng Hard disk 1 (Virtual disk) từ 40GB lên 100GB.

  • Thông thường chúng ta sẽ mở Edit Setting VM Linux trên Web vSphere Client và thay đổi giá trị tăng lên của ổ cứng “disk size”:


Ở đây mình có áp dụng 2 cách sau để điều chỉnh:

Cách 1. Dùng Tool Gparted iso:

Bước 1.

Thay đổi Tùy chọn khởi động cho máy ảo của bạn để khởi động vào BIOS của máy ảo khách (‘(‘Force BIOS setup”) để thay đổi thứ tự khởi động với cdrom trước tiên (theo mặc định nó sẽ không khởi động từ cdrom đính kèm file iso vì nó được đặt thành chỉ khởi động từ cdrom nếu đĩa đính kèm không khởi động trước):


  • Với cài đặt iso gparted hoặc Ubuntu trên máy tính để bàn được đính kèm, khởi động lại máy ảo, sau đó chạy gparted.
  • Sử dụng gparted để mở rộng phân vùng vào không gian trống.
  • Sau khi thay đổi kích thước, hãy khởi động lại máy khách Unbuntu (đặt lại thứ tự khởi động hoặc bỏ đính kèm hình ảnh cdrom iso).

Lưu ý: như vậy công cụ phần mềm Gparted được coi là công cụ quan trọng của Quản trị HĐH Linux, và họ luôn cài sẵn phần mềm này ngay từ đầu khi dựng HĐH linux Ubuntu để khi cần là có thể dễ dàng extend kích thước ổ cứng.

 

Bước 2. Giao diện dễ dùng xong không phải lúc nào cũng hiệu quả:

Bây giờ, bạn cần mở rộng phân vùng đĩa trên máy ảo Linux.

Để mở rộng đĩa trên máy ảo, bạn cần tải xuống Gparted ISO mới nhất từ gparted.org.

Gparted là một live-cd của Linux được sử dụng để thay đổi kích thước các phân vùng Linux.

Trong ví dụ của chúng tôi, tệp hình ảnh Gparted gparted-live-0.32.0-1-i686 đã được tải xuống.

Bây giờ, tắt máy ảo và khởi động máy ảo Linux bằng Gparted live-cd.


Sau khi khởi động bằng CD hoặc ISO của Gparted, màn hình sau sẽ được hiển thị.

Nhấn enter để bắt đầu quá trình khởi động Gparted.


Sau khi kết thúc quá trình khởi động, hệ thống sẽ hỏi các câu hỏi sau:

  • Chính sách xử lý sơ đồ bàn phím: Không chạm vào sơ đồ bàn phím
  • Bạn phù hợp với ngôn ngữ nào hơn? (33) Đối với tiếng Anh.
  • Bạn phù hợp với chế độ nào hơn? 0 để khởi động Gparted ở chế độ người dùng đồ họa.

Nếu bạn thấy thông báo cảnh báo Libparted sau đây, hãy nhấp vào nút Khắc phục.


Trên trang Dashboard, mở Ứng dụng Gparted.


Trên màn hình ứng dụng Gparted, chọn phân vùng Linux mong muốn và nhấp vào nút Thay đổi kích thước / Di chuyển.


Để xuất phân vùng, hãy kéo thanh trên đầu màn hình sang bên phải.

Nhấp vào nút Thay đổi kích thước / Di chuyển.


Sau khi hoàn tất cấu hình của bạn, hãy nhấp vào nút Áp dụng.


 

Hệ thống sẽ áp dụng cấu hình mong muốn và thay đổi kích thước phân vùng Linux theo hướng dẫn.


Đóng ứng dụng Gparted và chọn Menu Thoát ứng dụng.


Chọn tùy chọn để khởi động lại máy tính của bạn và xóa CD hoặc ISO của Gparted.

Trên bảng điều khiển Linux, sử dụng lệnh sau để xác minh kích thước phân vùng đĩa mới.

# df -h

Filesystem Size Used Avail Use% Mounted on
udev 464M 0 464M 0% /dev
tmpfs 99M 1.1M 98M 2% /run
/dev/sda2 25G 4.0G 20G 17% /

Như bạn có thể thấy, phân vùng Linux đã tăng từ 16GB lên 25GB.

 

Cách 2: dùng lệnh để tính lại kích thược ổ cứng trong Linux Ubuntu:

Bước 1. Mở rộng kích thước một ổ cứng ảo với Ubuntu LVM

Vì bạn đang chạy một máy chủ Ubuntu trong một máy ảo và bây giờ bạn cần thêm 20 GB dung lượng đĩa vào root (/). Có khá nhiều cách để thực hiện việc này và may mắn thay bạn đang chạy kiểu ổ cứng có “Chương trình quản lý dung lượng phù hợp” (kiểu liên kết dung lượng là bên ngoài: Logical Volume Manager – viết tắt: LVM) trong Ubuntu Linux, vì vậy quá trình này là không quá tệ, dễ dàng hoặc thuận tiện cho việc điều chỉnh kích thước VD.

(Ví dụ này sử dụng Ubuntu Server 10.04, nhưng nó cũng hoạt động cho 12.04, 14.04 và 16.04, 18.04, 19.10 hoặc 20.04)

Sau khi bạn tạo thêm dung lượng phù hợp trong VMWare /Xen/Hyper-V, trước tiên hãy khởi động lại máy chủ Ubuntu của bạn để nó có thể thấy dung lượng trống mới

(Lưu ý rằng: bạn có thể tránh việc khởi động lại này bằng cách yêu cầu hạt lõi dịch vụ “Kernel” có thể quét lại đĩa bằng lệnh:

echo 1> /sys/class/block/sda/device/rescan

Sau đó, chúng ta sẽ chạy trình chỉnh sửa phân vùng GNU để kiểm tra đĩa của chúng ta:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

root@myserver:/# parted

GNU Parted 2.2

Using /dev/sda

Welcome to GNU Parted! Type ‘help’
to view a list of commands.

(parted) print free

Model: VMware Virtual disk (scsi)

Disk /dev/sda: 42.5GB

Sector size (logical/physical): 512B/512B

Partition Table: msdos

 
 

Number  Start   End     Size    Type      File system  Flags

        32.3kB  32.8kB  512B              Free Space

 1      32.8kB  255MB   255MB   primary   ext2         boot

        255MB   255MB   8192B             Free Space

 2      255MB   16.1GB  15.8GB  extended

 5      255MB   16.1GB  15.8GB  logical                lvm

 3      16.1GB  21.5GB  5365MB  primary

        21.5GB  21.5GB  6856kB            Free Space

        21.5GB  42.5GB  21.0GB            Free Space <——

Bạn có thể thấy dung lượng trống của mình, vì vậy hãy phân vùng nó, nhập lệnh sau:

 

$ cfdisk

Chọn dung lượng trống “free space” của bạn, chọn Mới “select New”, sau đó chọn phân vùng Chính “Primary” hoặc Lôgic “Logical partition”. Đối với một máy chủ nhỏ, điều đó có lẽ không quá quan trọng, nhưng hãy nhớ trong x86 Linux, bạn có thể có tối đa thêm 4 phân vùng chính + mở rộng trên mỗi đĩa. Ngoài ra, bạn sẽ cần bắt đầu thêm các phân vùng logical trong các phân vùng mở rộng của mình.

Chọn lệnh Write để tạo phân vùng, sau đó (nếu cần) khởi động lại hệ thống của bạn.

Khi hệ thống của bạn hoạt động trở lại, hãy kiểm tra phân vùng mới của bạn bằng lệnh sau:

 

 

 

 

 

 

 

 

 

 

 

 

 


 

$ fdisk
-l /dev/sda

 
 

Disk /dev/sda: 42.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O
size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x000d90ee

 
 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          31      248832   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              31        1958    15476768    5  Extended

/dev/sda3            1958        2610     5239185   83  Linux

/dev/sda4            2610        3608    16815191   83  Linux <—–

/dev/sda5              31        1958    15476736   8e  Linux LVM

Và bây giờ hãy kéo nó vào cấu hình LVM của chúng ta. Trước tiên, chúng ta sẽ tạo khối kích thước vật lý “Physical volume”:


 

$ pvcreate /dev/sda4

  Physical volume “/dev/sda4”
successfully created

Hãy xem khối lượng vật lý của chúng tôi:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

$ pvdisplay

 
 

  — Physical volume —

  PV Name               /dev/sda5

  VG Name               ubuntu-1004

  PV Size               14.76 GiB / not usable 2.00 MiB

  Allocatable           yes
(but full)

  PE Size               4.00 MiB

  Total PE              3778

  Free PE               0

  Allocated PE          3778

  PV UUID               f3tYaB-YCoK-ZeRq-LfDX-spqd-ggeV-gdsemo

 
 

  — Physical volume —

  PV Name               /dev/sda3

  VG Name               ubuntu-1004

  PV Size               5.00 GiB / not usable 401.00 KiB

  Allocatable           yes

  PE Size               4.00 MiB

  Total PE              1279

  Free PE               11

  Allocated PE          1268

  PV UUID               rL0QG1-OmuS-d4qL-d9u3-K7Hk-4a1l-NP3DtQ

 
 

  “/dev/sda4”
is a new physical volume of “20.00 GiB”

  — NEW Physical volume —

  PV Name               /dev/sda4

  VG Name

  PV Size               20.00 GiB

  Allocatable           NO

  PE Size               0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               uaJn0v-HbRz-YKv4-Ez83-jVUo-dfyH-Ky2oHV

Bây giờ, hãy mở rộng nhóm khối lượng của chúng ta (ubuntu-1004) thành khối kích thước vật lý mới của chúng ta (/dev/sda4):


 

$ vgextend ubuntu-1004 /dev/sda4

  Volume group “ubuntu-1004”
successfully extended

Toàn bộ mục đích của bài tập này là mở rộng hệ thống tệp gốc, vì vậy chúng ta hãy tìm khối kích thước logic chính của chúng ta, gõ lệnh:

 

 

 

 

 

 

 

 

 

 

 

 


 

$ lvdisplay

 
 

  — Logical volume —

  LV Name                /dev/ubuntu-1004/root

  VG Name                ubuntu-1004

  LV UUID                UJQUwV-f3rI-Tsd3-dQYO-exIk-LSpq-2qls13

  LV Write Access        read/write

  LV Status              available

  # open                 1

  LV Size                19.39 GiB

  Current LE             1892

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  – currently set
to     256

  Block device           254:0

Bây giờ, hãy mở rộng khối lượng hợp lý cho tất cả dung lượng trống có sẵn:

 

$ lvextend -l+100%FREE /dev/ubuntu-1004/root

Next, extend the filesystem:

 

$ resize2fs /dev/mapper/ubuntu–1004-root

Cuối cùng, hãy kiểm tra dung lượng mới còn trống của chúng ta gõ dòng lệnh sau:

 

 

 

 

 

 

 

 


 

$ df
–h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/ubuntu–1004-root

                       39G   14G   24G  37% /   <—-

none                  495M  176K  495M   1% /dev

none                  500M     0  500M   0% /dev/shm

none                  500M   36K  500M   1% /var/run

none                  500M     0  500M   0% /var/lock

none                  500M     0  500M   0% /lib/init/rw

/dev/sda1             228M  144M   72M  67% /boot

 

Tham khảo link: http://www.geoffstratton.com/expand-hard-disk-ubuntu-lvm

 

Chúc các bạn cấu hình tăng/giảm kích thước trong máy ảo Linux Ubuntu an toàn !

ATC S3 Capability – Object storage server như AWS S3


ATC S3 là gì?

Đây là định nghĩa ở trang chủ của ATC S3:

ATC S3 is a high performance distributed object storage server, designed for large-scale private cloud infrastructure for Storage and Web Hosting Storage Access.


Ngắn gọn mà nói thì câu trả lời là: Nó giống như dịch vụ AWS S3, nhưng được host local.

ATC S3 là một object storage server được triển khai qua mô hình Public API giống như AWS S3.

Điều đó có nghĩa là những ứng dụng có thể config để giao tiếp với ATC S3 thì cũng có thể giao tiếp với AWS S3.

Là một server lưu trữ object nên có thể được sử dụng để lưu trữ hầu hết các dạng dữ liệu khác nhau như:

  • Không có cấu trúc dữ liệu “unstructured data” như: ảnh, video, log files, backups và container/VM images.
  • Dung lượng của 1 object có thể dao động từ 4 KB tới tối đa là 5TB.
  • Các files cũng được gom lại trong 1 buckets “gói dữ liệu”.
  • Nó được truy cập bằng access key khi dùng app.

Đây là giao diện của ATC S3:


Xử lý khối lượng lớn dự liệu

Giả sử bạn phải lưu trữ một khối dữ liệu, bạn không muốn những dữ liệu này (ảnh, mailboxes…) lưu trữ trên cùng một app. Sẽ là một vấn đề lớn nếu lưu trữ ở cùng một server vì lượng dữ liệu này khá lớn, ví dụ như mailboxes chúng ta cần dung lượng có thể mở rộng và sao lưu được để tránh việc mất dữ liệu.

ATCS3 là công cụ tốt để handle những điều trên. Nó tách những dữ liệu lưu trữ khỏi app của bạn và có thể truy cập thông qua HTTP.

Setup đơn giản

Mặc dù nó được thiết lập đơn thuần chỉ là một thư mục local thông qua S3 API nhưng được config để đề phòng việc disk failures và corruption dữ liệu thông qua hệ thông dữ liệu phân tán giữa nhiều disks và nhiều node được host bởi ATCS3.

Dưới đây là simple installation:

# docker-compose.yml

services:


Atcs3:

image: atcs3/atcs3

volumes:

– ./atcs3-data:/data

ports:

– “9000:9000”

environment:

ATCS3_ACCESS_KEY: “atcs3”

ATCS3_SECRET_KEY: “atcs3@enjoin”

command: server /atcs3-data/data

atcs3-bucket:

image: atcs3/mc

depends_on:

– atcs3

entrypoint: >

/bin/sh -c ”

/usr/bin/mc config host add myatcs3 http://atcs3:9000 atcs3 atcs3@enjoin;

/usr/bin/mc mb myatcs3/file-storage;

/usr/bin/mc policy download myatcs3/file-storage;

exit 0;


Để start atcs3 server chúng ta chạy command: docker-compose run –rm –service-ports atcs3

Rồi truy cập localhost:9000 sẽ xuất hiện giao diện tương tự như phía trên và với bulket là file-storage được tạo sẵn.

Bởi default thì chúng ta chưa có bulket nào nên mình tạo luôn một bulket có tên là atcs3-bulket.

Example with Ruby On Rails

Việc setup đơn thuần chỉ có vậy. Tiếp theo config với rails app để test

Như nói ở trên, chúng ta thao tác như với API của AWS S3 nên cần thêm sdk:

gem “aws-sdk”, “~> 3”

Tiếp theo thêm config để nhận giao tiếp với atcs3 server:

# config/initializers/aws.rb

require “aws-sdk”

 

Aws.config.update({

region: “us-east-1”,

endpoint: “http://127.0.0.1:9000&#8221;,

force_path_style: true,

credentials: Aws::Credentials.new(“atcs3”, “atcs3@enjoin”)

})

Ok rồi, giờ thì vào controller để test thử upload file:

class UploadsController < ApplicationController

require “aws-sdk”

 

def index

@uploads = Upload.all

end

 

def new

end

 

def create

# Create a new s3 resource with a new s3 client.

s3 = Aws::S3::Resource.new

 

# Create key

File.basename file.path

 

# Set the bucket and the key.

object = s3.bucket(“file-storage”).object(file.original_filename)

 

# Upload the file.

object.upload_file(params[:file].open)

 

# Save the uploaded details to the local database.

@upload = Upload.new(

url: object.public_url,

name: object.key

)

 

if @upload.save

redirect_to uploads_path, success: ‘File successfully uploaded’

else

flash.now[:notice] = ‘An error occurs’

render :new

end

end

end

Tiếp đến là tạo một views upload đơn giản rồi chạy rails s và xem kết quả 

ATCS3 chúc mừng khách hàng luôn thành công và an toàn dữ liệu khi dùng atcs3 !

Các cách để khôi phục, xóa mật khẩu root trong HĐH CentOS


  1. HĐH CentOS 6.x
  1. Khi hệ thống khởi động, GRUB sẽ nhắc bạn nhấn bất kỳ phím nào để dừng quá trình khởi động. Nhấn nhanh một phím; bạn chỉ có một vài giây. Nếu bạn bỏ lỡ lời nhắc, bạn cần khởi động lại máy chủ từ bảng điều khiển và thử lại.
  2. Tại dấu nhắc GRUB, gõ A để thêm vào lệnh khởi động.
  3. Thêm khoảng trắng và văn bản vào cuối dòng.
  4. Ấn phím ENTER.
  5. Hệ thống sẽ khởi động và bạn sẽ thấy lời nhắc root>.
  6. Gõ lệnh passwd và nhập mật khẩu mới cho root.
  7. Sau cùng gõ lệnh: reboot để khởi động lại máy chủ.
    1. HĐH CentOS 7
  8. Khi hệ thống khởi động, nhấn ESC để hiển thị lời nhắc khởi động GRUB. Lời nhắc xảy ra sớm trong quá trình khởi động. Nếu bạn bỏ lỡ lời nhắc, bạn cần khởi động lại máy chủ từ bảng điều khiển và thử lại.
  9. Tại lời nhắc khởi động GRUB, nhấn E để chỉnh sửa tùy chọn khởi động đầu tiên.
  10. Tìm tới dòng lệnh “kernel line” bắt đầu có ký tự “linux16″.


  1. Đổi ký tự “ro” thành dòng “rw init=/sysroot/bin/sh”.


  1. Ấn phím CTRL+X hoặc F10 để khởi động theo chế độ “single user mode”.
  2. Truy cập hệ thống theo lệnh: chroot /sysroot.
  3. Gõ lệnh: passwd root và sẽ nhắc bạn việc nhập mật khẩu mới cho root.
  4. Tiếp theo là cập nhật thông tin về dịch vụ selinux bằng lệnh: touch /.autorelabel
  5. Sau đó thoát quyền đọc ghi chroot bằng lệnh: exit
  6. Cuối cùng gõ lệnh: reboot -f để khởi động lại máy chủ CentOS.

 

Trong trường hợp không thành công, bạn có thể dùng cách 2:

 

  1. Khôi phục mật khẩu root trên HĐH CentOS 7 hoặc HĐH RHEL 7

Lưu ý:
– Chỉ có thể áp dụng khôi phục mật khẩu user nếu GRUB2 boot loader không set up mật khẩu khoá.

Bước 1: khởi động lại hệ thống, chỉnh sửa ‘grub2’

– Khởi động lại hệ thống và tinh chỉnh chế độ GRUB2 ở màn hình boot GRUB2.
– Bấm nút ESC để màn hình dừng lại, sau đó ấn nút ‘e‘ để thực hiện chỉnh sửa.


Bước 2: chỉnh thông số entry cần thiết

– Tìm đến dòng entry cấu hình “linux16” hoặc “linuxefi” đối với hệ thống UEFI.
– Xoá 2 thông số “rhgb quiet” để kích hoạt log message hệ thống khi thực hiện đổi mật khẩu root.
– Thêm vào cuối dòng “linux16” thông số sau: rd.break


– Ấn Ctrl+X để lưu và tự động boot vào môi trường initramfs.


Bước 3: remount filesystem và chuyển chế độ chroot

– Hệ thống filesystem hiện tại đang ở chế độ “read only” được mount ở thư mục /sysroot/, để thực hiện khôi phục mật khẩu root thì ta cần thêm quyền ghi (write) trên filesystem. Ta sẽ tiến hành remount lại filesystem /sysroot/ với quyền đọc-ghi (read-write).
– Kiểm tra lại xem filesystem đã được remount quyền đọc-ghi hay chưa.

switch_root:/# mount -o remount, rw /sysroot

switch_root:/# mount | grep -w “/sysroot”

 
– Lúc này filesystem đã được mount và ta sẽ chuyển đổi sang môi trường filesystem (prompt: sh-4.2#).

switch_root:/# chroot /sysroot


– Tiến hành reset password user root.

sh-4.2# passwd root

Bước 4: relabel SELINUX

– Chạy lệnh sau để update lại các thông số cấu hình SELINUX, nếu bạn có sử dụng SELINUX. Nguyên nhân khi ta update file /etc/passwd chứa mật khẩu thì các thông số SELINUX security contex sẽ khác nên cần update lại.

sh-4.2# touch /.autorelabel

Bước 5: remount và reboot

– Remount filesystem “/” ở chế độ read-only.

sh-4.2# mount -o remount, ro /


– Thoát môi trường chroot và Khởi động lại hệ thống.

sh-4.2# exit

switch_root:/# exec /sbin/reboot


Bạn sẽ thấy hệ thống reboot và chậm hơn bình thường , do hệ thống đang tiến hành hoạt động SELINUX relabel. Sau khi boot vào hệ thống prompt console thành công thì bạn có thể đăng nhập bằng mật khẩu mới.

 

 

  1. HĐH CentOS 8
  1. Khi hệ thống khởi động lại hệ thống, ấn phím ESC để di chuyển tới màn GRUB. Nhấn nhanh một phím; bạn chỉ có một vài giây. Nếu bạn bỏ lỡ lời nhắc, bạn cần khởi động lại máy chủ từ bảng điều khiển và thử lại.
  2. Tại dấu nhắc GRUB, ấn phím E để sửa chữa chế độ khởi động.
  3. Tìm tới dòng lệnh bắt đầu bằng chữ “linux”.
  4. Đổi cụm chữ “ro” thành “rw init=/sysroot/bin/sh “.
  5. Ấn phím CTRL+X hoặc F10 để chuyển chế độ khởi động thanhg “single user mode”.
  6. Truy xuất hệ thống bằng lệnh: chroot /sysroot.
  7. Gõ lệnh: passwd root để thay đổi mật khẩu mới cho root.
  8. Gõ tiếp lệnh: touch /.autorelabel để ghi cập nhật hệ thống.
  9. Gõ tiếp lệnh: exit.
  10. Gõ lệnh: logout.
  11. Gõ lệnh: reboot để khởi động lại máy chủ CentOS 8.

 

  1. Thêm phần công cụ Gparted giúp re-size Virtual Disk linux:
  1. https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/

  2. Install epel-release rpm:

    # rpm -Uvh epel-release*rpm

  3. Install gparted rpm package:

    # yum install gparted

Làm thế nào để backup nội dung trong Content Library của vCenter 6.x hoặc 7.x


Trong thời gian triển khai Content Library của vSphere từ 6.5 đến 7.0, cũng đã xuất hiện nhiều câu hỏi về việc troubleshoot hoặc vận hành bảo vệ hệ thống Ảo hóa VMware, Làm thế nào có thể backup/copy hoặc Restore khôi phục nội dung Content Library.

Content Library là một bản cập nhật các phiên bản mới, các thư viện nội dung là các đối tượng vùng chứa cho các mẫu VM templates, mẫu vApp Template, ISO setup, ova,ovf và các loại tệp khác lưu trữ riêng biệt theo categories. Quản trị viên có thể sử dụng các mẫu trong thư viện này để triển khai máy ảo và vApps thông qua vCenter>Content Library. Sử dụng thư viện Nội dung dẫn đến tính nhất quán, tuân thủ, hiệu quả, tiết kiệm và bảo mật tài nguyên chứa phần mềm cài đặt và tự động hóa khi triển khai khối lượng công việc trên quy mô lớn của vCloud, VDI, deploy automation VMS.

Một câu hỏi khác cũng được đưa ra trong Diễn đàn Veeam thời gian hơn 3 năm qua kể từ bản Content Library ra đời trên VMware vSphere 6.x “Làm thế nào có thể dùng Veeam Backup sao lưu nội dung của Thư viện nội dung – Content Library”.


Thư viện Nội dung được tạo và quản lý từ một vCenter duy nhất, nhưng có thể được chia sẻ với các phiên bản Máy chủ vCenter khác. Mẫu VM và mẫu vApps được lưu trữ dưới dạng định dạng tệp OVF/OVA trong thư viện nội dung. Bạn cũng có thể tải lên các loại tệp khác, chẳng hạn như các bộ phần mềm cài đặt ISO, tệp văn bản docx/pdf, v.v., trong thư viện nội dung. Có thể tạo thư viện nội dung do bên thứ 3 lưu trữ như ví dụ quản lý thư viện nội dung dựa trên AWS S3 hoặc S3 Compability.


Đối với những người muốn lưu trữ chúng cục bộ “Local host” trên kho dữ liệu ESXi Datastore, có một cách để sao lưu nội dung của thư viện nội dung với công việc Sao lưu tệp sao lưu & sao chép của Veeam Backup. Đây là một giải pháp cơ bản cho câu hỏi được đặt ra trong Diễn đàn VMware hoặc Veeam tuy nhiên nó vẫn hoạt động trong lúc backup bình thường. Với Bản sao tệp “Backup copy job”, bạn có thể chọn bất kỳ tệp hoặc thư mục nào có trong bất kỳ cơ sở hạ tầng được kết nối nào trong Sao lưu & Nhân bản tức là mục Veeam Backup & Replicate> FILES > VMware vSphere> ESXi / IP host > DC > Datastores > Datastorage_NAS > Contentlib-abcxyz.

Đối với Thư viện Nội dung được lưu trữ trên kho dữ liệu ESXi, bạn chỉ cần duyệt đến vị trí như hình dưới đây.





Một lưu ý là điểm đến không thể là Kho lưu trữ Veeam. Không có phiên bản hoặc bản sao tăng dần, vì vậy mỗi khi công việc được thực hiện, một bản sao lưu đầy đủ của các tệp được thực hiện.  


Một cách để giải quyết vấn đề này là đặt đích đến một vị trí đang được sao lưu trong Veeam Backup Copy Job hoặc Veeam Agent Backup Job. Tuy nhiên, nếu mục đích là chỉ bảo vệ nội dung tức thì của thư viện chứ không phải là có một bản sao lưu đầy đủ sau khi tắt hẳn thì không phải là vấn đề.


Bạn cũng có thể tạo / thêm công việc Sao chép Tệp “Backup Copy FILES” từ chế độ xem Tệp như được hiển thị ở trên.

Về mặt khôi phục, công việc Sao chép tệp đang thực hiện sao chép tệp cơ bản và không biết thực tế tệp là một phần của Thư viện nội dung và như bạn có thể thấy, cấu trúc thư mục mà vCenter tạo sử dụng UID để nhận dạng. Do đó, nếu có tình huống mất toàn bộ Thư viện Nội dung, nó sẽ phải được tạo lại trong vCenter và sau đó được nhập trở lại trực tiếp từ vị trí thư mục đích Công việc Sao chép Tệp.

Một lần nữa, đây là một giải pháp nhanh chóng và nó sẽ là một bổ sung tính năng tuyệt vời nếu đặt tên và cấu trúc được khôi phục đầy đủ… nguyên bản được sao lưu tại chỗ. Hiện tại, đây là một cách tuyệt vời để sử dụng một tính năng thú vị của Veeam Backup & Replication để đạt được mục tiêu backup/restore Content Library.

Chúc các bạn thành công, luôn an toàn hệ thống VMware vCenter vs Data center !

Hướng dẫn cách dịch hệ thống E-learning cho cộng đồng người Việt


Hệ thống E-learning được viết bằng mã nguồn mở PHP opensource đã có cả các trang lưu bản dịch ngôn ngữ giao diện hệ thống.

Xuất sứ của bài viết này: Đã từ lâu tôi cũng xây dựng và phát triển dựa trên mã nguồn này – Moodle, xong cũng vì vấn đề ngôn ngữ hiển thị tiếng Việt và một số ngôn ngữ rất bất đồng, sai sót khi dịch.

Và nhân tiện Con gái tôi đã bắt đầu đến giai đoạn học tập, nghiên cứu giáo dục và xã hội, tôi muốn có được sự giúp đỡ góp sức của con gái tôi vào việc dịch thuật phần ngôn ngữ tiếng Việt trên hệ thống E-learning.

Giao việc: Thế là bài viết này được hình thành để hướng dẫn con gái tôi sử dụng , để con gái tôi có thể hỗ trợ tôi và cộng đồng người Việt khai thác sử dụng Moodle trong việc xây dựng và vận hành E-learning.

Bước 1. Truy cập trang https://lang.moodle.org

Bước 2. Đăng nhập / đăng ký account của Moodle/ Microsoft Account / Google / Facebook

Bước 3. Chọn Ngôn ngữ để dịch thuật, sửa chữa nội dung văn bản:

Bước 4. Chọn từng thành phần “Components” để dịch cho ngắn ngọn và dễ kiểm soát khối lượng công việc dịch

Bước 5. Bấm nút “Save filter settings” để lưu phần đã lọc tìm và đợi tới khi trang web hiện ra các nội dung phía dưới để làm công việc dịch thuật

Dưới đây là ảnh ví dụ: 1 ô đang trống ở phần Vietnamese |vi| à nhiệm vụ là điền vào ô trống đó lời viết tiếng Việt:

Sau khi điền tiếng việt vào sẽ có nội dung dịch sau:

Lưu ý: đối với những nội dung ngữ cảnh lại có thêm các ký tự đặc biệt như {a} đây là các biến tham số động, chúng ta nên giữ nguyên các tham số đó và chỉ dịch các từ sang tiếng Việt


Sau khi dịch sẽ như sau:

Hoặc trường hợp phần tiếng Anh gốc (English fix) chỉ toàn tham số, thì ở ô tiếng Việt chúng ta để trống vì chúng sẽ được hiểu là giống tiếng Anh.

Bước 6. Sau khi soạn hết trang dịch, bấm nút “Go to Stage” ở gần cuối trang dịch thuật

Bước 7. Bấm nút “Send strings to language pack maintainers” để lưu lại bản dịch thuật vừa xong

Bước 8. Khi “Submitting a contribution” chúng ta nên đặt tên Subject trùng với tên của Component name để dễ theo dõi các nội dung đã dịch thuật.

Ví dụ: Components name: Core, thì ở phần Subject name sẽ nhập: Core

Kết quả sau khi bấm nút “Submit to maintainers”

Bước 9. Sau khi làm xong bước trên, chọn menu:

Bước 10. Quay lại Translator và tiếp tục dịch phần tiếp theo:

  • Bỏ chọn core trong Components List

  • Chuyển sang chọn: core_access

  • Tiếp tục dịch thuật những phần còn thiếu trong ô Tiếng Việt

Sau khi dịch xong, chúng ta di chuyển về cuối của trang dịch và bấm nút “Go to Stage”

Lặp lại việc bấm nút “Send strings to language pack maintainers” và lưu với tên của mục đã dịch ở trên “core_access

Kết quả của các lần dịch thuật các gói Components sẽ hiện ra ở mục Contributions

Chúc các bạn thành công, và giúp cho công đồng sử dụng E-learning Moodle nhanh chóng đưa vào khai thác sử dụng tốt.