Gắn kết phân vùng vào 'hộp cát'


9

Tôi tự hỏi nếu điều này là có thể. Tôi muốn thiết lập một hệ thống linux gắn /máy linux từ xa /vào máy cục bộ. Tuy nhiên, tôi muốn tất cả các thay đổi trên máy cục bộ được lưu vào ram để nó không ảnh hưởng đến máy từ xa. Lý tưởng nhất là các thay đổi KHÔNG BAO GIỜ được viết, để khi tôi khởi động lại, nó sẽ gắn kết /phân vùng ban đầu lại bỏ qua tất cả các thay đổi được thực hiện trong phiên trước đó.

Là một cái gì đó như thế có thể?


Tôi chưa đi khắp nơi để kiểm tra bất kỳ câu trả lời nào của các bạn, vì vậy thật khó để chọn 1 để chọn làm giải pháp. Vì vậy, tôi sẽ nâng cao tất cả các bạn
Falmarri

Câu trả lời:


7

Sử dụng unionfs , aufs (cả hai đều là bản vá ngoài cho kernel) hoặc unionfsfuse / funionfs (sử dụng FUSE) và tạo union bằng cách đánh dấu bên ngoài / như RO và hệ thống tập tin nội bộ (được gắn dưới dạng tmpfs / ramfs / phân vùng bổ sung được làm sạch mỗi lần).

Thay vào đó, bạn có thể sử dụng hệ thống tập tin hoặc LVM với ảnh chụp nhanh. Sau đó, các thay đổi được viết nhưng bạn có thể xóa ảnh chụp nhanh ở mỗi lần khởi động.


hoặc người ta có thể sử dụng tính năng seeding của btrfs (được chỉ ra tại < en.wikipedia.org/wiki/Btrfs#cite_Vf-16> ) - để tạo một fs đọc ghi với cơ sở chỉ đọc. Nếu fs cơ sở là btrfs ...
imz - Ivan Zakharyaschev

5

Có một số cách để đi về điều này. Thiết lập đơn giản nhất sẽ sử dụng hệ thống tập tin hợp nhất, hiển thị một chế độ xem duy nhất của hai cây thư mục A và B, sao cho tất cả các thay đổi được lưu vào B. Trong trường hợp của bạn, A sẽ là điểm gắn kết NFS / Samba / sshfs /. và B sẽ là một thư mục trống ban đầu trên hệ thống tập tin tmpfs.

Linux không có hệ thống tập tin liên kết trong nhân, nhưng có một số triển khai FUSE : funionfs , Unionfs-fuse .


3

Nếu / vừa với RAM của máy cục bộ và đủ chỗ để chạy các ứng dụng, ý tưởng cơ bản có thể là khởi động một hệ thống Linux tối thiểu trên máy đích và sau đó tự động tạo một đĩa ảo ramfs, sao chép / từ xa vào nó và chroot vào mới này /. Nếu RAM không đủ, về cơ bản bạn có thể làm theo quy trình tương tự nhưng không sử dụng ramfs mà là phân vùng đĩa thực có nội dung bạn phải xóa trước khi sao chép. Thay vì xóa và sao chép đầy đủ, bạn cũng có thể sử dụng rsync với các tùy chọn phù hợp.


1

Bạn có thể sử dụng Btrfstính năng Copy-on-Write (CoW).

Ứng dụng bạn có thể đang tìm kiếm được mô tả trên Btrfs Wiki dưới dạng Seed-device :

Ý tưởng cơ bản là tạo phân vùng với dữ liệu gốc chỉ đọc, hơn là "thêm lớp bổ sung lên trên cùng", đó là một phân vùng có thể ghi khác (bạn luôn có thể đặt nó trong RAM, ví dụ như trên /dev/shm) và gắn kết nó:

btrfstune -S 1 /dev/RO #make it read-only
mount /dev/RO /mnt/temp
btrfs device add /dev/RW /mnt/temp
umount /mnt/temp

và từ lúc đó, mỗi lần bạn gắn kết

mount /dev/RW /mnt/test

thay đổi được lưu vào / dev / RW, trong khi / dev / RO không bị ảnh hưởng.

(ví dụ dựa trên những người trong wiki )


0

Điều này có thể được lưu trữ rất dễ dàng với khởi động PXE. Tôi đang chạy một hệ thống xbmc trực tiếp trên pxe tftp nfs boot. thay đổi được viết bằng chia sẻ COW sang NFS.

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.