Chọn công nghệ SAN cho 100 máy chủ web VM


15

Vấn đề

Chúng tôi có một vấn đề với hiệu suất trên nền tảng hiện có, vì vậy tôi đang chuyển sang ý tưởng thứ hai về ý kiến ​​thứ hai về vấn đề này. Vấn đề hiệu suất cho đến nay liên quan đến IOPS hơn là thông lượng.

Kịch bản

Một trung tâm lưỡi gồm 16 máy chủ, mỗi máy có 64GB RAM. (Đó là Dell M1000e w / M610, nhưng có lẽ không liên quan) 500 VM, tất cả các máy chủ web (hoặc các công nghệ web liên quan như MySQL, cân bằng tải, v.v.), khoảng 90% là Linux và Windows còn lại. Hypervisor là VMWare vSphere. Chúng tôi cần cung cấp HA lưu trữ, vì vậy lưu trữ cục bộ đã hết. Vì vậy, các máy chủ chỉ cần có một thẻ SD để khởi động.

Một chút suy nghĩ nền tảng

Hiện tại, chúng tôi có tới 6 máy chủ (trung tâm lưỡi cắt sẽ hoạt động hết công suất trong một năm với mức tăng trưởng hiện tại) và chúng tôi đang chạy iSCSI cho Dell MD3220i w / MD1220 để mở rộng.

Các tùy chọn có thể chúng tôi đã xem xét và suy nghĩ ngay lập tức cùng với chúng:

  • Truyền bá VM trên các kho dữ liệu NFS và chạy bộ lưu trữ NFS đáp ứng yêu cầu về hiệu năng cho tối đa một số VM nhất định. NFS dường như rẻ hơn để mở rộng quy mô, cũng như được trừu tượng hóa hơn một chút so với lưu trữ ở cấp độ khối để chúng tôi có thể di chuyển nó khi cần thiết.
  • Thêm nhiều bộ điều khiển / mục tiêu MD3220i. Mặc dù vậy, chúng tôi lo ngại rằng việc làm này có thể có tác động tiêu cực bằng cách nào đó trong cách VMWare xử lý có nhiều mục tiêu.
  • Hoán đổi tất cả các đĩa từ Gần tuyến SAS sang SSD. Điều này phải giải quyết hoàn toàn vấn đề IOPS, nhưng có tác dụng phụ rõ ràng là làm giảm dung lượng lưu trữ của chúng tôi. Ngoài ra, nó vẫn còn rất đắt.
  • vSphere 5 có một thiết bị lưu trữ. Chúng tôi chưa nghiên cứu nhiều về nó, nhưng nó phải hoạt động tốt chứ?

Câu hỏi

Loại lưu trữ nào bạn sẽ chạy bên dưới tất cả những thứ đó? Nó sẽ không cần phải mở rộng sang một trung tâm lưỡi cắt khác, nó sẽ chỉ cần cung cấp hiệu suất tương đối tốt cho tất cả các VM đó.

Tôi không tìm kiếm câu trả lời "Mua SAN x vì đó là câu trả lời hay nhất". Tôi đang tìm kiếm suy nghĩ về các công nghệ SAN khác nhau (iSCSI, FC, FCoE, InfiniBand, NFS, v.v.), các loại lưu trữ khác nhau (SATA, SAS, SSD) và phương pháp xử lý lưu trữ cho 100 VM (Hợp nhất, Tách rời , Shending, vv).

Hoàn toàn bất kỳ suy nghĩ, liên kết, hướng dẫn, con trỏ, vv đều được chào đón về điều này. Tôi cũng thích nghe suy nghĩ về các lựa chọn ở trên mà chúng tôi đã xem xét.

Rất cám ơn trước cho bất kỳ đầu vào!

Cập nhật ngày 5 tháng 3 năm 12

Một số phản hồi tuyệt vời cho đến nay, cảm ơn tất cả mọi người rất nhiều!

