Làm thế nào để thiết lập bcache?


11

Tôi đã cố gắng thiết lập bcache trong Ubuntu 14.04 với bản cài đặt mới và /homephân vùng trống ( /dev/sdb2) làm thiết bị sao lưu. Tôi có một hệ thống đang chạy trên ổ SSD của mình và tôi muốn sử dụng /dev/sda2phân vùng của nó để lưu trữ bộ nhớ cache của mình /home . Tôi đã luôn tìm cách loại bỏ các vấn đề về Ubuntu của mình khỏi các diễn đàn nhưng tôi đang cố gắng tìm hiểu những điều cơ bản ở đây và cần sự giúp đỡ:

  1. Tôi cần đăng nhập tài khoản nào khi thiết lập bcache ở nơi đầu tiên? Rõ ràng người dùng được tạo trong quá trình cài đặt /dev/sdb2phải được đăng xuất để không bị chặn /home, vì vậy tôi đã thiết lập một tài khoản người dùng tạm thời trên một phân vùng riêng để thực hiện. Điều này có vẻ quá vụng về rồi.
  2. make-bcache -B-Ccả hai đều nói với tôi rằng có những siêu khóa không phải bcache trên thiết bị nên tôi đã làm sudo wipefs -atrên cả hai thiết bị. Các phân vùng sau đó xuất hiện dưới dạng không được định dạng mà không có UUID trong GParted. Điều này có bình thường không?
  3. Nếu vậy, điều gì xảy ra với fstab và /homekhi khởi động? Tôi có cần sử dụng UUID của bcache trong fstab không? Tôi đã làm nhưng hệ thống không tìm thấy /homephân vùng khi khởi động tiếp theo.

  4. Cả hai echo /dev/sdb2 > /sys/fs/bcache/registerecho /dev/sda2 > /sys/fs/bcache/registertrả lại tin nhắn 'Quyền bị từ chối'; theo tôi hiểu /syskhông thể được viết cho.

    Vì vậy, echo /dev/sdb2 | sudo tee /sys/fs/bcache/registerdường như đã làm việc.

Ai đó có thể xác minh đây là cách thích hợp để làm điều đó trong Ubuntu không?

