Ứng dụng không được hỗ trợ trong một máy ảo?


10

Chúng tôi đã mua một số phần mềm từ một công ty nhỏ, đó là trình quản lý quy trình làm việc nội dung video Windows 32 bit, đã có một số tùy chỉnh của họ.

Chúng tôi đã hoạt động tốt trong hơn một năm khi chạy mã này trong VMWare ESXi 4.1u2 VM trên W2K3EE-32-bit (đó là những gì họ hỗ trợ khi chạy mã này).

Sau đó, họ đã cập nhật mã của họ khoảng một tháng trở lại và chúng tôi bắt đầu thấy một trong số các vCPU được chốt định kỳ ở mức 100%, vCPU thứ hai khá nhàn rỗi, giả sử là 5 - 7% - vì vậy chúng tôi chỉ cho rằng mã bị xâu chuỗi và liên hệ với họ về nó

Bây giờ họ đã quay lại với chúng tôi nói rằng mã của họ không hoạt động trong VM, họ đã biết về yêu cầu này trong 18 tháng hoặc lâu hơn và họ muốn chúng tôi V2P nó. Họ nói rằng họ chỉ thấy vấn đề này khi chạy bên trong máy ảo. Tôi có một cuộc gọi với lập trình viên cao cấp của họ được lên lịch trong một vài giờ để thảo luận.

Bây giờ may mắn thay, chúng ta có một vài vật lý mà chúng ta có thể làm điều này, tốn ít thời gian nhưng không thể làm được.

Tuy nhiên, câu hỏi của tôi là VM này không chạm trực tiếp vào bất kỳ phần cứng nào, trên một máy chủ rất hiện đại và thực sự có yêu cầu rất thấp (2 x vCPU, 4GB, vdisk khởi động 20 GB, vdisk 100 GB, vNIC đơn và không có gì khác) có thể có thể là vấn đề với việc chạy nó trong VM, nếu có?

Rõ ràng là tôi mạnh mẽ theo đuổi điều này với họ nhưng tôi chỉ tự hỏi liệu có ai khác đã tìm thấy một ứng dụng thông thường không, rằng bằng cách nào đó, hoạt động sai trong VM nhưng không phải trên vật lý.


Cả hai vCPU có được kéo từ cùng một CPU không? Bạn có thiết lập rằng mỗi bản đồ lõi thực trực tiếp đến một vCPU không? Bạn có đang làm bất cứ điều gì buồn cười như bật siêu phân luồng trên CPU của bạn không? Đây là một số câu hỏi sẽ giúp giải quyết bất cứ điều gì có thể khiến chúng chậm lại ở phần cuối mà bạn có thể giải quyết. Bạn có thể sẽ có một ý tưởng tốt hơn sau khi nói chuyện với lập trình viên cao cấp về cách giải quyết các vấn đề có thể phát sinh từ việc nó chạy trong VM hoặc bạn sẽ biết chắc chắn liệu họ có đang làm sai hay không. Nó chỉ có thể là mã được viết bằng java.
Wilshire

Tôi đang để ESXi thực hiện điều đó theo cách lập lịch xử lý và trên siêu phân luồng Xeons> 55xx không được coi là 'buồn cười', nó hoạt động và rất hữu ích - nhân tiện, đó là .NET 3.5.
Chopper3

Tôi biết rằng MySQL Cluster rõ ràng cũng không 'chính thức' hoạt động trong môi trường ảo hóa. Lý do? Không biết! : P
Ben Ashton

Câu trả lời:


3

Mặc dù tôi không thể nói cho nhà cung cấp này hoặc gói phần mềm, tôi đã làm việc cho một nhà cung cấp lớn (đa quốc gia), nơi một trong những phần mềm họ bán có vấn đề rất cụ thể khi chạy trên VMware.

Trong trường hợp này, một vấn đề có thể khiến phần mềm bị bế tắc và vấn đề khác có thể gây ra hỏng dữ liệu. Như vậy, khách hàng được khuyên không nên chạy phần mềm trong môi trường ảo. Một số vẫn còn, và trong tất cả các trường hợp tôi nhận thức được, họ gặp phải một hoặc cả hai vấn đề.

Vì vậy, trong khi rất hiếm, có thể có trường hợp phần mềm không hoạt động như bạn mong đợi trong VMware.

Mặc dù tôi nhận ra rằng nó không trực tiếp giúp ích cho vấn đề của bạn, nhưng nó cho thấy VMWare không phải lúc nào cũng là hệ thống hoàn hảo.

Lưu ý: trong trường hợp này, nhà cung cấp đã có thể làm việc với VMware để tìm độ phân giải (một số sửa lỗi mã, một số thay đổi cấu hình VMWare) và giờ đây họ có một số hướng dẫn (rất cụ thể) về cách chạy phần mềm trên VMWare.


Đó chính xác là điều tôi buồn nhưng rất biết ơn - khi tôi đề cập đến Janne trong câu trả lời của anh ấy, chúng tôi đã quen với những thứ hoạt động chính xác trong VM đến nỗi việc tìm thấy một tình huống kỳ quặc như vậy khiến tôi hơi hoang mang. , vì vậy nghe từ bạn rằng tôi không đơn độc trong việc này là ít nhất là an ủi. Tôi chưa nghe thấy bất cứ điều gì tích cực từ nhà cung cấp phần mềm nhưng tôi biết họ đang xem xét vấn đề, không thể tưởng tượng được một bản sửa lỗi trong một tháng hoặc không may. Cảm ơn một lần nữa.
Chopper3

