Phân vùng hệ thống tệp UNIX tối ưu + Chiến lược thiết lập


16

Khi phân vùng (các) đĩa hệ thống mới cho UNIX, chiến lược ưa thích của bạn cho cả máy tính để bàn và / hoặc máy chủ là gì?

Vui lòng bao gồm bố cục phân vùng đĩa, (các) định dạng hệ thống tệp và các tùy chọn, điểm gắn kết, cấp độ RAID, nhóm và khối LVM, mã hóa và bất kỳ cài đặt nào khác có liên quan.


Câu hỏi có vẻ giống như một bản sao của câu hỏi này ( serverfault.com/questions/1145/ mẹo ).
Zoredache

cái này cho máy trạm, máy chủ thử nghiệm hay máy chủ trực tuyến hoàn toàn trưởng thành?
djangofan

Câu trả lời:


9

Tôi là một fan hâm mộ của LVM cho loại vấn đề này. Bạn chỉ cần một số dung lượng cho / boot (tôi sử dụng khoảng 100MB). Kết hợp với các hệ thống tập tin có thể tự động phát triển và thu hẹp (hoặc ít nhất là phát triển), bạn không bao giờ phải suy nghĩ về các phân vùng nhỏ nữa.

Trên máy tính để bàn của tôi, tôi sử dụng LVM với XFS làm hệ thống tệp cho tất cả các phân vùng. Tôi tạo ra càng nhỏ càng tốt và để chúng phát triển khi tôi cần nhiều không gian hơn.


7

Nếu là Linux, hãy khởi động / khởi động riêng.

Đối với các biến thể Unix khác, thông thường, tôi có các phân vùng được đề xuất cho / và / var, dữ liệu thường được gắn tại / u001, / u002, v.v.

Trước đây, cần phải phân vùng mạnh vì không gian đĩa bị giới hạn và bạn không muốn một phân vùng được lấp đầy để hạ toàn bộ hệ thống. Với dung lượng lưu trữ tăng lên đáng kể hiện nay cũng như các tùy chọn thay đổi kích thước và ảo hóa dồi dào có sẵn, nhu cầu về nhiều phân vùng IMO đã giảm. Điều đó cùng với thực tế là thật rắc rối khi di chuyển mọi thứ xung quanh khi bạn có nhiều phân vùng có nghĩa là nếu bạn có thể thoát khỏi với ít hơn, hãy làm điều đó.

Việc hoán đổi dưới dạng 2xRAM sẽ không có ý nghĩa khi bạn có 32GB bộ nhớ. Vì vậy, hãy nhớ rằng, "các quy tắc" thực sự là hướng dẫn và một số đơn giản là không có ý nghĩa đối với phần cứng mới hơn hiện có.


2
+1 về việc đề cập đến nhu cầu phân vùng đi xuống gần đây, ngoài ra nếu bạn cần thêm không gian trong / nhà, bạn luôn có thể lắp ổ cứng mới.
Spoike

1
+1 - Tôi đồng ý với việc giảm nhu cầu về các trò chơi phân vùng điên rồ trên hầu hết các hệ thống. Nếu bạn biết rằng bạn cần / var để có trên một đĩa nhanh vì một số ứng dụng, thì hãy là nó. Thường xuyên hơn không, khi tôi chạy vào các trò chơi phân vùng điên rồ trong các hệ thống sản xuất, đó là một phần cứng RAID-1 duy nhất được khắc thành một loạt các phân vùng nhỏ, tất cả đang chờ để lấp đầy và cần phải thay đổi kích thước (để làm việc cho các quản trị viên, rõ ràng). Nếu bạn biết bạn có một ứng dụng cho một số loại lược đồ phân vùng phức tạp, hãy dùng nó. Nếu bạn không, bạn không.
Evan Anderson

5

Kế hoạch cấu trúc phân vùng tốt phụ thuộc rất nhiều vào việc thực sự biết bạn sẽ sử dụng hệ thống như thế nào. Bất kỳ lời khuyên ngẫu nhiên nào không tính đến những gì hệ thống đang làm sẽ không đặc biệt hữu ích.