Đi theo câu trả lời cho câu hỏi này cho đến nay, tôi bắt đầu nghĩ rằng con đường sau đây là con đường:

  • Cấp lưu trữ có sẵn cho cụm VMWare và đặt các đĩa VM vào bộ lưu trữ phù hợp cho khối lượng công việc của chúng.
  • Có khả năng sử dụng SAN có khả năng quản lý việc sắp xếp dữ liệu vào bộ lưu trữ phù hợp một cách tự động.
  • Infiniband có vẻ là hiệu quả nhất về chi phí để có được băng thông cần thiết với các máy chủ hết công suất.

Nghe có vẻ như đáng để sử dụng các dịch vụ tiền bán hàng của một nhà cung cấp SAN lớn để đưa họ vào kịch bản.

Tôi sẽ tiếp tục xem xét vấn đề này trong một thời gian. Trong thời gian có thêm lời khuyên nhận biết ơn!


Ngoài ra Mellanox có một thỏa thuận chuyển đổi 40gbe khá độc đáo, rất gần với infiniband về mặt $ / hiệu suất. Vào thời điểm đó, tôi sẽ xem xét một nexenta với một vài thẻ 40gbe là một lựa chọn khả thi.
tony roth

Câu trả lời:


13

Chìa khóa cho một nền tảng lưu trữ VMWare tốt là hiểu loại tải mà VMWare tạo ra.

  • Đầu tiên, vì bạn lưu trữ rất nhiều máy chủ, khối lượng công việc thường là ngẫu nhiên. Có nhiều luồng IO diễn ra cùng một lúc và không nhiều luồng trong số chúng có thể được lưu trước thành công.
  • Thứ hai, nó là biến. Trong các hoạt động bình thường, bạn có thể thấy 70% số lần đọc ngẫu nhiên, tuy nhiên ngay khi bạn quyết định chuyển VM sang kho dữ liệu mới hoặc một cái gì đó, bạn sẽ thấy một bản ghi tuần tự 60GB khổng lồ. Nếu bạn không cẩn thận về kiến ​​trúc, điều này có thể làm tê liệt khả năng lưu trữ của bạn để xử lý IO bình thường.
  • Thứ ba, một phần nhỏ trong môi trường của bạn thường sẽ tạo ra một phần lớn khối lượng công việc lưu trữ.

Cách tốt nhất để tiếp cận việc xây dựng bộ lưu trữ cho nền tảng VMWare là bắt đầu với các nguyên tắc cơ bản.

  • Bạn cần khả năng phục vụ khối lượng công việc đọc ngẫu nhiên lớn, có nghĩa là ổ đĩa nhanh hơn nhỏ hơn, cũng như có thể là SSD. Hầu hết các hệ thống lưu trữ hiện đại cho phép bạn tự động di chuyển dữ liệu tùy thuộc vào cách truy cập. Nếu bạn định sử dụng SSD, bạn muốn đảm bảo đây là cách bạn sử dụng nó. Nó nên ở đó như là một cách để giảm dần các điểm nóng. Cho dù bạn có sử dụng SSD hay không, điều đó có lợi để có thể đặt tất cả công việc trên tất cả các ổ đĩa, do đó, một cái gì đó với một loại lưu trữ sẽ có ích.
  • Bạn cần khả năng phục vụ ghi lớn không liên tục, điều này không quan tâm nhiều đến tốc độ trục chính của các ổ đĩa bên dưới, nhưng không quan tâm đến hiệu quả của ngăn xếp bộ điều khiển và kích thước của bộ đệm. Nếu bạn có bộ nhớ đệm được nhân đôi (không phải là tùy chọn trừ khi bạn sẵn sàng quay lại sao lưu bất cứ khi nào bạn gặp lỗi bộ điều khiển), thông thường, băng thông giữa hai bộ đệm được sử dụng để phản chiếu sẽ là nút cổ chai cho việc ghi tuần tự lớn. Đảm bảo rằng bất cứ điều gì bạn nhận được đều có bộ điều khiển tốc độ cao (hoặc cụm) kết nối để ghi bộ đệm. Làm hết sức mình để có được một mạng đầu cuối tốc độ cao với càng nhiều cổng bạn có thể nhận được trong khi vẫn thực tế về giá. Chìa khóa để có hiệu suất giao diện người dùng tốt là đặt tải lưu trữ của bạn qua càng nhiều tài nguyên giao diện càng tốt.
  • Bạn có thể nghiêm túc giảm chi phí bằng cách có một tầng lưu trữ ưu tiên thấp, cũng như cung cấp mỏng. Nếu hệ thống của bạn không tự động di chuyển các khối riêng lẻ sang các ổ đĩa lớn / chậm giá rẻ (như gần tuyến SAS hoặc SATA với kích thước 7200 RPM và 2TB +), hãy thử thực hiện thủ công. Ổ đĩa chậm lớn là mục tiêu tuyệt vời để lưu trữ, sao lưu, một số hệ thống tệp và thậm chí các máy chủ có mức sử dụng thấp.
  • Khẳng định rằng bộ lưu trữ được tích hợp VAAI để VMWare có thể phân bổ lại các phần không sử dụng của VM cũng như các kho dữ liệu.

