Làm thế nào để thiết lập phần mềm RAID cho một máy chủ tập tin đơn giản trên Ubuntu

Mục lục:

Làm thế nào để thiết lập phần mềm RAID cho một máy chủ tập tin đơn giản trên Ubuntu
Làm thế nào để thiết lập phần mềm RAID cho một máy chủ tập tin đơn giản trên Ubuntu

Video: Làm thế nào để thiết lập phần mềm RAID cho một máy chủ tập tin đơn giản trên Ubuntu

Video: Làm thế nào để thiết lập phần mềm RAID cho một máy chủ tập tin đơn giản trên Ubuntu
Video: Cách kích hoạt và sử dụng Windows Sandbox trên Windows 10 | Thủ thuật tin học - YouTube 2024, Có thể
Anonim
Bạn có cần một máy chủ tập tin trên giá rẻ dễ cài đặt, “đá rắn” đáng tin cậy với Cảnh báo qua email không? sẽ chỉ cho bạn cách sử dụng Ubuntu, RAID phần mềm và SaMBa để thực hiện điều đó.
Bạn có cần một máy chủ tập tin trên giá rẻ dễ cài đặt, “đá rắn” đáng tin cậy với Cảnh báo qua email không? sẽ chỉ cho bạn cách sử dụng Ubuntu, RAID phần mềm và SaMBa để thực hiện điều đó.

Tổng quan

Mặc dù gần đây có thể chuyển mọi thứ sang đám mây “mạnh mẽ”, đôi khi bạn có thể không muốn thông tin của mình trong máy chủ của người khác hoặc không thể tải xuống lượng dữ liệu bạn cần từ internet mỗi lần (ví dụ triển khai hình ảnh ). Vì vậy, trước khi bạn xóa một vị trí trong ngân sách của bạn cho một giải pháp lưu trữ, hãy xem xét một cấu hình được cấp phép miễn phí với Linux.

Với điều đó, giá rẻ / miễn phí không có nghĩa là "thận trọng với gió", và để kết thúc, chúng tôi sẽ lưu ý các điểm cần lưu ý, các cấu hình cần được đặt ra ngoài việc sử dụng phần mềm RAID, để đạt được giá tối đa đến độ tin cậy.

Ảnh của Filomena Scalise

Giới thiệu về RAID phần mềm

Như tên của nó, đây là một thiết lập RAID (Dư thừa mảng không tốn kém) được thực hiện hoàn toàn trong phần mềm thay vì sử dụng một thẻ phần cứng chuyên dụng. Ưu điểm chính của một điều như vậy là chi phí, vì thẻ chuyên dụng này là một phí bảo hiểm bổ sung cho cấu hình cơ bản của hệ thống. Những nhược điểm chính về cơ bản là hiệu suất và độ tin cậy như thẻ thường đi kèm với RAM + CPU riêng để thực hiện các phép tính cần thiết cho phép toán dự phòng, lưu trữ dữ liệu để tăng hiệu suất và pin dự phòng tùy chọn giữ các hoạt động không được phép trong bộ nhớ cache cho đến điện đã được phục hồi trong trường hợp mất điện.