Tất cả các hệ thống tệp ưa thích đôi khi có thể hữu ích, nhưng nếu bạn muốn có một hệ thống ổn định, tốt hơn là chỉ nên gắn bó với hệ thống tệp 'tiêu chuẩn' (ví dụ ext3) trừ khi bạn có lý do rất chính đáng để sử dụng thứ khác.

RAID rất tốt, tôi luôn chạy RAID1 trên tất cả các máy tính cá nhân của mình vì tôi đã có quá nhiều ổ cứng bị lỗi.

Mã hóa với thứ gì đó như dm-crypt là tốt nếu hệ thống của bạn là thiết bị di động, có dữ liệu giá trị cao hoặc chỉ là hoang tưởng.

Khi bạn đang lập kế hoạch cho các phân vùng của mình, sẽ rất hữu ích để hiểu rõ về những thứ như Tiêu chuẩn phân cấp hệ thống tập tin và nếu / cách bạn chọn unix khác với tiêu chuẩn.

Sử dụng LVM có thể giúp thay đổi suy nghĩ của bạn trong tương lai dễ dàng hơn và điều chỉnh các phân vùng của bạn mà không cần phải khởi động lại. Và khả năng tạo ảnh chụp nhanh của nó có thể rất dễ dàng để tạo các bản sao lưu tốt. Sử dụng LVM và không phân bổ ngay lập tức tất cả không gian của bạn.


5

Có hai lý do rất tốt để phân vùng bên cạnh loại FS:

  1. Ngăn chặn bội chi từ một ứng dụng ảnh hưởng đến chức năng của hệ thống. Nếu ứng dụng của bạn lấp đầy /usr, thì thật hữu ích khi còn một khoảng trống /varđể cho phép hệ thống tiếp tục và ghi nhật ký.

    Jauder đã nói ở trên rằng điều này bị phủ nhận bởi kích thước của đĩa cứng ngày nay - tôi không nghĩ điều này hoàn toàn đúng. Ổ đĩa của chúng tôi có thể lớn hơn nhưng dữ liệu chúng tôi chuyển qua đang tăng lên. Không cần phải tự mãn.

  2. Tùy chọn gắn kết. Bạn có thể xác định kỹ hơn những quyền mà mỗi phân vùng nên áp dụng. Ví dụ, thực tế tốt là không cho phép các tệp được thực thi, đặc biệt là của suid, /tmpvì đây là một vectơ tấn công phổ biến cho các máy phục vụ các ứng dụng web. Trừ khi bạn đang chạy các tù, bạn không nên thấy các nút thiết bị ở bất cứ đâu nhưng /dev. Và như thế.

ví dụ.

/ noatime  
/tmp noatime,nodev,nosuid,noexec  
/var noatime,nodev,nosuid  
/usr noatime,nodev  
/home noatime,nodev,nosuid  

4

Phân vùng đĩa vật lý
Bắt đầu với tối thiểu 2 đĩa:

# 1 100MB, ID = 83 (Linux), Cờ khởi động ON
# 2 Còn lại, ID = FD (Linux Raid Auto)

Phân vùng 100MB dành cho âm lượng / boot. Tôi để cái này trên tất cả các ổ đĩa của tôi (thậm chí không khởi động) để cho phép linh hoạt để bất kỳ ổ đĩa nào sau đó có thể được kích hoạt để khởi động. NẾU các đĩa không khớp về kích thước hoặc bạn có số lẻ (500GB, 250GBx2), sau đó chia các phân vùng của ổ 500 GB để khớp với các đĩa nhỏ hơn.

RAID
Sử dụng phân vùng 100MB trên sdasdbtạo âm lượng RAID1 (nhân bản) cho /boot. Điều này trở thành md0.

md0 / khởi động 100MB Ext2

Đừng bận tâm sử dụng một FS khởi động / khởi động kỳ lạ, nó không đáng.

