Bạn có mất tất cả mọi thứ khi bạn bị lỗi đĩa cứng trong LVM đa đĩa cứng KHÔNG sử dụng RAID không?


16

Tôi đang tranh luận về việc sử dụng LVM cho một máy chủ phương tiện / tập tin vì tôi muốn kết hợp nhiều đĩa cứng vật lý thành một ổ đĩa. Tôi không muốn sử dụng bất kỳ RAID nào trong LVM của mình vì vậy câu hỏi của tôi là:

Nếu một trong nhiều đĩa cứng trong ổ đĩa của tôi bị hỏng thì tôi sẽ mất tất cả dữ liệu hay tôi sẽ mất dữ liệu được lưu trữ trên đĩa riêng lẻ đó?

Ngoài ra, nếu tôi chỉ mất dữ liệu trên đĩa riêng lẻ, việc thay thế đĩa đó và khôi phục lại những gì trên đó từ bản sao lưu để khôi phục?

Câu trả lời:


11

Nếu một trong nhiều đĩa cứng trong ổ đĩa của tôi bị hỏng thì tôi sẽ mất tất cả dữ liệu hay tôi sẽ mất dữ liệu được lưu trữ trên đĩa riêng lẻ đó?

Không, bạn sẽ mất dữ liệu được lưu trữ trên toàn bộ LVM

Ngoài ra, nếu tôi chỉ mất dữ liệu trên đĩa riêng lẻ, việc thay thế đĩa đó và khôi phục lại những gì trên đó từ bản sao lưu để khôi phục?

Không, nó không đơn giản

Bạn có thể đọc ở đây câu hỏi tương tự LVM và khắc phục thảm họa


7

Đơn giản: Bạn đang tìm kiếm mhddfs .
Nó giả vờ là một hệ thống tệp lớn, ghi vào các đĩa theo thứ tự mà chúng được đề cập và cuối cùng di chuyển các tệp lớn sang một thiết bị khác, nếu cái đầu tiên quá đầy. Nó thực sự cũng có thể sử dụng các thư mục con trên các đĩa, cho phép các chức năng tương tự.
Các đĩa riêng lẻ phải được gắn đầu tiên và vẫn có thể truy cập. Nó hoàn toàn không làm thay đổi hệ thống tập tin và không quan tâm hệ thống tập tin nào đang hoạt động (miễn là không gian trống được hệ thống tập tin báo cáo chính xác). Trong trường hợp đĩa bị mất, bạn sẽ phải truy cập lại mhddfs của mình (khi đang di chuyển) và dữ liệu trên đĩa đó sẽ biến mất.
Sử dụng:

mhddfs /dir1,/dir2[,/path/to/dir3] /path/to/mount [-o options]

hoặc trong /etc/fstab

 mhddfs#/path/to/dir1,/path/to/dir2 /mnt/point fuse defaults 0 0

Phức tạp & mạnh mẽ: Bạn muốn unionfs .
Mặc dù mhddfs rất hay và cực kỳ đơn giản, tôi đã gặp vấn đề với quyền truy cập tệp khi cấp cho người khác quyền truy cập qua SSH. Tôi không thể tìm thấy bất kỳ giải pháp, nhưng tìm thấy đoàn.
Unionfs cũng cho phép bạn gắn nhiều thư mục trên các hệ thống tệp khác nhau vào một, nhưng điều đó thật kỳ diệu đối với các quyền. Bạn có thể hợp nhất một số thư mục chỉ đọc và một thư mục có thể ghi lại với nhau, để nó xuất hiện dưới dạng một. Những người bạn đã chia sẻ thư mục đã hợp nhất của mình sau đó có thể ghi vào thư mục chỉ đọc - như nó xuất hiện với họ - nhưng các tệp kết thúc trong một thư mục có thể ghi. Các đĩa CD khởi động Linux hoạt động như thế này, đĩa có thể ghi là một đĩa RAM. Mọi người thậm chí có thể xóa các tệp trong các thư mục chỉ đọc, không thực sự xóa tệp, nhưng tạo một tệp danh sách trắng ẩn trong thư mục ghi của họ. Nếu bạn nắm bắt tất cả các tùy chọn, về cơ bản bạn có thể sử dụng hệ thống tệp của mình như một người nghèo SVN .
Nếu bạn sử dụng các tùy chọn giống như SVN quá nhiều, bạn có thể bỏ lỡ dữ liệu hiện có hai lần (không thể thực hiện được trong kịch bản của bạn), trong khi thư mục có thể ghi của bạn sẽ lấp đầy với các tệp danh sách trắng nhỏ, ẩn. Ngoài ra, nó giữ cho đĩa của bạn sạch sẽ và có thể sử dụng riêng lẻ. Điều gì xảy ra nếu một tệp quá lớn cho một đĩa, tôi chưa biết.
Sử dụng:

 unionfs-fuse -o cow,max_files=32768 \
                 -o allow_other,use_ino,suid,dev,nonempty \
                 /path/to/dir1=rw:/path/to/dir2=ro:/dir3
                 /u/union/etc

