LVM và khắc phục thảm họa


13

Tôi hiểu LVM là gì và những gì nó đạt được, nhưng tôi cảm thấy như mình đang thiếu một số thứ.

Hãy nói rằng chúng tôi có hai ổ đĩa vật lý, sda và sdb. Cả hai đều là 100 Megs. Tôi đặt chúng vào Volumegroup1 và tạo một 200 meg LogicalVolume1.

Điều gì sẽ xảy ra nếu tôi tạo một tệp 150 meg? 100 megs vật lý sẽ có trên sda và 50 trên sdb? Nếu vậy, điều gì nói với HĐH rằng một phần của tệp nằm trên một ổ đĩa và một phần khác nằm trên ổ đĩa kia?

Lỗi ổ đĩa thì sao? Giả sử không có RAID, nếu sdb thất bại, liệu tất cả dữ liệu trên sda có bị mất không? Có cách nào để kiểm soát những tập tin trên ổ đĩa vật lý không?

Bạn thường quản lý LVM như thế nào? Bạn có tạo một hoặc hai Nhóm âm lượng lớn sau đó tạo các phân vùng vì nó có ý nghĩa không? Còn lời khuyên nào nữa không?


1
Nếu bạn muốn tránh sự dư thừa của một cuộc đột kích, một phương tiện lớn và có thể sống với các lỗi đĩa đơn, điều này có thể phù hợp với bạn: serverfault.com/a/543684/165065
DennisH

Câu trả lời:


15

Hãy nói rằng chúng tôi có hai ổ đĩa vật lý, sda và sdb. Cả hai đều là 100 Megs. Tôi đặt chúng vào Volumegroup1 và tạo một 200 meg LogicalVolume1.
Điều gì sẽ xảy ra nếu tôi tạo một tệp 150 meg? 100 megs vật lý sẽ có trên sda và 50 trên sdb?

Đúng (giả sử hệ thống tập tin trống trước khi tập tin được tạo).

Nếu vậy, điều gì nói với HĐH rằng một phần của tệp nằm trên một ổ đĩa và một phần khác nằm trên ổ đĩa kia?

LVM nói với hệ điều hành rằng có một đĩa 200 MB. Phần LVM của kernel (có hai phần, công cụ quản lý không gian người dùng và trình điều khiển kernel) sau đó sẽ ánh xạ những gì hệ điều hành nhìn thấy vào các vị trí / khối vật lý trên các đĩa.

Lỗi ổ đĩa thì sao? Giả sử không có RAID, nếu sdb thất bại, liệu tất cả dữ liệu trên sda có bị mất không? Có cách nào để kiểm soát những tập tin trên ổ đĩa vật lý không?

Có, xem xét dữ liệu bị mất.

Nếu bạn tạo các Tập hợp logic nhỏ hơn thì bạn có thể sử dụng pvmovelệnh để di chuyển chúng từ đĩa này sang đĩa khác.

Bạn thường quản lý LVM như thế nào? Bạn có tạo một hoặc hai Nhóm âm lượng lớn sau đó tạo các phân vùng vì nó có ý nghĩa không? Còn lời khuyên nào nữa không?

Tôi có xu hướng tạo các Nhóm âm lượng lớn và sau đó tạo các Tập hợp lý khi cần thiết. Không cần phân bổ đầy đủ tất cả không gian trong Nhóm âm lượng; phân bổ nó khi cần thiết Thật dễ dàng để tăng kích thước của Khối lượng hợp lý và khá nhiều hệ thống tệp hiện đại cũng có thể dễ dàng phát triển.


Bạn có chắc chắn về điều đó đầu tiên? Tôi nghĩ LVM thường được mặc định để phân loại, do đó tệp 150 meg có thể sẽ có khoảng 75 meg trên mỗi ổ đĩa
freiheit

2
Các sọc không được tạo trừ khi bạn chỉ định --stripes <num>(ngắn -i <num>) khi bạn tạo Khối lượng logic.
pss

PS, câu trả lời của tôi ở đây có chứa một tập lệnh sẽ cho bạn biết các PV mà mỗi LV sử dụng: serverfault.com/questions/28592/
mẹo

@freiheit, pss là đúng, mặc định là mở rộng, không phải sọc, âm lượng.
Avery Payne

về việc quản lý, tôi sẵn sàng tạo một nhóm lvm cho 3 HD của mình, nhưng chỉ tạo các khối logic giới hạn ở các khối vật lý, và sau đó, chỉ sử dụng các không gian có sẵn để tạo ảnh chụp nhanh; Bạn có tin rằng đây là cách an toàn nhất cho người dùng gia đình (không có tiền đột kích cũng không có tiền để thay thế kịp thời mọi thứ)?
Sức mạnh Bảo Bình

4

Điều cơ bản cho phép LVM và Software Raid trong Linux hoạt động là phần ánh xạ thiết bị của kernel. Đây là những gì trừu tượng hóa địa chỉ khối của các thiết bị vật lý với các thiết bị khối ảo mà bạn đang sử dụng.