Với thiết lập RAID phần mềm, bạn sẽ mất một số hiệu năng CPU để giảm tổng chi phí hệ thống, tuy nhiên với CPU ngày nay, chi phí trên không tương đối đáng kể (đặc biệt nếu bạn chủ yếu dành máy chủ này làm “máy chủ tập tin”). Theo như hiệu suất đĩa đi, có một hình phạt … tuy nhiên tôi chưa bao giờ gặp phải một nút cổ chai từ hệ thống con đĩa từ máy chủ để lưu ý nó sâu sắc như thế nào. Hướng dẫn phần cứng của Tom “Tom's goes RAID5” là một bài viết cũ nhưng là một bài viết đầy đủ về chủ đề mà cá nhân tôi sử dụng làm tài liệu tham khảo, tuy nhiên lấy điểm chuẩn bằng một hạt muối vì nó nói về việc triển khai thực hiện phần mềm RAID (như với mọi thứ khác, tôi chắc chắn Linux tốt hơn nhiều: P).

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

  • Kiên nhẫn trẻ, đây là một đọc dài.
  • Giả sử bạn biết RAID là gì và nó được sử dụng cho cái gì.
  • Hướng dẫn này được viết bằng cách sử dụng Ubuntu server9.10 x64, do đó người ta cho rằng bạn cũng có hệ thống dựa trên Debian để làm việc.
  • Bạn sẽ thấy tôi sử dụng VIM làm chương trình biên tập, điều này chỉ vì tôi đã quen với nó … bạn có thể sử dụng bất kỳ trình soạn thảo nào khác mà bạn muốn.
  • Hệ thống Ubuntu mà tôi đã sử dụng để viết hướng dẫn này, đã được cài đặt trên ổ đĩa. Làm như vậy cho phép tôi sử dụng sda1 như một phần của mảng RAID, vì vậy hãy điều chỉnh cho phù hợp với thiết lập của bạn.
  • Tùy thuộc vào loại RAID bạn muốn tạo, bạn sẽ cần ít nhất hai đĩa trên hệ thống của mình và trong hướng dẫn này, chúng tôi đang sử dụng 6 ổ đĩa.

Chọn các đĩa tạo mảng

Bước đầu tiên để tránh bẫy là biết sự tồn tại của nó (Thufir Hawat từ Dune).

Chọn đĩa là một bước quan trọng không nên được xem nhẹ và bạn sẽ khôn ngoan để tận dụng trải nghiệm thực sự của mình và chú ý đến cảnh báo này:

Làm KHÔNG PHẢI sử dụng ổ đĩa "người tiêu dùng cấp" để tạo mảng của bạn, sử dụng ổ đĩa "cấp máy chủ" !!!!!!

Bây giờ tôi biết suy nghĩ của bạn, không phải chúng tôi nói rằng chúng tôi sẽ đi trên giá rẻ? và vâng, chúng tôi đã làm, nhưng, đây chính xác là một trong những nơi làm như vậy là liều lĩnh và nên tránh. Mặc dù giá cả hấp dẫn của họ, ổ cứng của người tiêu dùng cấp không được thiết kế để được sử dụng trong một 24/7 "trên" loại sử dụng. Tin tôi đi, bạn thực sự đã thử điều này cho bạn. Ít nhất bốn ổ đĩa tiêu dùng trong 3 máy chủ tôi đã thiết lập như thế này (do ràng buộc ngân sách) không thành công sau khoảng 1,5 ~ 1,8 năm kể từ ngày khởi chạy ban đầu của máy chủ. Mặc dù không có mất dữ liệu, vì RAID đã thực hiện công việc tốt và sống sót … những khoảnh khắc như thế này rút ngắn tuổi thọ của sysadmin, chưa kể thời gian xuống cho công ty để bảo trì máy chủ (cái gì đó có thể sẽ tốn nhiều hơn sau đó các ổ đĩa cấp cao hơn).

Một số có thể nói rằng không có sự khác biệt về tỷ lệ thất bại giữa hai loại. Điều đó có thể đúng, tuy nhiên bất chấp những tuyên bố này, ổ đĩa cấp máy chủ vẫn có mức giới hạn SMART cao hơn và QAing phía sau chúng (có thể được quan sát bởi thực tế là chúng không được đưa ra thị trường ngay khi ổ đĩa tiêu dùng), vì vậy tôi vẫn khuyên bạn nên bỏ ra thêm $ $$$ để nâng cấp.

Chọn mức RAID.

