LVM có cần bảng phân vùng không?


18

Dường như tôi có thể thực hiện thành công một PVCreate trên đầu một thiết bị khối thô, mà không bao giờ thực hiện bước tạo bảng phân vùng. Sau đó tôi có thể tạo một nhóm âm lượng, âm lượng hợp lý và cuối cùng là một hệ thống tập tin, gắn kết nó và kiểm tra thông qua dd.

Nó xuất hiện để làm việc, nhưng tôi cần kiểm tra độ tỉnh táo. Đây có phải là một ý tưởng tồi?

Làm cách nào để tạo bảng phân vùng GPT hoặc MBR trên đầu thiết bị khối thô?

Làm cách nào để sử dụng parted để hiển thị loại bảng phân vùng đang sử dụng? Tôi đã thử làm:

chia tay, chọn / dev / sdb, in và tôi nhận được:

Lỗi: / dev / sdb: nhãn đĩa không được nhận dạng

Tuy nhiên, ổ đĩa hiện đang được sử dụng và tôi có thể đọc và ghi vào nó. Đó có phải là đầu ra dự kiến ​​khi thực hiện LVM trên đầu thiết bị khối thô không có bảng phân vùng không? Có suy nghĩ gì không?

Cảm ơn!

Câu trả lời:


29

Ngay cả khi bản thân LVM không quan tâm đến việc có một phân vùng thực sự, một lý do để tạo ra nó là để thông báo cho các chương trình phân vùng rằng có "cái gì đó ở đó". Một kịch bản ác mộng là một sysadmin mới chẩn đoán sự cố khởi động trên máy chủ, kích hoạt chương trình phân vùng, nhìn thấy các đĩa không liên kết và kết luận rằng ổ đĩa bị hỏng.

Tôi thấy không có nhược điểm để tạo phân vùng LVM. Phải không


1
+1 cho kịch bản. Tất cả quá có khả năng trong cuộc sống thực.
Hennes

1
+1 vì đã sâu sắc.
Alexander Janssen

Cảm ơn vi đa trả lơi! Tôi chắc chắn thấy không có nhược điểm để có một bảng phân vùng. Tôi chỉ muốn xác nhận với một kiểm tra vệ sinh. Vậy thứ tự đúng của các lớp là: khối thiết bị, bảng phân vùng, nhóm âm lượng, khối lượng logic, hệ thống tập tin, điều đó có đúng không?
quần mèo

8
Nhược điểm: Nếu bạn mở rộng thiết bị khối và không sử dụng bảng phân vùng, bạn có thể ngay lập tức mở rộng âm lượng vật lý với pvresize. Nếu bạn đã sử dụng bảng phân vùng, trước tiên bạn phải xóa phân vùng và tạo lại nó với kích thước lớn hơn.
tọa

1
Luyện tập thận trọng là tốt, nhưng ném lại câu hỏi không tạo ra câu trả lời tuyệt vời. Không cần phân vùng này, và có những nhược điểm khi có phân vùng.
bryn

16

Mặc dù bạn chỉ có thể tạo một pv từ thiết bị khối thô, nhưng tôi thường cố gắng tránh nó vì nó có thể gây nhầm lẫn về việc thiết bị khối đang được sử dụng để làm gì. Nó cũng có thể phá vỡ một số thói quen tự động khám phá mà LVM có thể sử dụng nếu thiếu tệp cấu hình của nó.

Dưới đây là một ví dụ về việc sử dụng parted để tạo GPT với 1 phân vùng là toàn bộ ổ đĩa và đặt cờ phân vùng thành lvm. Mkpart yêu cầu bạn chỉ định một hệ thống tệp nhưng nó không tạo ra hệ thống tệp. Có vẻ là một lỗi lâu dài trong chia tay. Ngoài ra, độ lệch bắt đầu là 1M là để đảm bảo rằng bạn có được căn chỉnh phù hợp.

parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on

3
"Mkpart yêu cầu bạn chỉ định một hệ thống tệp nhưng nó không tạo ra hệ thống tệp." Cảm ơn bạn đã đề cập đến điều này, đó là LỚN trong việc thiết lập sự tỉnh táo! :)
quần mèo

1
Không còn đúng. mkpart primary 1M 100%hoạt động và để trống trường hệ thống tệp.
stark

1
@ 3dinfluence lvm hiện tự động căn chỉnh, sau nhiều năm tôi không thấy trường hợp sử dụng thực sự để sử dụng phân vùng cho đĩa dữ liệu được định nghĩa cho lvm
c4f4t0r

5

Nếu bạn tạo một PV trực tiếp trên một thiết bị lưu trữ ảo bên trong một khách KVM, thì bạn sẽ nhận thấy rằng các khối logic từ khách được hiển thị trên bộ ảo hóa. Điều này có thể khiến mọi thứ trở nên khá khó hiểu nếu bạn sử dụng cùng tên nhóm âm lượng và âm lượng hợp lý trên nhiều khách. Bạn cũng có thể nhận được một số cảnh báo trên trình ảo hóa nói rằng nó không thể tìm thấy thiết bị.

Ví dụ, tôi đã tạo lại vấn đề này trên trình ảo hóa thử nghiệm của mình:

[root@testhost ~]# vgs
  Couldn't find device with uuid dCaylp-1kvL-syiF-A2bW-NTPP-Ehlb-gtfxZz.
  VG          #PV #LV #SN Attr   VSize   VFree  
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_main       2   2   0 wz-pn-  19.25g 768.00m
  vg_testhost   1   8   0 wz--n- 237.98g 120.15g

Tại đây, bạn có thể thấy 2 nhóm âm lượng có cùng tên, cả hai từ những vị khách không thực sự xuất hiện trên máy ảo hóa.

Vì lý do này, tôi khuyên bạn nên sử dụng parted hoặc fdisk để tạo phân vùng KVM trên đó trước tiên (như được hiển thị trong câu trả lời trước của 3dinfluence), trước khi tạo PV và thêm nó vào nhóm âm lượng. Bằng cách đó, khối lượng logic của khách vẫn bị ẩn khỏi bộ ảo hóa.


1
Điều này có thể tránh được nếu bạn sử dụng filtertrong /etc/lvm/lvm.conf để lọc tất cả các thiết bị khối được sử dụng trực tiếp bởi máy ảo của bạn.
Mircea Vutcovici

Các đĩa luôn luôn có mặt trên máy chủ - các phân vùng không được ánh xạ. kpartx -asẽ làm điều đó cho bạn. Trình ảo hóa có quyền truy cập vào tất cả các đĩa khách, nhưng các nhóm âm lượng không được kích hoạt.
bryn

4

Một nhược điểm là không thể thêm không gian nóng vào PV bên trong bảng phân vùng. Đây không phải là vấn đề nếu bạn sử dụng toàn bộ thiết bị khối cho PV.


Kể từ năm 2018, bạn có thể thêm không gian trên PV bên trong bảng phân vùng. Tôi đã tạo tập lệnh này có thể tạo các lệnh cần thiết để thực hiện điều đó: github.com/mircea-vutcovici/scripts/blob/master/vol_resize.sh
Mircea Vutcovici


3

Ngay cả khi trước đây tôi đang sử dụng nhãn đĩa MS-DOS hoặc nhãn đĩa GPT cho PV, bây giờ tôi thích sử dụng LVM trực tiếp trên thiết bị khối chính. Không có lý do để sử dụng 2 đĩa, trừ khi bạn có trường hợp sử dụng rất cụ thể (như đĩa có phân vùng khởi động và phân vùng khởi động).

Ưu điểm của việc có LVM trực tiếp là:

  • đơn giản - bạn không cần sử dụng 2 bộ công cụ
  • tính linh hoạt - bạn có thể sử dụng pvmove để di chuyển dữ liệu từ ổ đĩa này sang ổ đĩa khác mà không có thời gian chết, bạn có thể sử dụng ảnh chụp nhanh và cung cấp mỏng
  • bạn không cần chạy partprobe hoặc kpartx để nói với kernel rằng bạn đã tạo / thay đổi kích thước / xóa một ổ đĩa. Và partprobe / kpartx có thể thất bại nếu các phân vùng đang được sử dụng và bạn có thể cần phải khởi động lại
  • có thể hiệu suất tốt hơn, so với việc sử dụng LVM trên đầu đĩa MS-DOS hoặc GPT

2
Không chắc chắn tại sao mọi người muốn phân vùng đó - nhưng trả lời ở đây đi theo hướng "tại sao không". Câu trả lời này tốt hơn - bạn không cần phân vùng nếu bạn sẽ sử dụng toàn bộ đĩa. Có một phân vùng cũng có thể làm cho việc thay đổi kích thước / mở rộng đĩa trở nên đau đớn hơn rất nhiều.
bryn

Nhiều quản trị viên hệ thống unix mang logic này lên linux, tôi nhớ trình quản lý âm lượng veritas hoạt động với công khai và riêng tư, trong Linux, điều này không có ý nghĩa gì
c4f4t0r
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.