Tôi dường như đã quản lý để tạo, đăng ký và gắn ổ đĩa sao lưu nhưng theo tail /sys/block/bcache0/bcache/stats_total/*tôi chỉ có dữ liệu bỏ qua. Toàn bộ thiết lập của tôi bây giờ khá lộn xộn nên bất kỳ sự làm rõ nào cũng sẽ được đánh giá cao.


Bạn đã thử nó chưa? Xuất hiện rằng bạn biết "cách thực hiện", những gì bạn cần biết?
Braiam

Tôi đã thử nghiệm nó như trên và tôi nhận được lượt truy cập bộ nhớ cache, bỏ lỡ và bỏ qua. Rắc rối là thiết bị sao lưu của tôi được cho là phân vùng nhà của tôi không được gắn kết như nhà khi khởi động mà là một ổ đĩa riêng. Vì vậy, nhà của tôi là một thư mục trên / tại thời điểm này và tôi đang kiểm tra bcache bằng cách sao chép các tập tin vào thiết bị sao lưu và truy cập chúng. Tôi đã gặp rắc rối với fstab, đây có thể là một lỗi và tôi không có UUID hợp lệ cho phân vùng / nhà của mình nếu điều đó có ý nghĩa .. Điều tôi cần là một bản hướng dẫn chống ngớ ngẩn đặc biệt dành cho Ubuntu.
Laszlo Almasi

OK, tôi đã gửi nhầm fstab và / home có UUID sai. Nó dường như làm việc bây giờ. Tôi vẫn sẽ quan tâm đến việc bcache được thiết lập chính xác như thế nào: từ tài khoản người dùng tạm thời, CD / USB trực tiếp hoặc khác?
Laszlo Almasi

Câu trả lời:


7

Với Ubuntu 15.10, câu trả lời của alex không còn đúng nữa. Các initramfshình ảnh được khóa trong trình cài đặt và sẽ không được tự động tái tạo ra khi hệ thống được cài đặt. Do đó, người ta sẽ có một bản bcachecài đặt, nhưng nó sẽ không thể khởi động. Tôi đã viết một mô tả dài dòng hơn về quá trình sau đây ở nơi khác ; tuy nhiên, đây là những điều cơ bản:

1. Phân vùng

Khởi động vào Ubuntu live-cd và tạo sơ đồ phân vùng sau bằng fdiskhoặc gparted. Giả sử /dev/sdalà SSD của bạn và /dev/sdblà ổ cứng của bạn:

/dev/sda1 - 1024 MB, EXT4, used for /boot (grub/grub2 doesn't support bcache)
/dev/sda2 - any format, for cache
/dev/sdb1 - EFI partition (if your machine needs it)
/dev/sdb2 - swap
/dev/sdb3 - any format, backing partition

2. Tạo thiết bị bcache

Mở thiết bị đầu cuối, xóa sạch các hệ thống tệp trên thiết bị sao lưu và bộ đệm.

sudo wipefs -a /dev/sda2
sudo wifefs -a /dev/sdb3

Cài đặt bcache-toolsvà tạo bcachethiết bị:

sudo apt-get update
sudo apt-get install bcache-tools
sudo make-bcache -B /dev/sdb3 -C /dev/sda2
sudo mkfs.ext4 /dev/bcache0

3. Cài đặt Ubuntu

Cài đặt hệ điều hành bằng cách sử dụng trình phân vùng tùy chỉnh như sau:

/dev/bcache0 - format EXT4, use as /
/dev/sda1    - format EXT4, use as /boot
/dev/sdb1    - EFI partition (if your machine needs it)
/dev/sdb2    - swap

KHÔNG REBOOT sau khi trình cài đặt hoàn tất!

4. Cài đặt bcache khi cài đặt mới

Sử dụng một chrootchúng tôi cài đặt bcache-toolstrên cài đặt mới. Thiết lập môi trường và kích hoạt độ phân giải DNS

sudo mount /dev/bcache0 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

Nhập vào chrootvà thực hiện cài đặt

sudo chroot /mnt
sudo apt-get update
sudo apt-get install bcache-tools

Trong quá trình cài đặt, bạn sẽ thấy thông báo initramfsđược tạo lại và cài đặt vào phân vùng ( chroot-ed) /boot.

5. Dọn dẹp

Dọn dẹp hệ thống tập tin và khởi động lại.

exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt
sudo reboot

2

Sau một số thử nghiệm và lỗi tôi đã tìm đến giải pháp sau đây để cài đặt sạch:

  • Phân vùng ổ cứng theo cách bạn muốn (giả sử /dev/sdb2là không gian bạn muốn cho /home).
  • # apt-get install bcache-tools
  • # make-bcache -B /dev/sdb2 -C /dev/sda2 (Điều này tạo ra /dev/bcache0, nhưng trình cài đặt UI chưa thể sử dụng nó.)
  • # mkfs.ext4 /dev/bcache0 (Điều này làm cho trình cài đặt thấy "phân vùng / dev / bcache0" trong "device / dev / bcache0" và cho phép bạn sử dụng nó làm "/ home" trong khi cài đặt.)
  • Chạy trình cài đặt như bình thường, đảm bảo chọn các tùy chọn phân vùng đĩa nâng cao.
  • Trình cài đặt tạo initrdhình ảnh với bcachemô-đun hạt nhân được bao gồm và được tải do chúng tôi đã cài đặt bcache-toolstrước đó, vì vậy sau khi khởi động lại, nó chỉ hoạt động.
  • Sau khi khởi động hệ thống đã cài đặt, hãy cài đặt bcache-toolslại một lần nữa để các bản cập nhật tiếp theo không làm tê liệt quá trình khởi động bằng cách bỏ qua mô-đun hạt nhân bcache cần thiết khỏi hình ảnh initrd.

Cuối cùng tôi đã không có bcache vì tôi cần bộ đệm cho cả Ubuntu và Windows trong cấu hình khởi động kép cộng với tôi cũng truy cập ổ đĩa của mình từ một hệ thống khác. Vì vậy, tôi quyết định bộ đệm chỉ là không phù hợp cho PC này. Cảm ơn sự giúp đỡ của bạn nào.
Laszlo Almasi

0

Tôi cũng đã thử và thất bại nhiều lần cho đến khi tôi tìm thấy các hướng dẫn sau: http://www.wdong.org/wordpress/blog/2014/05/28/installing-ubfox-14-04-to-bcache/

Chúng nghe có vẻ hơi rậm lông nhưng đây có lẽ là cách khả thi duy nhất để khiến bcache hoạt động, ít nhất là cho đến khi bcache trở thành một phần của trình cài đặt Ubuntu.

Thiếu sót tò mò duy nhất trong các hướng dẫn là giai đoạn cuối cùng.

Sau khi bạn đã hoàn thành mọi thứ, hãy tìm UUID của bộ đệm được đặt trong / sys / fs / bcache và làm điều này:

echo <UUID> > /sys/block/bcache0/bcache/attach

Nếu bạn muốn bật chế độ ghi lại (mà tôi thực sự khuyên dùng):

echo writeback > /sys/block/bcache0/bcache/cache_mode

trích dẫn nhiều tập tin khác nhau /sys/block/bcache0/bcache/sẽ cho bạn biết tất cả về cách bộ đệm đang chạy. Tôi đã thiết lập hệ thống của mình bằng các hướng dẫn này vào ngày 26 tháng 7 năm nay và mọi thứ đều hoạt động hoàn hảo kể từ đó. cat /sys/block/bcache0/bcache/stats_total/cache_hit_ratiocho thấy 88 phần trăm rất thỏa đáng và chủ quan, máy cho cảm giác như thiết lập toàn bộ SSD.

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.