Trong khi tôi sẽ không đi vào tất cả các tùy chọn có sẵn (đây là tài liệu rất tốt trong mục wikipedia RAID), tôi cảm thấy rằng nó là đáng chú ý để nói rằng bạn nên luôn luôn lựa chọn ít nhất RAID 6 hoặc thậm chí cao hơn ( chúng tôi sẽ sử dụng Linux RAID10). Điều này là bởi vì khi một đĩa bị lỗi, có một cơ hội cao hơn của một thất bại đĩa lân cận và sau đó bạn có một "hai đĩa" thất bại trên tay của bạn.Hơn nữa, nếu bạn sử dụng ổ đĩa lớn, vì các đĩa lớn hơn có mật độ dữ liệu cao hơn trên bề mặt đĩa, cơ hội cho sự thất bại cao hơn. Đĩa IMHO từ 2T trở lên sẽ luôn rơi vào danh mục này, vì vậy hãy lưu ý.

Chúng ta hãy nứt

Đĩa phân vùng

Trong Linux / GNU, chúng ta có thể sử dụng toàn bộ khối thiết bị cho nhu cầu lưu trữ, chúng ta sẽ sử dụng các phân vùng vì nó giúp dễ dàng sử dụng các công cụ cứu hộ đĩa trong trường hợp hệ thống đã đi bonkers. Chúng tôi đang sử dụng chương trình "fdisk" ở đây, nhưng nếu bạn sử dụng đĩa lớn hơn thì 2T bạn sẽ cần phải sử dụng một chương trình phân vùng hỗ trợ phân vùng GPT như chia tay.

sudo fdisk /dev/sdb

chú thích: Tôi đã quan sát thấy rằng có thể tạo mảng mà không thay đổi kiểu phân vùng, nhưng vì đây là cách được mô tả trên mạng tôi sẽ làm theo (một lần nữa khi sử dụng toàn bộ khối thiết bị này là không cần thiết).

Một lần trong fdisk, tổ hợp phím là:

n; cho một phân vùng mới đi vào p; cho một phân vùng chính đi vào 1; số phân vùng đi vào; chấp nhận mặc định đi vào; chấp nhận mặc định t; để thay đổi loại fd; đặt loại thành “Linux raid auto detect” (83h) w; ghi các thay đổi vào đĩa và thoát

Rửa sạch và lặp lại cho tất cả các đĩa sẽ là một phần của mảng.

Tạo một mảng RAID RAID10

Lợi thế của việc sử dụng “Linux raid10”là nó biết cách tận dụng lợi thế của một số đĩa thậm chí còn không để tăng hiệu năng và khả năng phục hồi hơn nữa, sau đó là RAID10 vani, ngoài việc sử dụng mảng“10”có thể được tạo ra trong một đĩa đơn bậc thang.

Tạo mảng từ các đĩa chúng ta đã chuẩn bị trong bước cuối cùng bằng cách phát hành:

sudo mdadm --create /dev/md0 --chunk=256 --level=10 -p f2 --raid-devices=5 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 --verbose

chú thích: Đây là tất cả chỉ là một dòng mặc dù thực tế là đại diện chia nó thành hai.

Hãy chia nhỏ thông số:

  • “–Chunk = 256” - Kích thước của byte các sọc đột kích bị phá vỡ, và kích thước này được khuyến khích cho các đĩa mới / lớn (các ổ 2T được sử dụng để làm hướng dẫn này không nghi ngờ gì trong danh mục đó).
  • “–Level = 10” - Sử dụng Linux raid10 (nếu một cuộc đột kích truyền thống là bắt buộc, vì lý do nào, bạn sẽ phải tạo hai mảng và tham gia chúng).
  • "-P f2" - Sử dụng kế hoạch xoay "xa" xem lưu ý bên dưới để biết thêm thông tin và "2" cho biết mảng sẽ giữ hai bản sao của dữ liệu.

