Cách tốt nhất để giải thích các vấn đề lưu trữ cho nhà phát triển và người dùng khác


40

Khi lưu trữ máy chủ bị các nhà phát triển thấp bắt đầu rên rỉ, "Tôi có thể nhận được ổ 1 TB tại Walmart với giá 100 đô la, đó là vấn đề".

Làm thế nào có thể giải thích sự phức tạp của lưu trữ cho các nhà phát triển để họ sẽ hiểu lý do tại sao ổ đĩa 1 TB từ Walmart sẽ không hoạt động.

ps Tôi là một nhà phát triển và cũng muốn biết :)


5
Hoặc "Tôi có thể nhận được dung lượng lưu trữ với giá 0,15 đô la mỗi gigabyte từ Amazon S3, có vấn đề gì?"
Chris Up nhẫn

@Chris Up nhẫn: Nhưng vấn đề là bạn có thể phải viết một báo cáo về việc nên chọn Amazon S3, Google App Engine hay ... Trời ạ, điều đó có thể rất hay. ;)
dance2die

6
Tôi có thể biến điều đó xung quanh bạn. Công việc của tôi đang tạo ra doanh thu và tôi cần thêm một chút lưu trữ để thực hiện công việc của mình một cách hiệu quả. Đó là một khoản đầu tư vững chắc, vậy tại sao bạn không thể mua thêm dung lượng?

1
@Chris: Tất nhiên điều này luôn phụ thuộc vào tình huống hiện tại, nhưng tôi đã tìm thấy qua kinh nghiệm (tốn kém) rằng sử dụng Amazon S3 để lưu trữ cơ bản không thực sự hiệu quả về chi phí. S3 được sử dụng tốt hơn nhiều để xử lý các đỉnh lưu lượng để bạn không phải đầu tư vào hệ thống có thể xử lý các tình huống xấu nhất xảy ra - nhưng nếu bạn bắt đầu sử dụng nó cho các hoạt động hàng ngày, bạn có thể thấy rằng mình khá hơn nhiều thanh toán chi phí vốn ...
Mihai Limbăşan

Câu trả lời:


53

Một số sự thật về nhà lưu trữ, hoặc tại sao lưu trữ doanh nghiệp lại đắt đỏ như vậy?

Ổ cứng tiêu dùng cung cấp dung lượng lớn để ngay cả người dùng khó tính nhất * ho * truyền phát trực tuyến * ho * có thể mua đủ để lưu trữ bộ sưu tập vài terabyte. Trong thực tế, dung lượng đĩa đã tăng nhanh hơn so với bóng bán dẫn đếm trên silicon trong một vài thập kỷ nay.

Lưu trữ 'doanh nghiệp' là một vấn đề phức tạp hơn một chút vì dữ liệu có các yêu cầu về hiệu suất và tính toàn vẹn chỉ ra cách tiếp cận có phần nặng nề hơn. Dữ liệu phải có một số đảm bảo về tính khả dụng trong trường hợp xảy ra lỗi phần cứng và nó có thể phải được chia sẻ với một số lượng lớn người dùng, điều này sẽ tạo ra nhiều yêu cầu đọc / ghi hơn một người dùng.

Các giải pháp kỹ thuật cho vấn đề này có thể đắt hơn nhiều lần trên mỗi gigabyte so với các giải pháp lưu trữ của người tiêu dùng. Họ cũng yêu cầu bảo trì vật lý; sao lưu phải được thực hiện và thường được lưu trữ ngoài trang web để một đám cháy không phá hủy dữ liệu. Quá trình này thêm chi phí liên tục.

Hiệu suất

Trên ổ đĩa 1TB của người tiêu dùng hoặc thậm chí doanh nghiệp của bạn, bạn chỉ có một đầu. Đĩa quay với tốc độ 7200 vòng / phút, hoặc 120 vòng quay mỗi giây. Điều này có nghĩa là bạn có thể nhận được tối đa 120 thao tác I / O truy cập ngẫu nhiên mỗi giây trong lý thuyết * và có phần ít hơn trong thực tế. Do đó, sao chép một tệp lớn trên một ổ đĩa 1TB tương đối chậm.

