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

    Cách thiết lập RAID phần mềm cho máy chủ tệp đơn giản trên Ubuntu

    Bạn có cần một máy chủ tập tin với giá rẻ dễ cài đặt không, có đáng tin cậy 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

    Bất chấp sự ồn ào gần đây để chuyển mọi thứ sang đám mây toàn năng, nhưng đô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 có thể không tải được khối lượng dữ liệu mà bạn yêu cầu từ internet mỗi lần (ví dụ như 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 mình 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.

    Như đã nói, giá rẻ / miễn phí không có nghĩa là Cảnh giác ném vào Gió, và đến lúc đó, chúng tôi sẽ lưu ý các điểm cần chú ý, các cấu hình nên được đặt ngoài việc sử dụng RAID phần mềm, để đạt được giá tối đa cho tỷ lệ tin cậy.

    Hình ảnh của Filomena Scalise

    Về phần mềm RAID

    Đúng như tên gọi, đây là một thiết lập RAID (Mảng dư thừa của đĩa rẻ tiền) được thực hiện hoàn toàn trong phần mềm thay vì sử dụng thẻ phần cứng chuyên dụng. Ưu điểm chính của một thứ 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ơ sở của hệ thống. Nhược điểm chính về cơ bản là hiệu năng và độ tin cậy vì thẻ thường đi kèm với RAM + CPU của chính nó để thực hiện các phép tính cần thiết cho toán học 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úp duy trì các hoạt động không lưu trữ trong bộ nhớ cache cho đến khi điện đã được khôi phục trong trường hợp mất điện.

    Với phần mềm cài đặt RAID, bạn sẽ hy sinh một số hiệu năng CPU của hệ thống để giảm tổng chi phí hệ thống, tuy nhiên với CPU ngày nay, chi phí hoạt động tương đối không đáng kể (đặc biệt là 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 của đĩa, 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 ý mức độ sâu sắc của nó. Hướng dẫn về phần cứng của Tom, Tom Tom đi RAID5, là một bài viết cũ nhưng đầy đủ về chủ đề này, 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 khi nói về việc triển khai Windows của phần mềm RAID (như với mọi thứ khác, tôi chắc chắn rằng Linux tốt hơn nhiều: P).

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

    • Hãy kiên nhẫn, đây là một bài đọc dài.
    • Giả sử bạn biết RAID là gì và được sử dụng để làm gì.
    • Hướng dẫn này được viết bằng Ubuntu server9.10 x64, do đó, giả sử rằng bạn cũng có một hệ thống dựa trên Debian để hoạt động..
    • Bạn sẽ thấy tôi sử dụng VIM làm chương trình soạn thảo, điều này là do 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 một ổ đĩ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, do đó đ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 ra mảng

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

    Chọn các đĩa là một bước quan trọng không nên 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 các ổ đĩa cấp độ người tiêu dùng của người dùng để tạo ra mảng của bạn!!!!!!

    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 với 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ù có mức giá hấp dẫn, nhưng các ổ đĩa cứng dành cho người tiêu dùng không được thiết kế để sử dụng trong 24/7 24/7 trên loại sử dụng. Hãy tin tô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 hạn chế về ngân sách) đã thất bại sau khoảng 1,5 ~ 1,8 năm kể từ ngày ra mắt ban đầu của máy chủ. Mặc dù không bị mất dữ liệu, vì RAID đã làm việc đó tốt và sống sót sau những khoảnh khắc như thế này rút ngắn tuổi thọ của sysadmin, chưa kể đến thời gian dành cho công ty bảo trì máy chủ (thứ gì đó có thể sẽ tốn kém hơn các ổ đĩa cao cấp 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, các ổ đĩa máy chủ vẫn có mức độ hạn chế 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 phát hành ra thị trường ngay khi các ổ đĩa tiêu dùng), Vì vậy, tôi vẫn khuyên bạn nên bỏ ra $$$ để nâng cấp.

    Chọn cấp độ RAID.

    Mặc dù tôi sẽ không đi vào tất cả các tùy chọn có sẵn (điều này được ghi lại rất rõ trong mục nhập wikipedia của RAID), tôi cảm thấy rằng đáng chú ý là bạn nên luôn luôn chọn tối thiểu 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à do khi một đĩa bị lỗi, khả năng xảy ra lỗi đĩa lân cận sẽ cao hơn và sau đó bạn gặp phải lỗi hai đĩa đĩa trên tay. Hơn nữa, nếu bạn sẽ sử dụng các ổ đĩ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 của đĩa, khả năng thất bại sẽ cao hơn. Các đĩa IMHO từ 2T trở lên sẽ luôn thuộc danh mục này, vì vậy hãy lưu ý.

    Chúng ta hãy nứt

    Phân vùng đĩa

    Mặc dù trong Linux / GNU, chúng tôi có thể sử dụng toàn bộ thiết bị khối cho nhu cầu lưu trữ, chúng tôi sẽ sử dụng các phân vùng vì nó giúp sử dụng các công cụ cứu đĩa dễ dàng hơn trong trường hợp hệ thống đã sử dụng các 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 sử dụng 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 loại phân vùng, nhưng vì đây là cách được mô tả trên mạng nên tôi sẽ làm theo (một lần nữa khi sử dụng toàn bộ thiết bị khối, điều này là không cần thiết).

    Khi ở 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ố lượng 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 là loại Linux Linux đột kích tự động phát hiện ra (83h)
    w; ghi thay đổi vào đĩa và thoát

    Rửa 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ảng Linux RAID10

    Ưu điểm của việc sử dụng ngôn ngữLinux raid10, là nó biết cách tận dụng số lượng đĩa không đồng đều để tăng hiệu năng và khả năng phục hồi hơn nữa, sau đó là vanilla RAID10, ngoài thực tế là khi sử dụng nó, mảng 10 10 có thể được tạo ra trong một lần duy nhất bậc thang.

    Tạo mảng từ các đĩa chúng tôi đã chuẩn bị ở 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 - sợ-thiết bị = 5 / dev / sda1 / dev / sdb1 / dev / sdc1 / dev / sdd1 / dev / sde1 - -verbose

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

    Hãy phá vỡ các tham số:

    • Cấm -chunk = 256, - ​​Kích thước của các byte đột kích bị phá vỡ và kích thước này được khuyến nghị cho các đĩa mới / lớn (các ổ đĩa 2T được sử dụng để tạo hướng dẫn này không nghi ngờ gì trong danh mục đó).
    • Mùi -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 gì, bạn sẽ phải tạo hai mảng và tham gia chúng).
    • Cấm -p f2v - Sử dụng kế hoạch xoay vòng của Far far xem ghi chú bên dưới để biết thêm thông tin và Cẩu 2 cho biết rằng mảng sẽ giữ hai bản sao của dữ liệu.

    chú thích: Chúng tôi sử dụng gói far far vì vì điều này khiến bố cục dữ liệu vật lý trên các đĩa KHÔNG giống nhau. Điều này giúp khắc phục tình trạng phần cứng của một trong các ổ đĩa bị lỗi do lỗi sản xuất (và đừng nghĩ rằng điều này sẽ không xảy ra với tôi, giống như bạn thực sự đã làm). Do hai đĩa có cùng kiểu dáng và kiểu dáng, đã được sử dụng theo cùng một cách 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 là ổ đĩa giữ bản sao dữ liệu đã bị lỗi quá hoặc gần và sẽ không cung cấp khả năng phục hồi cần thiết cho đến khi đĩa thay thế đến. Kế hoạch của far far khiến 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 vỏ máy tính. Thông tin chi tiết có thể được tìm thấy ở đây và trong các liên kết dưới đây.

    Khi mảng đã được tạo, nó sẽ bắt đầu quá trình đồng bộ hóa. Mặc dù bạn có thể chờ đợi vì lợi ích của truyền thống (vì việc 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:

    đồng hồ -d mèo / Proc / mdstat

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

    Mặc dù đã được chứng minh rằng Ubuntu chỉ đơn giản là biết tự động quét và kích hoạt mảng khi khởi động, vì mục đích hoàn hảo và lịch sự cho sysadmin tiếp theo, chúng tôi sẽ tạo tệp. Hệ thống của bạn không tự động tạo tệp và cố gắng ghi 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 phần 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 lưu trong tệp mdadm.conf. Định dạng có thể khó, nhưng may mắn là đầu ra của lệnh mdadm -detail -scan -verbose cung cấp cho bạn nó.

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

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

    QUAN TRỌNG! bạn cần xóa một tên 0 0 ra khỏi tệp vừa tạo vì cú pháp kết quả từ 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 xem vấn đề mà cấu hình sai này gây ra, bạn có thể phát hành lỗiquét" lệnh 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, chỉnh sửa tập tin /etc/mdadm/mdadm.conf và thay đổi:

    siêu dữ liệu = 00,90

    Đọc:

    siêu dữ liệu = 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 đi trước nó trong khi cung cấp các tính năng và hiệu suất tốt hơn hứa hẹn.
    Tôi khuyên bạn nên 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à khởi đầu tốt cho điều đó là hệ thống tệp Linux của bạn nên chọn gì?.

    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ả bởi vì, đơn giản là tôi không cần nó vào lúc đó, vì bên yêu cầu đặc biệt yêu cầu ít nhất 3,5T không gian liên tục. Như đã nói, nếu 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ư cách chia tay.

    Gắn kết

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

    sudo mkdir / phương tiện / 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 làm việc với một thiết bị lắp ráp trên máy tính không phải sử dụng UUID của hệ thống tập tin trên thiết bị để gắn kết (như được khuyến nghị cho các loại thiết bị khác trong hệ thống của chúng tôi, linux fstab là gì và nó hoạt động như thế nào) vì hệ thống có thể thực sự nhìn thấy một phần của hệ thống tập tin trên một đĩa riêng lẻ 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 rõ ràng chờ thiết bị được lắp ráp thành công trước khi chúng tôi thử lắp thiết bị và chúng tôi sẽ sử dụng tên của mảng đã lắp ráp (trong đó fstab để hoàn thành việc này.
    Chỉnh sửa tập tin fstab:

    sudo vim / etc / fstab

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

    / dev / md0 / media / raid10 / ext4 mặc định 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ụ, bạn sẽ phải điều chỉnh ở trên cho phù hợp.

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

    sudo gắn -a

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

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

    Không giống như các mảng RAID phần cứng, với một mảng phần mềm, không có bộ điều khiển nào sẽ bắt đầu phát ra tiếng bíp để cho bạn biết khi có sự cố. Do đó, các thông 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 đó biến nó thành bước quan trọng nhất.

    Thực hiện theo Hướng dẫn cách cài đặt cảnh báo email trên Linux bằng cách sử dụng Gmail hoặc hướng dẫn SMTP và khi hoàn tất, hãy quay 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ẽ bảo mdadm tắt chỉ một email và đóng.

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

    Nếu thành công, bạn sẽ nhận được 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à một điều tuyệt đối, thỉnh thoảng vẫn có thể 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à trong tình trạng của mảng. có lẽ bạn sẽ không bị choáng ngợp bởi Email vì cài đặt này chỉ ảnh hưởng đến các phần khởi động (mà trên các máy chủ không nên có nhiều).
    Chỉnh sửa tập tin cấu hình mdadm:

    sudo vim / etc / default / mdadm

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

    DAEMON_OPTIONS = "- syslog --test"

    Bạn có thể khởi động lại máy chỉ để đảm bảo rằng máy của bạn trong vòng lặp, nhưng không 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 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à định cấu hình SaMBa.
    Thật buồn cười khi lưu ý rằng tên gói của SaMBa là một cách 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 tin nhắn 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 chia sẻ 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 một chút về cách thiết lập quyền sau khi hoàn tất thiết lập.

    Ngoài ra, bạn nên tạo một người dùng không có đặc quyền để trở thành chủ sở hữu của các tệp. Trong ví dụ này, chúng tôi sử dụng người dùng của geek, chúng tôi đã tạo cho nhiệm vụ này. 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 cũng như quyền trong Phần mềm của chúng tôi Tạo một người dùng mới trên Ubuntu Server 9.10. Và Hướng dẫn về cách quản lý người dùng và nhóm trong Linux.

    Cài đặt Samba:

    năng khiếu cài đặt samba

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

    sudo vim /etc/samba/smb.conf

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

    [chung]
    đường dẫn = / phương tiện / raid10 / chung
    ép buộc người dùng = đam mê
    nhóm lực lượng = đam mê
    chỉ đọc = Không
    tạo mặt nạ = 0777
    mặt nạ thư mục = 0777
    chỉ dành cho khách
    khách ok = Có

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

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

    Khởi động lại dịch vụ samba để cài đặt có ảnh hưởng:

    sudo /etc/init.d/samba khởi động lại

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

    \ tên máy chủ

    Xử lý sự cố

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

    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ỏ ra khỏi đĩa, tắt máy, thay thế ổ đĩa bị hỏng bằng một sự thay thế và sau đó, Thêm thêm ổ đĩa mới vào mảng sau khi bạn đã tạo ra ổ đĩ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 được xây dựng lại và theo dõi tiến trình với:

    đồng hồ -d mèo / Proc / mdstat

    Chúc may mắn! :)

    Tài liệu tham khảo:
    mdadm cheat tờ
    Mức RAID bị phá vỡ
    Linux RAID10 đã giải thích
    trang lệnh mdadm
    mdadm tập tin cấu hình trang man
    Giải thích giới hạn phân vùng


    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 ;-)