chú thích: Chúng tôi sử dụng kế hoạch “xa” vì điều này làm cho bố cục dữ liệu vật lý trên đĩa KHÔNG giống nhau. Điều này giúp khắc phục tình huống mà phần cứng của một trong các ổ đĩa bị lỗi do lỗi sản xuất (và không nghĩ rằng "điều này sẽ không xảy ra với tôi" giống như của bạn thực sự đã làm). Do thực tế là hai đĩa có cùng kiểu dáng và mô hình, đã được sử dụng trong cùng một kiểu và theo truyền thống đã giữ dữ liệu trên cùng một vị trí vật lý… Nguy cơ tồn tại khi ổ đĩa giữ bản sao dữ liệu không thành công quá hoặc là gần và sẽ không cung cấp khả năng phục hồi cần thiết cho đến khi một đĩa thay thế đến. Kế hoạch "xa" làm cho việc phân phối dữ liệu đến một vị trí vật lý hoàn toàn khác trên các ổ đĩa sao chép ngoài việc sử dụng các đĩa không gần nhau trong trường hợp máy tính. Bạn có thể tìm thêm thông tin tại đây và trong các liên kết bên dưới.

Khi mảng đã được tạo, nó sẽ bắt đầu quá trình đồng bộ hóa của nó. Mặc dù bạn có thể đợi truyền thống (vì điều này có thể mất một lúc), bạn có thể bắt đầu sử dụng mảng ngay lập tức.

Tiến trình có thể được quan sát bằng cách sử dụng:

watch -d cat /proc/mdstat

Tạo tệp cấu hình mdadm.conf

Trong khi nó đã được chứng minh rằng Ubuntu chỉ đơn giản là biết để quét và kích hoạt các mảng tự động khi khởi động, vì lợi ích đầy đủ và lịch sự cho sysadmin tiếp theo, chúng tôi sẽ tạo ra các tập tin. Hệ thống của bạn không tự động tạo tệp và cố gắng nhớ tất cả các thành phần / phân vùng của bộ RAID của bạn, là một vòng eo của sự tỉnh táo của quản trị viên hệ thống. Thông tin này có thể, và nên được giữ trong tập tin mdadm.conf. Định dạng có thể phức tạp, nhưng may mắn là đầu ra của lệnh mdadm –detail –scan –verbose cung cấp cho bạn.

chú thích: Nó đã được nói rằng: Hầu hết các bản phân phối mong đợi tập tin mdadm.conf trong / etc /, không / etc / mdadm. Tôi tin rằng đây là một “ubuntu-ism” để có nó như /etc/mdadm/mdadm.conf”. Do thực tế là chúng tôi bằng cách sử dụng Ubuntu ở đây, chúng tôi sẽ chỉ đi với nó.

sudo mdadm --detail --scan --verbose > /etc/mdadm/mdadm.conf

QUAN TRỌNG! bạn cần xóa một "0" khỏi tệp mới được tạo vì cú pháp do lệnh trên không hoàn toàn chính xác (GNU / Linux chưa phải là HĐH).

Nếu bạn muốn thấy sự cố mà cấu hình sai này gây ra, bạn có thể phát hành “quét tại thời điểm này, trước khi thực hiện điều chỉnh:

mdadm --examine --scan

Để khắc phục điều này, hãy chỉnh sửa tệp /etc/mdadm/mdadm.conf và thay đổi:

metadata=00.90

Đọc:

metadata=0.90

Chạy mdadm –examine –scan lệnh bây giờ sẽ trở lại mà không có lỗi.

Thiết lập hệ thống tập tin trên mảng

Tôi sử dụng ext4 cho ví dụ này bởi vì đối với tôi nó chỉ được xây dựng dựa trên sự quen thuộc của hệ thống tập tin ext3 đến trước nó trong khi cung cấp hiệu năng và tính năng được hứa hẹn tốt hơn. Tôi đề nghị dành thời gian để điều tra hệ thống tập tin nào phù hợp hơn với nhu cầu của bạn và một khởi đầu tốt cho điều đó là bài viết “Hệ thống tập tin Linux nào bạn nên chọn?” Của chúng tôi.

