Điểm:1

Làm cách nào để tạo LVM RAID 1 với 4 đĩa có 2 kích cỡ khác nhau?

lá cờ it

Tôi có một hệ thống với

2 x 1TB (SSD NVMe)
2 x 2TB (SSD SATA)

đĩa và muốn tạo hệ thống RAID 1 bằng cách sử dụng tất cả các đĩa có sẵn (vì vậy tôi có hệ thống RAID1 3TB ở cuối). Thật không may, hầu hết các ví dụ về cách thiết lập điều này chỉ dành cho hai đĩa.

Cách tiếp cận được khuyến nghị ở đây là gì?

  • Tạo RAID1 cho mỗi kích thước đĩa, tức là sao chép các đĩa cùng loại và sau đó tạo một ổ đĩa logic lớn trên đó?
  • Hoặc có một số cách tiếp cận khác, thông minh hơn?

Nếu ai đó có công thức từng bước (hoặc một liên kết tốt đến một công thức), điều đó sẽ được đánh giá rất cao.

Ngoài ra, tôi có cần một hệ thống hoặc phân vùng khởi động riêng không?

Cảm ơn bạn.

Điểm:2
lá cờ np

Điều đó phụ thuộc rất nhiều vào những gì bạn đang hướng tới, bởi vì tốc độ và độ trễ của SSD NVMe so với SATA có sự khác biệt rất lớn.

Cá nhân tôi đã tạo hai bộ nhóm âm lượng LVM (VG) khác nhau. Một cho NVMe và một cho SSD và gán chúng theo cách thủ công cho các tác vụ khác nhau. I E. NVMe cho các tác vụ nặng IO, như DB và SSD để lưu trữ chung hơn. Tất nhiên, bạn chỉ có thể kết hợp chúng thành một VG duy nhất, nhưng theo cách đó về cơ bản, bạn đang "làm chậm" NVMe xuống tốc độ SATA. Chà... không hẳn, nhưng gần như vậy.

Đối với việc khởi động - nếu bạn có hệ thống chế độ EFI và bộ tải khởi động hiện đại (tức là GRUB2), bạn sẽ cần một phân vùng có kích thước nhỏ riêng biệt (256-512Mb sẽ ổn) cho tệp EFI thuộc loại FAT32. Nhưng ít nhất hệ thống EFI có thể khởi động trực tiếp từ NVMe và GRUB2 có thể khởi động trực tiếp từ Linux RAID + LVM.

  1. Tạo phân vùng thứ nhất (tức là với fdisk) trên cả hai ổ đĩa NVMe có kích thước khoảng 256-512 Mb. Đặt loại của nó thành khởi động EFI.
  2. Tạo phân vùng thứ 2 cho phần dung lượng còn lại để phân bổ 100%. Đặt loại của nó thành Linux RAID.
  3. Định dạng từng phân vùng EFI đầu tiên thành FAT32 (tức là mkfs.vfat -F32 /dev/nvme0n1p1).
  4. Bạn có thể làm theo cách tương tự đối với các ổ SSD nếu bạn muốn làm cho chúng có khả năng khởi động trong trường hợp cả hai NVMe đều bị lỗi hoặc chỉ một phân vùng RAID Linux duy nhất cho dữ liệu.
  5. Tạo mảng RAID thứ nhất cho NVMe: mdadm --create /dev/md1 -l 1 -n 2 -b internal /dev/nvme0n1p2 /dev/nvme1n1p2.
  6. Tạo mảng RAID thứ 2 cho các thành viên SSD: mdadm --create /dev/md2 -l 1 -n 2 /dev/sda2 /dev/sdb2 (nếu bạn đã tạo phân vùng EFI ở đó hoặc chỉ sda1/sdb1 nếu không).
  7. Tạo PV LVM từ các mảng mới được tạo: pvcreate /dev/md1 && pvcreate /dev/md2.
  8. Tạo VG & LV trên đầu PV. Nếu bạn vẫn muốn kết hợp chúng, bạn tạo 2 PV và sau đó thêm cả hai vào cùng một VG.
  9. Đảm bảo gắn kết các phân vùng EFI và cài đặt bộ tải khởi động thích hợp trên mỗi ổ đĩa. Như thế này cho ổ NVMe đầu tiên: gắn kết /dev/nvme0n1p1 /boot/efi && grub-install /dev/nvme0n1.

Lưu ý rằng bạn không thể có mảng RAID cho phân vùng EFI. Chà ... không hẳn, có một số thủ thuật, nhưng tôi không nghĩ chúng đáng giá vì không có bộ nhớ nào không thể phục hồi trên đó. Nó chỉ là tệp nhị phân nhỏ để "bios" EFI có thể khởi động bộ tải khởi động của bạn. Ngay cả trong trường hợp không thành công, bạn vẫn có thể khởi động hệ thống của mình bằng một số loại Live image (như SuperGRUBdisk) và cài đặt lại bằng grub-install.

lá cờ it
Cảm ơn bạn đã trả lời toàn diện. Bạn khuyên nên sử dụng `mdadm` cho RAID. Điều đó có tốt hơn việc sử dụng LVM cho RAID không? Tức là, có một lý do cho sự lựa chọn này?
lá cờ np
LVM là công cụ âm lượng hợp lý, không phải RAID. Mặc dù LVM có thể tạo nhân bản LV nhưng nó vẫn không được coi là một mảng RAID đầy đủ. Nó kém linh hoạt và trưởng thành hơn `mdadm` về mặt tạo các mảng được nhân đôi.
lá cờ np
Ngoài ra, từ câu hỏi này https://serverfault.com/questions/741103/lvm-raid-1-ssd-caching?rq=1 : "_Sidenote: một tìm kiếm nhanh cho thấy rằng phản chiếu LVM thường được coi là chậm hơn nhiều so với Linux RAID phần mềm. Nhưng tôi nghĩ bạn có thể lấy lại một số hiệu suất bị mất đó bằng một số điều chỉnh._"
Mike Andrews avatar
lá cờ ng
Đây là câu trả lời chính xác. Rất khuyến khích ý kiến ​​của @NStorm về việc không kết hợp SSD SATA và NVMe vào cùng một nhóm. Rất có khả năng các thiết bị NVMe của bạn có băng thông và khả năng IOPS gấp nhiều lần so với khả năng của SSD SATA của bạn. Nếu bạn tạo một tập duy nhất từ ​​chúng, hiệu suất của bạn sẽ là hiệu suất của mẫu số chung thấp nhất. Nó giống như đặt SSD và spinner vào cùng một nhóm.
Nikita Kipriyanov avatar
lá cờ za
Ngược lại, thường * mong muốn * kết hợp chúng thành một nhóm duy nhất.Ví dụ: khi bạn định cấu hình bộ nhớ đệm, cả bộ đệm và ổ đĩa phụ trợ phải ở cùng một VG, rõ ràng một trong số chúng là một loại SSD nhanh và ổ kia chậm hơn. Hoặc, bạn tạo một nhóm mỏng và muốn đưa siêu dữ liệu vào thiết bị nhanh hơn, trong khi để dữ liệu trên thiết bị chậm hơn. Trong mọi trường hợp, ngay cả khi các PV được kết hợp thành VG, bạn vẫn có toàn quyền kiểm soát vị trí LV thực tế, vì vậy nếu bạn quản lý chúng cẩn thận sau đó, bạn sẽ không bị bất kỳ hình phạt nào về hiệu suất, nhưng bạn sẽ có sự linh hoạt.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.