Trên một mảng đĩa với các đĩa 14x 72GB, bạn có 14 đầu trên các đĩa với tốc độ (giả sử) 15.000 vòng / phút hoặc khoảng 250 vòng quay mỗi giây. Điều này cung cấp cho bạn tối đa lý thuyết là 3.500 thao tác I / O ngẫu nhiên mỗi giây * (một lần nữa, có phần ít hơn trong thực tế). Tất cả những thứ khác bằng một bản sao tệp sẽ nhanh hơn nhiều lần.

*Bạn có thể nhận được nhiều hơn một lần truy cập ngẫu nhiên trên mỗi vòng quay của đĩa nếu hình dạng của các lần đọc cho phép ổ đĩa di chuyển các đầu và đọc một khu vực tình cờ có sẵn trong một vòng quay của đĩa. Nếu các truy cập đĩa được phân tán rộng rãi, bạn có thể sẽ trung bình ít hơn một. Khi một mảng đĩa được định dạng theo bố cục sọc (xem bên dưới), bạn sẽ nhận được tối đa một sọc đọc trên mỗi vòng quay của đĩa trong hầu hết các trường hợp và (trung bình tùy thuộc vào bộ điều khiển RAID) có thể ít hơn một trung bình.

Ổ đĩa 7200 RPM 1TB có thể sẽ nhanh chóng hợp lý trên I / O tuần tự. Các mảng đĩa được định dạng theo sơ đồ sọc (RAID-0, RAID-5, RAID-10, v.v.) thường có thể đọc tối đa một sọc trên mỗi vòng quay của đĩa. Với dải 64K, chúng ta có thể đọc 64Kx250 = 16 MB hoặc hơn dữ liệu mỗi giây trên đĩa 15.000 RPM. Điều này mang lại thông lượng tuần tự khoảng 220 MB mỗi giây trên một mảng 14 đĩa, tốc độ này không nhanh hơn nhiều so với 150 MB / giây hoặc được trích dẫn cho đĩa SATA 1TB hiện đại.

Để truyền phát video (ví dụ), một mảng gồm 4 đĩa SATA trong RAID-0 với kích thước sọc lớn (một số bộ điều khiển RAID sẽ hỗ trợ kích thước sọc lên tới 1MB) có khá nhiều thông lượng tuần tự. Ví dụ này về mặt lý thuyết có thể truyền phát khoảng 480 MB / giây, đủ thoải mái để thực hiện chỉnh sửa video HD không nén thời gian thực. Do đó, chủ sở hữu của Mac Pros và phần cứng tương tự có thể thực hiện các tác vụ tổng hợp video HD cần có một máy có mảng sợi gắn trực tiếp chỉ vài năm trước.

Lợi ích thực sự của một mảng đĩa là trên công việc cơ sở dữ liệu, được đặc trưng bởi số lượng lớn các yêu cầu I / O nhỏ, phân tán. Trên loại hiệu suất khối lượng công việc này bị hạn chế bởi độ trễ vật lý của các bit kim loại trong đĩa đi vòng tròn và qua lại. Số liệu này được gọi là IOPS (hoạt động I / O mỗi giây). Bạn càng có nhiều đĩa vật lý - bất kể dung lượng - về mặt lý thuyết bạn có thể làm càng nhiều IOPS. Nhiều IOPS hơn có nghĩa là nhiều giao dịch hơn mỗi giây.

Toàn vẹn dữ liệu

Ngoài ra, hầu hết các cấu hình RAID cung cấp cho bạn một số dự phòng dữ liệu - đòi hỏi nhiều hơn một đĩa vật lý theo định nghĩa. Sự kết hợp giữa sơ đồ lưu trữ với sự dư thừa như vậy và số lượng ổ đĩa lớn hơn mang lại cho hệ thống khả năng phục vụ đáng tin cậy một khối lượng công việc giao dịch lớn.