sudo mkfs.ext4 /dev/md0

chú thích: Trong trường hợp này tôi không phân vùng mảng kết quả vì, tôi chỉ đơn giản là không cần nó vào thời điểm đó, vì bên yêu cầu đã yêu cầu ít nhất 3,5T không gian liên tục. Với điều đó đã nói, tôi đã muốn tạo phân vùng, tôi sẽ phải sử dụng một tiện ích có khả năng phân vùng GPT như “chia tay”.

Gắn kết

Tạo điểm gắn kết:

sudo mkdir /media/raid10

chú thích: Đây có thể là bất kỳ vị trí nào, ở trên chỉ là một ví dụ.

Bởi vì chúng tôi đang đối phó với một "thiết bị lắp ráp", chúng tôi sẽ không phải sử dụng UUID của hệ thống tập tin trên thiết bị để gắn (như được khuyến nghị cho các loại thiết bị khác trong hướng dẫn "fstab linux và cách hoạt động của nó") vì hệ thống có thể thực sự thấy một phần của hệ thống tệp trên một đĩa riêng lẻ và cố gắng không chính xác gắn nó trực tiếp. để khắc phục điều này, chúng tôi muốn chờ thiết bị được “lắp ráp” một cách rõ ràng trước khi chúng tôi thử lắp nó và chúng tôi sẽ sử dụng tên của mảng được lắp ráp (“md”) trong fstab để hoàn thành việc này. Chỉnh sửa tệp fstab:

sudo vim /etc/fstab

Và thêm vào dòng này:

/dev/md0 /media/raid10/ ext4 defaults 1 2

chú thích: Nếu bạn thay đổi vị trí gắn kết hoặc hệ thống tệp từ ví dụ này, bạn sẽ phải điều chỉnh phần trên cho phù hợp.

Sử dụng gắn kết với tham số tự động (-a) để mô phỏng khởi động hệ thống, vì vậy bạn biết rằng cấu hình đang hoạt động chính xác và thiết bị RAID sẽ tự động được gắn khi hệ thống khởi động lại:

sudo mount -a

Bây giờ bạn có thể thấy mảng được gắn kết với lệnh “mount” mà không có tham số.

Cảnh báo qua email cho mảng RAID

Không giống với mảng RAID phần cứng, với mảng phần mềm, không có bộ điều khiển nào bắt đầu kêu bíp để cho bạn biết khi có sự cố. Do đó, các cảnh báo Email sẽ là cách duy nhất của chúng tôi để biết nếu có điều gì đó xảy ra với một hoặc nhiều đĩa trong mảng, và do đó làm cho nó trở thành bước quan trọng nhất.

Làm theo hướng dẫn “Cách thiết lập email thông báo trên Linux bằng cách sử dụng Gmail hoặc SMTP” và khi thực hiện trở lại đây để thực hiện các bước cụ thể của RAID.

Xác nhận rằng mdadm có thể Email Lệnh dưới đây, sẽ yêu cầu mdadm kích hoạt một email và đóng lại.

sudo mdadm --monitor --scan --test --oneshot

Nếu thành công, bạn sẽ nhận được một Email, nêu chi tiết điều kiện của mảng.

Đặt cấu hình mdadm để gửi Email khi khởi động Mặc dù không phải là tuyệt đối, nhưng thỉnh thoảng bạn nên cập nhật bản cập nhật từ máy để cho chúng tôi biết rằng khả năng email vẫn hoạt động và điều kiện của mảng. có thể bạn sẽ không bị choáng ngợp bởi Email vì cài đặt này chỉ ảnh hưởng đến phần khởi động (mà trên máy chủ không có nhiều). Chỉnh sửa tệp cấu hình mdadm:

sudo vim /etc/default/mdadm

Thêm -kiểm tra tham số cho DAEMON_OPTIONS để nó trông giống như sau:

DAEMON_OPTIONS='--syslog --test'