3

Với ESX v5 và giới hạn Monster VM (RAM 32vCPU 1TB), số lượng ứng dụng gặp sự cố với VM đang bị thu hẹp. Hầu hết những ứng dụng tôi đã trải qua là: - dựa vào thời gian là tuyến tính (các quy trình hoặc ứng dụng thời gian thực cần có thời gian tuyến tính ... điều này thường có thể được điều chỉnh) - các ứng dụng gây ra nhiều gián đoạn phần cứng hoặc chuyển đổi ngữ cảnh

Trong hầu hết các trường hợp, bạn sẽ có thể yêu cầu đại diện vmware của mình nói chuyện với những người đó. Tôi tin rằng vmware vẫn có một đội ngũ những người tận tâm để làm cho mọi thứ hoạt động (họ đã có một phòng thí nghiệm hỗ trợ chỉ cho việc này trong những ngày đầu).

Về giải pháp, tôi gặp vấn đề tương tự với VM có mức sử dụng CPU cao (nhưng máy chủ có nhiều tài nguyên CPU miễn phí). Chúng tôi đã khắc phục sự cố bằng cách di chuyển đến máy chủ có CPU Nehalem và thay đổi mức độ tương thích CPU trong EVC (nếu bạn có một cụm với DRS / HA)


Cảm ơn bạn đã trả lời - rất tốt với bạn khi đây thực sự không phải là một loại câu hỏi đen trắng. Ví dụ của bạn rất hữu ích, tôi sẽ quay lại và đặc biệt kiểm tra chuyển đổi ngữ cảnh. Ồ và tất cả các máy chủ của chúng tôi đều sử dụng cùng một CPU (X5690) với EVC được đặt thống nhất, nhưng cảm ơn một lần nữa.
Chopper3

2

Tôi đã thấy vấn đề tương tự với VMware ESX + Debian 6 + OpenLDAP 2.4.x (bất kể phiên bản chính xác của OpenLDAP là apt-gitable ...).

Trong các hoạt động hàng ngày, nó hoạt động tốt, nhưng những thứ như nhập tệp LDIF lớn với 400 000 mục nhập rất chậm (chậm hơn 50 - 100 lần so với máy chủ vật lý). Ngoài ra, với thời lượng dài, điểm chuẩn khối lượng lớn, mọi thứ sẽ diễn ra suôn sẻ với thời gian phản hồi vài mili giây, nhưng đôi khi có những đỉnh kỳ lạ dao động từ 500 đến 25 000 (!) Mili giây.

Với các máy chủ vật lý, tôi không thể tái tạo những vấn đề này. Và vâng, tôi đã dành khoảng ba tuần để cố gắng cách ly vấn đề, điều chỉnh tất cả các loại tham số từ tham số hệ điều hành sang giá trị slapd thành giá trị BerkeleyDB ... không có gì giúp được.


Cảm ơn bạn rất nhiều vì đã chia sẻ kinh nghiệm của bạn, tôi không thể nói rằng tôi không thấy điều này hơi kỳ quặc - Tôi là một người đam mê ảo hóa và tôi đã quen với những thứ chỉ hoạt động để tìm một ứng dụng thực hiện điều này đã làm lung lay niềm tin của tôi theo một cách nào đó, vì vậy thật tốt khi biết tôi không ở vị trí biệt lập. Cảm ơn bạn.
Chopper3

1
Hai ví dụ khác: Atlassian nói rằng cả hai JiraConfluencekhông được khuyến nghị chạy trong môi trường VM (ware). Phải có một khuôn mẫu cho những ngoại lệ này, tôi chỉ chưa tìm ra nó có thể là gì. Quá trình cài đặt OpenLDAP của tôi không quá chuyên sâu I / O (ghi 3 MB / giây và không có quá nhiều IOPS trong các đỉnh trong khi đo điểm chuẩn), nó sử dụng CPU có thể 20-40% và RAM khoảng 150 MB. Không nên quá khó để xử lý. Có lẽ nó có một cái gì đó để làm với luồng, nhưng vmstat báo cáo các chuyển đổi ngữ cảnh, vv ở mức bình thường.
Janne Pikkarainen

Lý thuyết hiện tại của tôi là điều này có liên quan đến việc giữ thời gian của hệ điều hành. VMware đã có tất cả các loại sự cố đồng hồ lạ trong quá khứ và thậm chí bây giờ đôi khi bạn phải vượt qua một tsc=pitsố thông số thời trang trong khi khởi động, và ít nhất OpenLDAP rất nhạy cảm với độ chính xác của đồng hồ hệ thống. Có lẽ tôi nên sải bước tất cả các ứng dụng có vấn đề và xem liệu tất cả chúng có sử dụng nhiều gettimeofday()hay không.
Janne Pikkarainen

Cảm ơn bạn một lần nữa, bạn đã đúng về thời gian trong VM, nó vốn dĩ ở khắp mọi nơi nên tôi hiểu điều này nhưng tôi không thể không nghĩ rằng ngay cả khi đó là một vấn đề thì đó sẽ là một vấn đề rất nhanh đối với các nhà cung cấp của chúng tôi phát hiện ra mã của họ, hãy nhớ rằng đây không thực sự là một ứng dụng nhạy cảm với thời gian, nó chỉ lấy nội dung video và xử lý nó, hmmm. Cảm ơn một lần nữa.
Chopper3
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.