Cơ sở hạ tầng cho mảng đĩa (và SAN trong trường hợp cực đoan hơn) không chính xác là một mục thị trường đại chúng. Ngoài ra, nó là một trong những bit thực sự, thực sự không thể thất bại. Sự kết hợp giữa tiêu chuẩn xây dựng và khối lượng thị trường nhỏ hơn không hề rẻ.

Tổng chi phí lưu trữ bao gồm sao lưu

Trong thực tế, chi phí lớn nhất để duy trì 1TB dữ liệu có thể là sao lưu và phục hồi. Một ổ đĩa băng và 34 bộ băng SDLT hoặc băng siêu âm cho một chu kỳ sao lưu và phục hồi đầy đủ của ông nội có thể sẽ có giá cao hơn một mảng đĩa 1TB đã làm. Thêm chi phí lưu trữ ngoài trang web và tiền lương của một con khỉ băng đơn lẻ và đột nhiên 1TB dữ liệu của bạn không quá rẻ.

Chi phí của các đĩa thường là một cách công bằng trong hệ thống phân cấp của chi phí lưu trữ chi phối. Tại một ngân hàng, tôi có dịp làm việc cho bộ lưu trữ SAN có giá 900 bảng / GB cho một hệ thống phát triển và 5.000 bảng / GB cho một đĩa trên máy chủ sản xuất. Ngay cả ở mức giá của nhà cung cấp doanh nghiệp, chi phí vật lý của các đĩa chỉ là một phần rất nhỏ. Một ví dụ khác mà tôi biết là có một IBM Shark SAN (được cấu hình tương đối khiêm tốn) có giá của chúng ở đâu đó vượt quá 1 triệu bảng Anh. Chỉ cần bộ nhớ vật lý trên này được tính khoảng £ 9 / gigabyte, hoặc khoảng £ 9.000 cho không gian tương đương với ổ cứng tiêu dùng 1TB của bạn.


40

Chỉ cần nói: "Vâng, và tôi có thể đưa một lập trình viên Java ra nước ngoài với giá 5 đô la / giờ."


8
Bây giờ thì tốt rồi!
John Dyer

3
Đây là một nhận xét khá dí dỏm nhưng tôi dường như không thể đánh giá cao nó vì nó không thực sự trả lời câu hỏi, mà tôi rất muốn tìm ra câu trả lời cho
dance2die

1
@ dance2die Tôi nghĩ nó trả lời câu hỏi khá rõ ràng.
Joe Phillips

11
Tôi nghĩ đó là một phản hồi hợp lệ. Vấn đề là, mỗi chúng ta đều có lĩnh vực chuyên môn riêng và các thành viên của một nhóm cần tin tưởng lẫn nhau. Lật lại câu hỏi cho nhà phát triển như thế này sẽ giúp họ nhận ra việc cố gắng đoán thứ hai là vô nghĩa như thế nào.
Portman

2
Một phản hồi hợp lệ khác là anh chàng ở Geek Squad có thể tìm ra cách để làm điều đó, làm nó rẻ hơn và có thái độ tốt hơn rất nhiều khi làm điều đó. Nghiêm túc mà nói, tại sao đây là câu trả lời được bình chọn cao nhất cho câu hỏi này? Tôi đã có một tiếng cười vui vẻ khi đọc nó, nhưng nếu đây là cách các thành viên trang web trả lời các câu hỏi ngây thơ, tôi sẽ gắn bó với Google và Experts Exchange.
dfjacobs

14

Có thể hỏi họ một vài câu hỏi về ổ Walmart của họ:

  • thời gian thất bại của nó là gì?
  • Điều gì xảy ra nếu nó thất bại thảm họa?
  • bao lâu thì sao lưu?
  • 12 tháng lưu trữ sẽ cần bao nhiêu dung lượng dự phòng?
  • Làm thế nào nó có thể được sao lưu ra khỏi trang web?
  • Làm thế nào nó có thể được khôi phục? (toàn bộ? một tập tin duy nhất? một vài thư mục?)
  • Chi phí bao nhiêu để lưu trữ các bản sao lưu?
  • Làm thế nào anh ta sẽ đảm bảo rằng các bản sao lưu được giữ an toàn? đảm bảo?
  • anh ấy có bảo hiểm gì để bù đắp việc mất dữ liệu quan trọng?