Bạn có thể khởi động lại máy chỉ để đảm bảo “trong vòng lặp” của bạn nhưng nó không phải là điều bắt buộc.

Cấu hình Samba

Cài đặt SaMBa trên máy chủ Linux cho phép nó hoạt động giống như một máy chủ tệp windows. Vì vậy, để có được dữ liệu chúng tôi đang lưu trữ trên máy chủ Linux có sẵn cho các máy khách windows, chúng tôi sẽ cài đặt và cấu hình SaMBa. Thật thú vị khi lưu ý rằng tên gói của SaMBa là một trò chơi chữ trên giao thức của Microsoft được sử dụng để chia sẻ tệp có tên SMB (Khối thông báo dịch vụ).

Trong hướng dẫn này, máy chủ được sử dụng cho mục đích thử nghiệm, vì vậy chúng tôi sẽ cho phép truy cập vào phần của nó không có yêu cầu mật khẩu, bạn có thể muốn tìm hiểu thêm về cách thiết lập quyền khi thiết lập hoàn tất.

Ngoài ra, bạn nên tạo người dùng không có đặc quyền làm chủ sở hữu tệp. Trong ví dụ này, chúng tôi sử dụng người dùng “geek” mà chúng tôi đã tạo cho nhiệm vụ này. Bạn có thể tìm thấy giải thích về cách tạo người dùng và quản lý quyền sở hữu và quyền trong Hướng dẫn “Tạo người dùng mới trên Ubuntu Server 9.10” và “Hướng dẫn cho người mới tham gia quản lý người dùng và nhóm trong Linux”.

Cài đặt Samba:

aptitude install samba

Chỉnh sửa tệp cấu hình samba:

sudo vim /etc/samba/smb.conf

Thêm một phần được gọi là "chung" sẽ cấp quyền truy cập vào điểm gắn kết "/ media / raid10 / general" bằng cách thêm phần bên dưới vào tệp.

[general] path = /media/raid10/general force user = geek force group = geek read only = No create mask = 0777 directory mask = 0777 guest only = Yes guest ok = Yes

Các cài đặt ở trên giúp chia sẻ địa chỉ không có một mật khẩu cho bất cứ ai và làm cho chủ sở hữu mặc định của các tập tin người dùng "geek".

Để bạn tham khảo, tệp smb.conf này được lấy từ một máy chủ đang hoạt động.

Khởi động lại dịch vụ samba để cài đặt có hiệu lực:

sudo /etc/init.d/samba restart

Sau khi hoàn tất, bạn có thể sử dụng testparm lệnh để xem các cài đặt được áp dụng cho máy chủ samba. đó là nó, bây giờ máy chủ có thể truy cập được từ bất kỳ cửa sổ nào bằng cách sử dụng:

server-namegeneral

Xử lý sự cố

Khi bạn cần khắc phục sự cố hoặc đĩa bị lỗi trong một mảng, tôi khuyên bạn nên tham khảo bảng mdadm cheat (đó là những gì tôi làm …).

Nói chung bạn nên nhớ rằng khi một đĩa bị lỗi, bạn cần phải "loại bỏ" nó khỏi mảng, tắt máy, thay thế ổ đĩa bị lỗi bằng một thay thế và sau đó "thêm" ổ đĩa mới vào mảng sau khi bạn đã tạo đĩa thích hợp bố trí (phân vùng) trên đó nếu cần thiết.

Khi đã xong, bạn có thể muốn đảm bảo rằng mảng đang xây dựng lại và xem tiến trình với:

watch -d cat /proc/mdstat

Chúc may mắn!:)

Tham khảo: mdadm cheat sheet Cấp độ RAID bị hỏng Linux RAID10 giải thích mdadm command man page trang cấu hình tệp người dùng mdadm Giới hạn phân vùng được giải thích

Sử dụng phần mềm RAID sẽ không tốn nhiều tiền … Chỉ cần VOICE của bạn;-)

Đề xuất: