Câu hỏi Cài đặt 14.04 Máy chủ để tồn tại subtrolume btrfs


Tôi có một khối lượng btrfs raid1 hiện có bao gồm 4 đĩa. Điều này đã chứa một vài subvolumes trong đó tôi đang tìm cách để cài đặt Ubuntu để một trong. Tôi đã làm như sau:

mount -o subvolid=0 /dev/sda1 /btrfsroot
btrfs subvol create rootsfs /btrfsroot
btrfs subvol set-default 376 /btrfsroot
mount /dev/sda1 /rootfs   (to ensure I've set the correct id)

Trình cài đặt bị treo sau khi trình phân vùng mặc dù (nói rằng nó không thể xóa các tệp cần thiết từ /target/). Tôi đã đặt nó để sử dụng phân vùng /dev/sda1 như btrfs trên / mà không cần định dạng.

Tôi đã thực hiện một chút công bằng của nghiên cứu nhưng ở cái nhìn đầu tiên thật khó để nói những gì thực hành tốt nhất là liên quan đến việc cài đặt Ubuntu vào một hiện tại btrfs subvolume. Tôi cũng đã thử:

  • Không phân vùng /dev/sd[a-d] và thêm vào btrfs âm lượng. Khi tôi cài đặt theo cách này nó là loại công trình (tôi phải tự gắn kết /dev/sda đến /target/) nhưng sau đó tôi bị kẹt ở một grub gỡ lỗi shell khi khởi động lại
  • Phân vùng giảm 100 meg (như /dev/sda1) mỗi đĩa và tạo một mdadm mảng để sử dụng như /boot/ (với btrfs phân vùng như /dev/s[a-d]2). Một lần nữa trình cài đặt bị treo sau khi phân vùng nói rằng nó không thể xóa các tệp cần thiết từ /target/ mặc dù không có gì ở đó.

Tôi đã đọc thông tin trên một bài viết trên Ubuntu wiki và tôi đoán tôi đang chạy vào các vấn đề mà họ đề cập ở đó về cách bố trí mặc định phá vỡ bố cục của Ubuntu. Mặc dù tôi giải thích rằng đó chỉ là một vấn đề sau khi cài đặt - tôi thậm chí không thể có được điều đó đến nay.

Thực hành tốt nhất ở đây là gì? Lý do tôi muốn cài đặt vào một subvolume riêng biệt là để giữ cho Ubuntu của tôi cài đặt riêng biệt với mọi thứ khác trên ổ đĩa. Có an toàn để thực hiện cài đặt vào thư mục gốc-subvolume mà không có nguy cơ nuking dữ liệu của tôi?


2
2018-04-29 15:56


gốc


nếu bạn muốn cài đặt Ubuntu trên phân vùng btrfs hiện có, hãy đảm bảo rằng không có @ và @home subvolumes trên đó. Những tập tin đó sẽ được tạo ra bởi trình cài đặt tự động, và bạn có thể thay đổi tên của chúng sau này (nhớ cập nhật grub và / etc / fstab!). Tôi chưa bao giờ cài đặt ubuntu trên btrfs RAID mặc dù. - Adam Ryczkowski
Tôi sẽ cung cấp cho một đi - nó sẽ làm việc nếu tôi sử dụng toàn bộ gốc của ổ đĩa, hoặc tôi cần một ext riêng biệt [34] / boot / phân vùng? - JamNCheez
Tôi chưa bao giờ thử nghiệm nó không có phân vùng / boot riêng biệt. - Adam Ryczkowski
@AdamRyczkowski Xin vui lòng viết rằng vào một câu trả lời. - ignis


Các câu trả lời:


từ chối

Tôi chưa từng sử dụng btrfs RAID. Giải pháp này chỉ được thử nghiệm trên phân vùng gốc btrfs


  1. Hãy chắc chắn, không có /@ và /@home subvolumes trên ứng cử viên cho root.

  2. Khởi chạy trình cài đặt Ubuntu và chọn thứ gì khác khi nó hỏi bạn về phân vùng đĩa.

  3. Đánh dấu phân vùng btrfs của bạn là hệ thống tệp gốc, nhưng đừng để trình cài đặt định dạng lại.

  4. Sắp xếp tất cả các phân vùng khác theo ý muốn. Tôi luôn chọn sử dụng bên ngoài /boot phân vùng trên gpt các hệ thống, vì vậy sau này tôi có thể di chuyển sang một cái gì đó nâng cao hơn (ví dụ: bcache) hay bất cứ cái gì. (Trên gpt bạn có thể có bao nhiêu phân vùng tùy thích, vì vậy tôi thấy không có nhược điểm thực sự khi sử dụng riêng /boot.)

  5. Hoàn tất cài đặt.

Trình cài đặt sẽ làm cho @ và @home subvolumes cho bạn. Sau đó bạn có thể đổi tên chúng thành một thứ khác - chỉ cần chắc chắn bạn cũng cập nhật tên mới trên cả hai /etc/fstab và /boot/grub/grub.cfg.

Thử nghiệm trên Ubuntu 14.04, Mint 16, Mint 15, Ubuntu 13.10 và Ubuntu 13.04.


2
2018-05-03 07:32



Tôi đã thử điều này trong một máy ảo thử nghiệm và nó làm việc ok với RAID-1. Tôi hiện đang trong quá trình thực hiện nó cho thực tế, nhưng btrfs-convert trên mảng 5.6tb của tôi đang dùng thời gian của nó. 4 ngày cho đến nay! - JamNCheez
Chỉnh sửa grub.cfg không được khuyến khích. Nó chứa cảnh báo này: KHÔNG CHỈNH SỬA TẬP TIN NÀY Nó được tự động tạo bởi grub-mkconfig sử dụng các mẫu từ /etc/grub.d và các thiết lập từ / etc / default / grub. Tôi đoán vì cập nhật hạt nhân tiếp theo, ví dụ, sẽ ghi đè lên những thay đổi này. Có cách nào tốt hơn để đổi tên một subvolume? - philcolbourn
@philcolbourn Tôi biết điều đó. Nhưng bằng chứng thực nghiệm nói rằng, một phần của grub.cfg mà gọi kernel và chỉ thị nó về tên của btrfs gốc subvolume kỳ diệu tồn tại  update-initramfs. - Adam Ryczkowski
@ Adam, vâng tôi cũng phát hiện ra điều đó - do đó tôi chỉnh sửa. - philcolbourn