Khi sử dụng LVM như với bất cứ điều gì khi nói đến dữ liệu, bạn cần phải biết về hậu quả sẵn có của dữ liệu. Điều đó không có nghĩa là LVM thực sự nguy hiểm khi thực hành đúng cách được sử dụng, tác động đến tính khả dụng là tối thiểu.

Trong kịch bản mà bạn đề xuất trong câu hỏi của bạn, tính khả dụng của dữ liệu của bạn sẽ giống như RAID0 trong trường hợp nếu có bất kỳ ổ đĩa nào bị hỏng thì sẽ dẫn đến mất dữ liệu.

Trong thực tế tôi sẽ không sử dụng LVM mà không chạy nó trên một số loại RAID. Tôi đã sử dụng LVM trên máy chủ tệp 30TB có khoảng 20 phần cứng RAID5 trong một VG. Nhưng nếu bạn có đủ Mức độ miễn phí, bạn có thể sử dụng pvmove để di chuyển dữ liệu khỏi một hoặc nhiều PV nếu nó bắt đầu gây ra sự cố cho bạn.

Nhưng luôn luôn có một chiến lược sao lưu được thử nghiệm theo thời gian.


3

Bạn thường quản lý LVM như thế nào? Bạn có tạo một hoặc hai Nhóm âm lượng lớn sau đó tạo các phân vùng vì nó có ý nghĩa không?

Chiến lược chung của tôi là đưa vào nhóm âm lượng riêng biệt các khối vật lý có thể có thể được di chuyển (dưới dạng toàn bộ) sang hệ thống khác.

Nếu bạn có bộ nhớ ngoài, tốt nhất là đặt nó trong một nhóm âm lượng riêng. Thật dễ dàng để ngắt kết nối nó khỏi máy tính này và kết nối với máy tính khác, vì vậy nó cũng dễ dàng tương tự để xuất / nhập nó trong LVM, giữ nguyên dữ liệu.

Nếu bạn đã có vg00 trên (các) đĩa bên trong, sau đó bạn mua một đĩa nội bộ khác cho máy của mình, hãy tự hỏi mình một câu hỏi: liệu dữ liệu trên đĩa mới có bị ràng buộc với vg00 không và sẽ không có ý nghĩa gì khi di chuyển dữ liệu cho hệ thống khác? Trong trường hợp này, nó phải là một phần của vg00. Nếu không, tôi sẽ tạo vg01, vì nó có thể dễ dàng xuất / nhập.


0

Nếu bạn có hai ổ đĩa là khối lượng vật lý trong một nhóm như vậy, thì cái bạn có là một mảng JBOD (Chỉ là một Bunch Of Disks). Nếu một trong các ổ đĩa bị lỗi, bạn sẽ không được bảo vệ tốt hơn nếu các ổ đĩa được sắp xếp trong một mảng RAID0.

Bạn không thể điều khiển trực tiếp những gì diễn ra ở hai ổ đĩa nếu bạn có một âm lượng hợp lý trong nhóm âm lượng (vì điều này sẽ được điều khiển bởi hệ thống tệp trong ổ đĩa, chứ không phải LVM) mặc dù nếu bạn chia nhóm âm lượng thành nhiều ổ đĩa logic có thể tự sắp xếp thứ tự tạo của chúng sao cho một khối lượng logic nhất định nằm trên một ổ đĩa nhất định.

Tôi tin rằng mỗi PV trong VG có một bản sao bố trí LV và dữ liệu không bị tước như RAID0, vì vậy bạn có nhiều khả năng khôi phục thứ gì đó nếu một trong các ổ đĩa của bạn bị hỏng nhưng nếu mất dữ liệu thì không có gì đáng lo ngại Tôi hoàn toàn không xem xét sử dụng hai ổ đĩa theo cách này (thông qua LVM hoặc RAID0).


0

Điều gì sẽ xảy ra nếu tôi tạo một tệp 150 meg? 100 megs vật lý sẽ có trên sda và 50 trên sdb? Nếu vậy, điều gì nói với HĐH rằng một phần của tệp nằm trên một ổ đĩa và một phần khác nằm trên ổ đĩa kia?

LVM (Logical Volume Manager) thu thập các khối vật lý thành các nhóm âm lượng. Mỗi khối lượng vật lý (chính ổ đĩa) có các phần nhỏ gọi là phạm vi vật lý. Những phạm vi này có một định danh uniq trong đĩa. Trên thực tế chúng được đánh số thứ tự. Khi bạn tạo một khối hợp lý, nó đã được xây dựng từ các phạm vi logic được ghép nối với các phạm vi vật lý. Các phạm vi logic có ID uniq trong khối lượng logic. Trong HP-UX, bạn có thể kiểm tra mức độ logic nào được ghép nối với mức độ vật lý nào. Trong SLES11 tôi không thể tìm ra cách kiểm tra nó. lvdisplay --mapsnên tốt nhưng không perferct (đối với tôi).

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.