nơi =rwlàm cho thư mục đọc và ghi được và =rolàm cho nó chỉ đọc, ngay cả khi các quyền sẽ nêu khác. Trong etc/fstabđây là

unionfs-fuse#/path/to/dir1=rw:/path/to/dir2=ro:dir3 /path/to/mount fuse cow,allow_other 0 0

Làm thế nào để những điều này đối phó với một đĩa di động không được cắm vào?
endolith

@endolith Một mhddfs trên một đĩa di động có nghĩa là không biết cái gì sẽ kết thúc trên nó, một unionfs có ý nghĩa thực sự, nhưng yêu cầu phải kể lại khác nhau, tùy thuộc vào tính khả dụng của thiết bị di động.
DennisH

Tôi không hiểu bình luận của bạn. Nếu bạn kết hợp 3 ổ USB bằng cách sử dụng mhddfs và đặt các tệp lên chúng, sau đó xóa một ổ đĩa, liệu có điều gì xấu vĩnh viễn xảy ra không? Nếu bạn cắm lại, nó có quay trở lại như trước không?
endolith

3
@endolith Rút phích cắm trong khi viết là không bao giờ tốt. Nếu bạn rút phích cắm sau khi ghi, các ổ USB đều ổn, không có vấn đề gì. Bạn có thể rút ổ đĩa, cắm nó vào PC2, sử dụng nó, cắm lại vào PC1 và tiếp tục sử dụng chúng như trước đây. Ở giữa điểm gắn kết trên PC1 thông thường của bạn cần được thông báo rằng bạn đã lấy ổ đĩa (remount). Tuy nhiên, giả sử bạn chia sẻ 2 tệp với PC2, bạn không thể biết ổ đĩa nào của mhddfs mount mà chúng sẽ kết thúc hoặc nếu đó là cùng một ổ đĩa. Các ổ đĩa vẫn có thể truy cập riêng lẻ để kiểm tra / đảm bảo vị trí, nhưng điều đó không liên quan đến mhddfs nữa.
DennisH

4

Nếu bạn chỉ kết nối nhiều thiết bị với nhau thì sẽ không có bất kỳ sự dư thừa nào, vì vậy bạn có thể mất dữ liệu. Nhưng nếu bạn đang sử dụng máy chủ phương tiện / tệp cho doanh nghiệp, bạn không nên mất bất cứ thứ gì vì bạn đã sao lưu mọi thứ vào máy chủ / ổ đĩa sao lưu.

Tại sao bạn tránh RAID? Điểm của RAID là tính khả dụng; nếu bạn không muốn mất thời gian do lỗi đĩa, bạn có thể sử dụng cấu hình RAID 1, điều này cũng có thể tăng tốc độ đọc của bạn. Chúng không quá đắt, hãy tự trả tiền cho lần đầu tiên bạn gặp lỗi đĩa và nếu bạn THỰC SỰ tránh phải trả tiền cho thẻ, bạn có thể thiết lập Linux để sử dụng RAID phần mềm mặc dù việc cài đặt cần cẩn thận hơn một chút và xử lý sự cố để đảm bảo bạn thay thế ổ đĩa chính xác.

Nếu không, bạn phải nhảy qua một số vòng để cố gắng khôi phục dữ liệu bạn có thể từ các đĩa còn lại. Điều đó là có thể, nhưng bạn đang yêu cầu nhiều rắc rối hơn bạn nên có. Nhận một bản sao lưu tốt tại chỗ và xem xét lại RAID.