Một số ý kiến ​​xuất sắc ở đó, cảm ơn. Chắc chắn một cái gì đó để đi và nghiền ngẫm.
SimonJGreen

10

Các triển khai VMWare lớn của tôi là NFS và iSCSI trên 10GbE. Điều đó có nghĩa là HBA 10GbE cổng kép trong các máy chủ, cũng như đầu lưu trữ. Tôi là một fan hâm mộ của bộ lưu trữ dựa trên ZFS cho việc này. Trong trường hợp của tôi, nó bao quanh NexentaStor thương mại , nhưng một số người chọn tự cuộn.

Các tính năng chính của lưu trữ dựa trên ZFS trong ngữ cảnh này sẽ là chức năng lưu trữ bộ đệm ARC / L2ARC, cho phép bạn lưu trữ tầng. Dữ liệu tích cực nhất sẽ tìm đường đi trong bộ lưu trữ RAM và SSD dưới dạng tầng thứ hai. Chạy kho lưu trữ chính của bạn khỏi các ổ đĩa SAS 10k hoặc 15k cũng sẽ có ích.

Đây là một trường hợp khác của hồ sơ và hiểu khối lượng công việc của bạn. Làm việc với ai đó có thể phân tích các mẫu lưu trữ của bạn và giúp bạn lập kế hoạch. Về phía ZFS / NexentaStor, tôi thích PogoStorage . Không có loại hiểu biết đó, phương thức vận chuyển (FC, FCoE, iSCSI, NFS) có thể không quan trọng. Bạn có bất kỳ giám sát của cơ sở hạ tầng hiện tại của bạn? Hiện tại hoạt động I / O trông như thế nào?


Làm thế nào lớn là những triển khai ra khỏi sự tò mò? Và loại khối lượng công việc?
SimonJGreen

Nhiều máy chủ. Lớn nhất có 90 máy ảo sử dụng hỗn hợp, bao gồm Linux, Windows infra (File / AD / Exchange), VDI và các hệ thống cơ sở dữ liệu. RAM trên các đơn vị lưu trữ cao (96GB +) và tôi có 1,2TB L2ARC đọc bộ nhớ cache trên ổ SSD doanh nghiệp.
ewwhite

Bạn sẽ phải tha thứ cho sự thiếu hiểu biết của tôi ở đây, và để rõ ràng tôi không nghi ngờ bạn đang làm điều đúng đắn. Tại sao bạn có nhiều RAM trong các đơn vị lưu trữ? Nó được sử dụng cho bộ đệm?
SimonJGreen

2
À tôi vừa đọc về ZFS và ARC / L2ARC. Đó là nước sốt tuyệt vời :)
SimonJGreen

8

Câu hỏi chính là: "nút cổ chai ở đâu?" Bạn đề cập đến IOPS, nhưng điều đó có nghĩa là bạn tích cực xác định các ổ đĩa là nút cổ chai hay chỉ đơn thuần là các cổng SAN không hoạt động hết công suất hoặc VM có nhiều iowait hơn bạn muốn không?

Nếu bạn chắc chắn đã xác định rằng các ổ đĩa là yếu tố giới hạn, thì hãy chuyển sang NFS hoặc infiniband hoặc bất cứ điều gì sẽ không làm squat cho hiệu suất của bạn - bạn cần SSD (hoặc ít nhất là lưu trữ theo tầng với SSD trong hỗn hợp) hoặc toàn bộ nhiều cọc sợi hơn (một giải pháp mà bản thân nó đã trở nên đắt hơn rất nhiều gần đây kể từ khi việc sản xuất động cơ bước trên thế giới bị cuốn vào đại dương).

Tuy nhiên, nếu bạn không chắc chắn 100% nút thắt thực sự ở đâu, thì bạn cần tìm ra điều đó trước tiên - hoán đổi các phần của cơ sở hạ tầng lưu trữ của bạn ít nhiều một cách ngẫu nhiên dựa trên dự đoán của người khác ở đây sẽ không xảy ra rất hiệu quả (đặc biệt là với mức độ đắt đỏ của bất kỳ thay đổi nào sẽ được thực hiện).


Hoàn toàn chính xác, tôi luôn cho rằng người đăng câu hỏi đã hoàn thành bài tập về nhà của họ. Nhưng với điều đó đã nói sau khi thực hiện khá nhiều cuộc tư vấn về hiệu suất, tôi chủ yếu chỉ từ bỏ và nói thêm ổ đĩa nhanh hơn hoặc nhanh hơn và hơn 98% vấn đề được giải quyết. 2% còn lại là quá mức ngoài niềm tin.
tony roth

4
"Tôi luôn cho rằng người đăng câu hỏi đã hoàn thành bài tập về nhà của họ" - giả định baaaaaad ...
womble

Câu trả lời này là hoàn hảo. Trong nhiều trường hợp, tôi đã đặt ra cách giải quyết một vấn đề như thế này và tôi đã có một số khái niệm định sẵn về vấn đề là gì. Chín trong số mười lần nó kết thúc trong nước mắt khi tôi biết rằng đơn giản là tôi không biết đủ về vấn đề. Hồ sơ cẩn thận, xác định nút cổ chai là gì và sau đó tiến hành. Bạn có thể yêu cầu "tâm trí" giúp đỡ hoặc bạn có thể chuyển sang một nhà cung cấp SAN để hỗ trợ. Ngoài ra, nếu bạn gặp khó khăn trong việc định hình, NetApp và / hoặc EMC sẽ vui lòng giúp bạn tìm ra số liệu thống kê của bạn và sau đó định cỡ một giải pháp cho bạn. Cả hai đều có phần mềm tốt để làm điều này.
SvrGuy

Tôi đã dựa trên chẩn đoán này về đầu ra kết hợp của esxtoptất cả các máy chủ (hiển thị mức sử dụng đĩa), lấy tổng số CMD / s và so sánh với điểm chuẩn trên SAN mà chúng tôi sử dụng. Tổng số CMD / s luôn cao khi lấy kết quả điểm chuẩn làm tiêu đề. SSD chắc chắn là một lựa chọn tốt từ góc độ công nghệ, chúng chỉ đắt hơn GB / £. Có thể là một giải pháp mặc dù với lưu trữ theo tầng. Trên một ghi chú bên lề / FYI, theo thông cáo báo chí gần đây tôi nhận được WD đã trở lại mức sản xuất trên đĩa.
SimonJGreen

Làm thế nào là điểm chuẩn trên SAN được thực hiện? Yếu tố giới hạn vẫn có thể là mạng, trái ngược với chính các đĩa. Ít nhất bạn đã có một điểm chuẩn để bắt đầu, tuy nhiên, nếu bạn muốn bắt đầu chơi với những thứ khác nhau để làm cho mọi thứ chạy nhanh hơn, điều này rất quan trọng.
womble

4

Nếu bạn muốn iscsi hoặc nfs thì tối thiểu bạn sẽ muốn một vài cổng 10 / 40gb hoặc infiniband là lựa chọn rẻ nhất cho đến nay nhưng các giải pháp lưu trữ riêng cho infiniband dường như bị hạn chế. Vấn đề sẽ là mô-đun cho bladecenter các tùy chọn của nó, thường là 8gb fc hoặc 10 \ 1gbe và có thể là infiniband. Lưu ý rằng infiniband có thể được sử dụng với nfs và không có gì đóng cửa về mặt hiệu suất \ price. Nếu trung tâm phiến hỗ trợ qdr infiniband thì tôi sẽ làm điều đó với một máy chủ linux thuộc loại nào đó với một qdr infiniband tca thông qua nfs. Đây là một liên kết tốt mô tả điều này http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige

nhưng nếu bladecenter có thể hỗ trợ qdr infiniband và bạn có thể mua infiniband bản địa thì đó là giải pháp bạn nên chọn.

Hiện tại bạn có thể nhận được các công tắc 40gbe rẻ hơn rất nhiều (đó là một suy nghĩ kỳ lạ) sau đó là các công tắc 10gbe nhưng tôi nghi ngờ rằng trung tâm phiến của bạn sẽ hỗ trợ điều đó.


Đây là các tùy chọn kết nối từ trung tâm phiến: dell.com/us/enterprise/p/poweredge-m1000e/pd Infiniband trông có vẻ tốt, và với số lượng VM khách này, chi phí là hợp lý. Bạn sẽ làm gì bên SAN?
SimonJGreen

những gì từng có mà hỗ trợ infiniband nên là giải pháp san của bạn.
tony roth

không có vẻ như dell có bất kỳ bộ lưu trữ dựa trên IB nào, vì vậy tôi nghĩ rằng tùy chọn đó có thể là một chuỗi trong trường hợp này. Cả Sun và SGI đều có SAN dựa trên IB không chắc chi phí là bao nhiêu.
tony roth

Họ không cung cấp lưu trữ IB, nhưng họ cung cấp kết nối IB. Tôi không có vấn đề gì với việc sử dụng một nhà cung cấp lưu trữ khác, chúng tôi không có tình yêu với Dell về vấn đề đó.
SimonJGreen

1
sau đó, mặt trời hoặc sgi sẽ có giải pháp cho bạn, không chắc mô hình hiện tại là gì.
tony roth

-3

Lưu trữ cục bộ là hết? Tôi khá hài lòng với thông lượng ghi trên RAID 5s cục bộ của mình - được nhân đôi với DRBD8 cho đối tác cụm của máy XEN của tôi ... (tất nhiên điều này là "không được hỗ trợ").

Ngoài ra, tôi khá chắc chắn rằng myQuery là vấn đề về hiệu năng của bạn (tôi chưa bao giờ thấy DB tệ hơn). Cố gắng điều chỉnh nó đi và / hoặc cố gắng đưa toàn bộ DB vào bộ đệm của hệ thống tập tin (để truy cập đọc) ...


OP có một giải pháp VMWare hiện có và đang chạy với các máy chủ không đĩa. Lưu trữ cục bộ không có ý nghĩa.
ewwhite

Lưu trữ cục bộ cũng có thể bao gồm sử dụng các lưỡi lưu trữ cục bộ. Nhưng VMWare sẽ không hỗ trợ điều đó, tôi cho rằng.
Nils

Tôi không tin rằng Dell cung cấp các lưỡi lưu trữ cục bộ - và tôi không chắc là tôi đã thấy chúng với bất kỳ ai khác. Tôi đã thấy các lưỡi ổ đĩa gắn vào một lưỡi dao, không cung cấp lưu trữ cho bất kỳ ai trong lưỡi dao. Bạn sẽ cần một kết nối cho điều đó, về cơ bản nó sẽ là một khung gầm - SAN cục bộ, phải không?
mfinni

Xin lỗi @Nils, tôi khá chắc chắn rằng bạn đã không đọc đúng câu hỏi.
SimonJGreen

Nils - nhìn vào D2200sb: "Bảng nối đa năng bao vây cung cấp kết nối PCI Express đến lưỡi máy chủ c-Class liền kề và cho phép truy cập lưu trữ hiệu suất cao mà không cần bất kỳ cáp bổ sung nào. ... Sử dụng Phần mềm thiết bị SAN ảo P4000 (VSA) để biến D2200sb thành iSCSI SAN để sử dụng cho tất cả các máy chủ trong vỏ bọc và bất kỳ máy chủ nào trên mạng. "
mfinni
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.