Không gian còn lại có thể được thiết lập theo các phương pháp khác nhau. Tôi chọn RAID10 (gương / sọc) bằng cách sử dụng các khối 64K và "2 bản sao xa" cho tốc độ. Điều này cung cấp cho bạn rất nhiều tính linh hoạt để tăng dần các ổ đĩa xuống dòng. Các tùy chọn khác là thực hiện RAID5 / 6. Tuy nhiên, không gian có thể sử dụng sẽ được giới hạn ở phân vùng nhỏ nhất và KHÔNG sử dụng các phân vùng từ cùng một thiết bị. Đặt tên cho mảng RAID mới md1, md2và vân vân.

LVM
Lấy tất cả các mảng RAID ngoại trừ md0và đặt chúng vào một nhóm âm lượng LVM duy nhất có tên lvm_vg0. Nếu bạn có khối lượng RAID5 và RAID10, tốt nhất không nên kết hợp chúng, nhưng tôi đoán nó sẽ không gây hại.

Phân vùng VG0 cho các hệ thống gắn kết còn lại. Hãy nhớ rằng tương đối dễ dàng để thêm không gian nếu cần, vì vậy những con số này có thể hơi bảo thủ.

lvm_vg0-root / 8GB Ext3 / ReiserFS (tệp phân phối lõi)
lvm_vg0-home / home 20 + GB Ext3 / ReiserFS (dữ liệu người dùng, tài liệu)
lvm_vg0-data / data 60 + GB XFS (phương tiện, tệp lớn, vm)

Hệ thống tệp XFS không thể được thu hẹp, vì vậy hãy ghi nhớ điều đó. Ngoài ra, thu hẹp một khối lượng root trực tuyến có thể không được hỗ trợ.

Nâng cấp Nếu bạn muốn trao đổi đĩa cho kích thước lớn hơn, bạn có một vài tùy chọn. Đơn giản nhất là thêm các ổ đĩa theo cặp hoặc nhiều hơn và thêm các mảng RAID mới vào LVM VG hiện tại.

Một tùy chọn khác là thêm một ổ đĩa duy nhất> = vào tổng dung lượng hiện tại. Ví dụ: nếu bạn có hai thiết bị 100 GB trong RAID10, bạn có thể thêm một thiết bị 200 GB mới và phản chiếu nó bằng hai thiết bị cũ. Điều này dễ bị lỗi hơn, nhưng sẽ làm việc.

Nếu cần, md#các thiết bị có thể được gỡ bỏ khỏi LVM VG mà không mất dữ liệu. Điều này có thể được thực hiện nếu có đủ không gian LVM miễn phí để chuyển tất cả các khối LVM đã sử dụng từ md#thiết bị này sang thiết bị khác. LVM chỉ có thể sử dụng không gian chưa được gán cho LV, vì vậy một hệ thống tệp trống không được tính là không gian "miễn phí".


1
Tôi không bị thuyết phục bởi nỗi sợ hệ thống tập tin kỳ lạ trên / boot. ext3 và XFS không còn kỳ lạ vào năm 2009. Nó từng là mối lo ngại khi liveCD không được đóng gói với trình điều khiển cho chúng, nhưng gần như tất cả là những ngày này.
Dan Carley

@Casey, bạn có thể thu nhỏ âm lượng Ext3 "trực tiếp", miễn là bạn có đủ không gian trống để di chuyển vào. Vâng, đây là một trải nghiệm cắn móng tay, nhưng tôi đã thực hiện nó, và nó hoạt động như quảng cáo. Chỉ cần RẤT cẩn thận với các thông số.
Avery Payne

2

Tôi chỉ chạy máy trạm Linux. Tôi sử dụng hệ thống tệp ext3 và kích thước phần nào phụ thuộc vào kích thước của các đĩa, hào phóng hơn với các phân vùng trên các đĩa lớn hơn. Đây là khoảng theo thứ tự chúng xuất hiện trong bảng phân vùng:

  • / khởi động - 100 MB
  • trao đổi không gian - 2xRAM
  • / usr - 10-20 GB
  • / - 5-10 GB
  • / var - 1-2 GB
  • / tmp - 1-2 GB
  • / usr / cục bộ - 10-20 GB
  • / nhà - mọi thứ khác.