... So sánh các câu trả lời này với một ổ đĩa đang chạy như một phần của mảng RAID 5 trong trung tâm dữ liệu được quản lý tốt.

(Tiết lộ: Tôi cũng là một nhà phát triển - Tôi chỉ đoán thôi!)


1
+1 cho cách tiếp cận toàn diện, tốt cho "tại sao" của câu hỏi.
Avery Payne

4

Có lẽ bạn nên xem xét lưu trữ khác biệt.

Nhà phát triển của bạn có thể cần nhiều không gian hơn, nhưng có thể đó không phải là "lớp doanh nghiệp" mà anh ấy theo đuổi. Có lẽ anh ta chỉ cần có một nơi lưu trữ .vhd và ISO, đó là trường hợp sự cố đĩa có thể được tải xuống lại từ MSDN. Có thể các lần chạy thử yêu cầu các yêu cầu không gian thoáng qua lớn mà chỉ cần ở đó trong suốt thời gian chạy thử. Đối với tất cả những ổ đĩa Wallmart $ 50 này có thể là một giải pháp hợp lệ.


3

Điều số một mọi người cần nhận ra về lưu trữ là có sự khác biệt lớn giữa dung lượng và IOPS. Những thứ như độ bền, v.v. thường là moot, nó hầu như luôn đi xuống IOPS so với công suất.


4
IOPS: Hoạt động đầu vào / đầu ra mỗi giây
Sam Hasler

2

Nó phụ thuộc vào loại máy chủ ở đó hỏi về. Đối với một nhà phát triển cơ bản hoặc máy chủ thử nghiệm, một ổ đĩa tb từ Wallmart có lẽ là đủ tốt. Nếu bạn đang làm việc với một máy chủ cao cấp không sử dụng các bộ phận trên kệ, hãy hỏi họ xem họ có chế tạo một chiếc xe đua và mua lốp xe từ cửa hàng phụ tùng ô tô để tiết kiệm một vài đô la không.


1
Tôi khuyên bạn không nên sử dụng kỹ thuật này trên các nhà quản lý. Câu trả lời rất có thể là có."
Jason Baker

1

Cách tôi giải thích nó là thế này. Nếu ông chủ của bạn sẽ đăng xuất khi mua hàng. Tôi sẽ đặt một dấu hiệu trên ổ đĩa wal-mart nói rằng ..

"Quảng cáo Sys đã được hướng dẫn để đặt điều này ở đây trái với ý muốn và ruột của anh ấy." Và khi ổ đĩa chết thì tôi sẽ trao ổ đĩa và ghi chú cho nhà phát triển và hỏi họ làm thế nào để thực hiện công việc của tôi lần này ..

Tôi đồng ý với Portman ... tin tưởng vào đội hoặc rời đi.


0

Câu trả lời một dòng đơn giản: Ổ đĩa 1TB thường là SATA, nhưng máy chủ của bạn là SCSI. (Ngay cả khi máy chủ không phải là SCSI, điều này có thể dừng dòng điều tra ... ngay bây giờ.)

Ổ đĩa SCSI 300 GB thường có giá gấp 4 lần, sau đó sao lưu dữ liệu hiện có, sắp xếp thời gian chết, cài đặt, có thể xảy ra lỗi, tăng ca, v.v. Tất cả, nâng cấp lưu trữ đơn giản có thể dẫn đến tất cả loại đau đớn - không ai trong số đó dev chịu trách nhiệm trực tiếp. Nói rằng bạn có thể mua một ổ đĩa sẵn có đáp ứng nhu cầu hiện tại là vô cùng đơn giản.

Nhưng bạn biết rằng bạn nên đặt các ổ đĩa lớn hơn trong các máy chủ chết tiệt khi bạn mua chúng và bạn đang tự đá mình ngay bây giờ! Nhưng bạn muốn các máy chủ được cài đặt và chúng sẽ được thêm vào chi phí trả trước và nó có thể phải đi thêm một vòng phê duyệt ... chào mừng bạn đến với thế giới đau đớn của sysadmin ...

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.