1
Tôi đang tránh RAID vì tôi không quan tâm đến tính khả dụng. Đây là để sử dụng cá nhân. Tôi đang cố gắng tránh RAID vì tôi đang tìm kiếm sự tin cậy nhiều hơn. Một điều nhỏ xảy ra trong RAID và bạn mất toàn bộ mảng và tôi không cảm thấy muốn đối phó với điều đó. Tôi thay vì có một kho lưu trữ tệp lớn mà tôi có thể sao lưu hơn một số.
Fujin

1
Tôi không chắc là tôi hiểu điều đó. RAID làm cho bạn không bị mất mảng nếu có một sự cố. Không sử dụng RAID là khi một lỗi sẽ giết chết toàn bộ.
JOTN

4
@ user72630: Bạn có những hiểu lầm nghiêm trọng về cách thức hoạt động của RAID. Trước hết, có các cấp RAID khác nhau, hầu hết được thiết kế để tránh mất dữ liệu trong trường hợp hỏng đĩa. Sau đó, bạn có thể định cấu hình RAID để chỉ có một hệ thống tệp trên nhiều đĩa, giống như bạn đang lập kế hoạch với LVM. Vui lòng đọc en.wikipedia.org/wiki/RAID
Sven

Những gì người khác nói. Toàn bộ vấn đề có RAID là giữ tính khả dụng ... tức là, ổ đĩa bị lỗi, dữ liệu vẫn có thể truy cập được. Với các thiết bị thích hợp, bạn có thể hot-swap ổ đĩa thất bại và không phải lo lắng về thời gian chết ở tất cả .
Bart Silverstrim

3

Nếu bạn đang sử dụng một hệ thống tệp bao trùm tất cả các khối LVM, toàn bộ hệ thống tệp sẽ bị hỏng do FS không biết về các khối vật lý cơ bản và sẽ không tạo các cấu trúc được căn chỉnh theo nó. Có thể cứu một số bộ phận trên đĩa làm việc, nhưng không có gì đảm bảo cho điều đó.

Và chỉ cần khôi phục các tệp của đĩa bị hỏng sẽ không hoạt động vì lý do tương tự.


2

Tôi nghĩ rằng một lộ trình đơn giản hơn nhiều sẽ là cấu hình mdadm cho phân vùng phương tiện của bạn. Nếu bạn không có phần cứng cho "RAID thực" thì việc đi tuyến mdadm sẽ dễ dàng hơn đáng kể và dường như đáp ứng các yêu cầu của bạn về dự phòng và thay thế đĩa đơn giản.

# Format your drives first
# Create your MD
mdadm --create /dev/md1 --level=5 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2

# In the event that a drive fails do the following
mdadm /dev/md1 --fail /dev/sda1
# Format the new drive
mdadm --add /dev/md1 /dev/sda1

Để biết thêm thông tin: http://en.wikipedia.org/wiki/Mdadm

Nếu một trong nhiều đĩa cứng trong ổ đĩa của tôi bị hỏng thì tôi sẽ mất tất cả dữ liệu hay tôi sẽ mất dữ liệu được lưu trữ trên đĩa riêng lẻ đó?

Nếu bạn sử dụng mdadm và RAID 5, bạn sẽ có thể mất một ổ đĩa và có chức năng mảng, mặc dù bạn sẽ bị suy giảm hiệu suất.


1

Tôi nghĩ rằng điều quan trọng để hiểu những gì chưa được đề cập là một tệp trong hệ thống tệp không nhất thiết phải nằm ở một vị trí trên đĩa. Nó được chia thành các khối có thể nằm ở bất kỳ đâu trong các hệ thống tập tin. 4K đầu tiên nếu tệp của bạn có thể nằm trên đĩa1, đĩa 2 tiếp theo, v.v. Bạn có thể tưởng tượng sự lộn xộn của việc cố gắng khôi phục bất cứ thứ gì nếu bạn bị mất một đoạn của hệ thống tệp.


0

Btrfs là một lựa chọn tốt ở đây; bạn có thể có siêu dữ liệu có khả năng phục hồi khi mất một đĩa (cấu hình chunk "raid1"); dữ liệu trên các đĩa khác sẽ vẫn có thể truy cập được (chỉ cần chúng tôi rõ ràng, sẽ chuyển thành các tệp đầy lỗ bất cứ nơi nào đĩa bị thiếu được tham chiếu). Điều này được thực hiện bằng cách chạy cân bằng btrfs với bộ lọc :

sudo btrfs balance start -m convert=raid1 /mnt/point
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.