Trên các máy trạm của vợ tôi tại trường đại học có hai ổ đĩa 750 GB, chúng tôi đã tạo ra, ngoài ra còn có hàng tá phân vùng ~ 100 GB trên các ổ đĩa khác nhau được gắn trong / data / N trong đó N là số từ 1 đến 12 Cô ấy sử dụng chúng để giữ dữ liệu cho các dự án nghiên cứu khác nhau của mình.


Cá nhân tôi không thấy lợi thế của việc có / var, / usr tách biệt với một phân vùng khác. Mặc dù / usr / local có thể là một ý tưởng tốt nếu bạn có phần mềm được cài đặt tùy chỉnh (= không được cài đặt qua quản lý gói), hai cái được đề cập là imho khá vô dụng. Ngoài ra 2xRAM như trao đổi là không cần thiết. Nếu hệ thống của bạn bắt đầu trao đổi, mọi thứ sẽ bị chậm, vì vậy bạn muốn tránh điều này ngay từ đầu. Cá nhân tôi chỉ có một phân vùng trao đổi với Ramsize + X vì đôi khi tôi sử dụng đình chỉ vào đĩa.
Martin

2
@Martin, Trên hộp linux hoạt động như một bộ đệm mực bạn muốn thư mục bộ đệm của mình và đăng nhập thư mục trên một đĩa nhanh và bạn thường không cần đĩa đó đáng tin cậy. Người ta có thể đặt (/ var) bộ đệm của bạn lên RAID0 (sọc) và để mọi thứ khác trong ổ đĩa chậm hơn.
Zoredache

@Martin - Bạn nói đúng, tách / usr có lẽ là không cần thiết và tôi cũng không luôn làm điều đó nữa. Hoán đổi = 2xRAM là thói quen cũ còn sót lại từ thời tôi đã cấu hình các hệ thống chỉ có RAM 256 MB trở xuống.
dagorym

1
thực tế, chia / usr và / var cho phép bạn kích hoạt ghi nhật ký trên một chứ không phải khác.
Scott

1
Và việc đặt / var trên một phân vùng riêng biệt đảm bảo chỉ / var có thể lấp đầy các tệp nhật ký, điều này có thể khiến hệ thống của bạn phải quỳ xuống.
wzzrd

1

sử dụng noatime trên tất cả các đĩa (trừ khi bạn không có lý do) Tôi gắn kết / tmp trong tmpfs mặc dù điều này có thể không tốt trên máy chủ, tôi chắc chắn rằng đó là một phân vùng riêng biệt và gắn kết nó . Tôi luôn sử dụng ext2 cho / boot vì vậy tôi không phải lo lắng về việc thay đổi công cụ fs làm hỏng khả năng khởi động w / grub của tôi. ext4 trên mọi thứ khác, tôi sử dụng tạp chí = dữ liệu trên / nhà có thể làm mọi thứ chậm lại một chút (vì nó không có dealloc) nhưng tôi chưa bao giờ mất dữ liệu với tạp chí = dữ liệu và là một chút mới nhất / lớn nhất Điếm, đôi khi hệ thống của tôi bị khóa và tôi phải thiết lập lại nó (vì tôi đã thử một cái gì đó như km và tìm thấy một lỗi).


1
Đừng quên sử dụng 'gật đầu', nếu không, bạn sẽ sử dụng vfs_cache_pressure của mình với hàng tấn nút (cộng với ghi thực tế vào đĩa!).
Gazzonyx

0

Wow, câu hỏi hay. Đang lướt tìm câu trả lời hoàn hảo cho điều này cho yonks.

Cá nhân tôi có 50Mb / boot ~ 8GB / và phần còn lại đi về phía / nhà Thats cách xa hoàn hảo. Tôi cần điều tra các hệ thống tệp thay thế, hiện tại tôi sử dụng ext3 nhưng tôi đã nghe thấy những điều tuyệt vời của các hệ thống tệp khác, ví dụ XFS.

Tôi cũng thường tạo một bộ chứa tệp cho / tmp hoàn toàn để tôi có thể linh hoạt hơn với nó trong tương lai.

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.