Bộ phận CNTT nên chọn phân phối Linux chuẩn như thế nào?


74

Có rất nhiều cảm giác của cộng đồng về những gì bản phân phối Linux phù hợp với môi trường máy chủ sản xuất và tuy nhiên, không có nhiều cảm giác này có vẻ dựa trên tôn giáo và hiếm khi được đưa ra bằng chứng hỗ trợ.

Giả sử rằng chúng tôi đã cố gắng chọn một bản phân phối Linux để chuẩn hóa (vì chúng tôi quan tâm đến việc giữ cho môi trường của chúng tôi đồng nhất nhất có thể), tiêu chí nào là quan trọng và làm thế nào để bạn đưa ra quyết định về việc các bản phân phối khác nhau đáp ứng các tiêu chí đó như thế nào?


4
Tôi muốn những người khác giải thích cách họ đi về việc chọn một bản phân phối Linux duy nhất cho tổ chức của họ cho tôi. Tôi đang ở trong tình huống đó, và "kiến thức chung" sẽ bảo tôi chọn RHEL hoặc CentOS, nhưng, ngoài hỗ trợ thương mại, tôi chưa từng nghe nhiều tuyên bố thực tế về lý do tại sao một trong những điều đó tốt hơn một điều khác.
wfaulk

Câu trả lời:


59

Tôi hiện đang làm việc trong một môi trường đã sử dụng Linux hơn một thập kỷ. Mọi người trong văn phòng sử dụng các bản phân phối khác nhau trên máy tính để bàn cũng như các máy chủ. Như vậy, các lựa chọn phân phối có xu hướng xoay quanh một số thứ không theo thứ tự cụ thể:

  1. Lịch sử - Rõ ràng các hệ thống như RedHat và Debian đã xuất hiện từ lâu. Như vậy, câu ngạn ngữ "nếu nó không bị hỏng, đừng sửa nó" có thể được sử dụng cho những câu này. Nâng cấp trở nên dễ dàng hơn nếu phần mềm được hỗ trợ tốt trên một bản phân phối.
  2. Tính quen thuộc - Tương tự như Lịch sử, tuy nhiên tất cả chúng ta đều có sở thích của mình. Tôi đã cắt răng trên Debian và chuyển sang Ubuntu (một quyết định khó khăn vào thời điểm đó vì tôi có xu hướng cam kết với cộng đồng). Ngược lại, thật khó để nhớ cách thực hiện trên hàng tá các bản phát hành khác nhau (không kể đến các bản dựng đầu).
  3. Hỗ trợ - Tôi đã di chuyển sang Ubuntu chủ yếu vì tôi đánh giá cao những gì họ đang làm cho đến khi cung cấp hỗ trợ có trả tiền. Đó là một điểm bán hàng nếu khách hàng có mối quan tâm về việc vận hành một hệ thống lâu dài. Tương tự như cách tiếp cận của RedHat (nhưng địa ngục RPM đang diễn ra vào thời điểm đó). Chúng tôi cũng có một số máy chủ RedHat vì lý do này.
  4. Phụ thuộc - Một số phần mềm dễ sử dụng hơn trên một số bản phân phối đơn giản vì các gói phụ thuộc dễ lấy hơn hoặc có thể xây dựng được. Ví dụ về điều này sẽ là oVirt trên RedHat. Không có gói cho một số phần mềm trên một số distro. Và bạn có thể biên dịch nó, nhưng tại sao bạn lại có nếu gói đó ở ngay trên một bản phân phối khác?
  5. Độ chi tiết - Các bản phân phối như Gentoo cung cấp khả năng kiểm soát tốt hơn đối với phiên bản và độ chi tiết chuyển đổi phần mềm. Các phân phối khác đã "ghim" dưới nhiều hình thức khác nhau, nhưng điều đó vẫn không thể kiểm soát được hoặc đáng tin cậy.
  6. Ràng buộc - Mặc dù có thể biên dịch từ nguồn trên hầu hết các bản phát hành, một số bản phân phối tốt hơn bản đó so với các bản phân phối khác. Điều này có thể có ảnh hưởng, nếu dự án của bạn vá các thư viện hiện có cho chức năng mở rộng.
  7. Prettiness - Một số distro chỉ là đẹp hơn. Mọi người đam mê đều biết rằng nó chỉ là lông tơ (và có lẽ bạn có thể thoát khỏi việc làm nó như một ứng dụng web ngày nay) nhưng một số khách hàng rất ngạc nhiên bởi những thứ này, và tất cả chúng ta đều biết điều đó.
  8. Tính ổn định - Một số phiên bản phát hành phần mềm "ổn định" trái ngược với "thử nghiệm", "thử nghiệm", v.v. Điều này có thể có nghĩa là rất nhiều nếu bạn biết rằng phiên bản bạn đang xây dựng cuối cùng sẽ đạt được sự đồng thuận về tính ổn định. Bạn có thể phát triển dựa trên "thử nghiệm" khi biết rằng khi dự án của bạn kết thúc, nó sẽ đạt đến mức "ổn định" và rất tốt để dựa vào.
  9. Quản lý gói - Nếu bạn đang phát triển một thứ gì đó hàng ngày và sẽ phát hành tới 1000 máy trong một lần, thì bạn có thể muốn thứ gì đó giúp dễ dàng xây dựng, bảo trì và theo dõi các gói trên các hệ thống đó.
  10. Tính nhất quán - Đây là một đối số cho cùng một bản phân phối. Ít mắc lỗi hơn (và ít lỗi hơn trong bảo mật) khi mọi người có thể tập trung vào một bản phân phối trái ngược với một số bản phân phối.
  11. Lịch phát hành có thể dự đoán - Nếu bạn muốn chắc chắn rằng phần mềm của bạn vẫn được hỗ trợ, các bản nâng cấp theo kế hoạch cung cấp một loại ổn định nhất định.
  12. Bảo mật - Một số bản phân phối có các nhóm bảo mật tích cực có nhiệm vụ đáp ứng ngay các rủi ro bảo mật thực sự trong bất kỳ gói được phê duyệt nào.

Đó chỉ là một vài điều xuất hiện trong đầu tôi về lý do tại sao mỗi hệ thống được chọn. Tôi không thấy bất kỳ một ánh sáng hướng dẫn hoặc sở thích của một phân phối trên một phân phối khác trong quyết định này. Sự đa dạng và sự lựa chọn có thể là tuyệt vời và cung cấp cho bạn một số tùy chọn thực sự tốt để bắt đầu một dự án nhanh chóng, nhưng đó cũng là thòng lọng có thể treo bạn. Hãy chắc chắn rằng bạn nghĩ trước những gì bạn sẽ cần. Lập kế hoạch những gì nhu cầu của hệ thống cũng như khi hệ thống sẽ được nâng cấp hoặc nghỉ hưu. Đừng cho rằng bạn sẽ luôn là người duy trì nó.


Và Prettiness # 7 thực sự là một yếu tố cho những cài đặt sử dụng Linux trên Bàn làm việc cho cộng đồng người dùng nói chung.
Magellan

2
Tôi cũng sẽ thêm lịch phát hành dự đoán . Bạn không muốn bắt đầu dự án triển khai nhiều máy chủ chỉ để biết rằng phiên bản phân phối mới vào tuần tới sẽ ra mắt. Hoặc chạy cùng một bản phân phối cũ với các gói cũ trong nhiều năm (ho * rhel5 / centos5) mà không biết ngày nâng cấp. Ví dụ: Ubuntu phát hành phiên bản mới cứ sau 6 tháng và phiên bản LTS cứ sau 2 năm vào tháng Tư. Biết rằng giúp bạn lên lịch trình tốt hơn cho các dự án và tài nguyên của bạn.
Mxx

69

Tôi sẽ chia sẻ kinh nghiệm làm việc như một chuyên gia công nghệ trong một vài lĩnh vực khác nhau ...

(Chú ý: đây là câu chuyện về Red Hat và cách tôi lớn lên chuyên nghiệp với nó)

Tôi bắt đầu làm việc với Linux một cách chuyên nghiệp vào năm 2000-2002. Điều này là trong quá trình áp dụng rộng rãi Red Hat và Red Hat Professional Edition (6.x, 7.x, 8.0) . Chúng có sẵn để tải về miễn phí cũng như các bộ đóng gói. Chúng có thể dễ dàng được tìm thấy trong các cửa hàng bán lẻ máy tính.

Đối với tôi, điều này có lợi ích của việc thu hút người có sở thích và người dùng gia đình với cùng một sản phẩm bắt đầu xuất hiện trong doanh nghiệp. Công việc của tôi tại thời điểm này là chuyển các hệ thống máy chủ của khách hàng từ Unices thương mại (HP-UX, AIX và SCO) sang nền tảng Red Hat.

Tiết kiệm chi phí là đáng kể! Thay thế các máy chủ HP-2000 PA-RISC $ 100k bằng máy chủ Intel Compaq ProLiant $ 40k là một chiến thắng tuyệt đối về chi phí và hiệu suất.

Vậy, tại sao Mũ Đỏ?

Red Hat là người đầu tiên đến thị trường này, có được sự hỗ trợ kinh doanh, nhà cung cấp và phần cứng quan trọng. Thấy các nhà cung cấp ứng dụng lớn sử dụng Red Hat làm nền tảng mục tiêu đã ký kết thỏa thuận. Người dùng có sở thích như tôi đã có thể chuyển các kỹ năng được mài giũa tại nhà vào môi trường làm việc của chúng tôi một cách dễ dàng. Cộng đồng ngày càng phát triển. Các ngăn xếp Slashdot , FreshmeatLAMP cai trị! Đó là một thời gian tốt cho Linux.

Đến thời điểm này, tôi chịu trách nhiệm phát triển và đánh giá các bản phân phối Linux như một nền tảng cho một giải pháp phần mềm ERP độc quyền. Tôi mắc kẹt với Red Hat. Thường xuyên, tôi sẽ thử một bản phân phối khác ( Mandrake , SuSE , Debian , Gentoo ), nhưng sẽ gặp vấn đề với bao bì, hỗ trợ phần cứng (máy chủ hoặc thiết bị ngoại vi), cộng đồng (kích thước của) hoặc một số công cụ giải quyết khác.

Một ví dụ: Tôi đang sử dụng phần cứng Compaq / HP ProLiant được trang bị thẻ PCI-X mở rộng Digi serialphần mềm fax sản xuất Esker VS Ifax . Hai cái sau chỉ có hỗ trợ trình điều khiển cho các hệ điều hành Red Hat. Trong một số trường hợp, phần mềm chỉ được phân phối ở dạng nhị phân hoặc RPM, không cho phép sử dụng dễ dàng trên các biến thể Linux khác.

Các vấn đề quan trọng trong Thế giới Công nghệ Thông tin
Không ai muốn trở thành người đề xuất giải pháp hoặc dự án bị mất mà cuối cùng bị mồ côi, vì vậy bạn kiên định với các lựa chọn an toàn. Tôi đã quản lý một chồng công nghệ cần thiết để làm việc đáng tin cậy và có nhiều lớp hỗ trợ. Chọn một phân phối khác nhau tại thời điểm đó sẽ có. đã. thiếu trách nhiệm.


Tuần trăng mật Red Hat kết thúc với tôi vào năm 2003 với việc ngừng các phiên bản chuyên nghiệp của phần mềm. Red Hat Enterprise Linux là sự thay thế và đi kèm với khá nhiều hành lý ... Chi phí (mô hình dựa trên thuê bao đắt tiền), khả năng truy cập (thu hẹp cơ sở người dùng và cộng đồng) và sự nhầm lẫn chung về tương lai ...

Tôi bắt đầu tìm kiếm các lựa chọn thay thế, đánh giá lại Gentoo, Debian và SuSE. Tôi không thể nhận được sự hỗ trợ phù hợp trên tất cả các thành phần của ngăn xếp công nghệ của chúng tôi. Tôi đã buộc phải gắn bó với hệ sinh thái Red Hat ... Do sự thay đổi chi phí hoang dã liên quan đến Red Hat Enterprise Linux, cuối cùng tôi đã chạy một Red Hat 8.0 được sửa đổi cao trong nhiều năm qua. Mãi cho đến khi các bản sao của RHEL trưởng thành ( Whitebox Linux , và sau đó, CentOS ), tôi đã chuẩn bị một bước đi thực sự so với tiêu chuẩn của mình.

Ưu điểm chính của các dẫn xuất Red Hat đã và đang nhị phân tương thích với các phiên bản RHEL thanh toán. Thậm chí có thể thực hiện chuyển đổi tại chỗ giữa RHEL và CentOS và ngược lại. Tôi tiếp tục làm việc với các hệ thống giống như RHEL cho đến khi tôi thực hiện bước chuyển tiếp sự nghiệp ...


Sau đó tôi thấy mình trong ngành giao dịch tài chính tần số cao , nơi tôi chịu trách nhiệm về kỹ thuật R & D và Linux cho các hệ thống giao dịch tự động quan trọng. Sự nhấn mạnh trong thế giới này là tốc độ , bằng phương pháp kiểm tra và điều chỉnh cẩn thận. Một lần nữa, hỗ trợ phần cứng là chìa khóa. Tôi muốn có card mạng cụ thể , phần cứng chuyên dụng, thư viện phần cứng hoặc ứng dụng máy chủ chỉ được chứng nhận cho các hệ thống giống như RHEL hoặc RHEL. Ngay cả trong trường hợp mọi thứ có thể được biên dịch cho các biến thể Linux khác, yếu tố cộng đồng vẫn phát sinh. Khi tôi đang ở thời điểm mà tôi cần nghiên cứu một vấn đề, thường thì đó là một vấn đề có thể bắt nguồn từ ghi chú hoặc nhận xét trong các báo cáo của Red Hat Bugzilla, hoặc đôi khi, tôi chỉ cần gửi một bản vá hoặc yêu cầu cho bản phát hành tiếp theo .

Khi tôi bắt đầu nghiên cứu về mạng có độ trễ thấp và điều chỉnh kernel, tôi bắt đầu phân tích các hạt nhân RHEL và hạt nhân RHEL MRG Realtime . Tôi nhận thấy có bao nhiêu công việc khi vào các bản phát hành ... hơn 200 bản vá cho hạt nhân vanilla kernel.org. Đọc các bình luận và cam kết ghi chú. Bạn có thể có những thứ nhỏ như sysctltham số được hiển thị hoặc mặc định lành mạnh hơn được áp dụng. Red Hat trả tiền cho mọi người để vá, kiểm tra và khắc phục những vấn đề này. Tôi đã không thấy cam kết tương tự từ các bản phân phối Linux khác ... Thêm một thực tế là nền tảng doanh nghiệp được đảm bảo có bảo mật thực sự, hỗ trợ sửa lỗi và backport trong nhiều năm .


Vì vậy, cuối cùng tôi đã chuyển sang một công ty tài chính khác gần như toàn bộ Gentoo trên máy chủ máy tính để bàn ... Đó là một thảm họa đối với tôi. Đến từ thế giới Red Hat và CentOS, tôi đã gặp phải nhiều vấn đề về quản lý và ổn định với thiết lập Gentoo. Kiểm soát phiên bản là vấn đề lớn nhất, nhưng sự hỗ trợ cộng đồng ngày càng giảm và thiếu kiểm tra thực tế cũng là mối quan tâm. Tôi bắt đầu giới thiệu RHEL vào môi trường vì một số phần mềm bên thứ ba của chúng tôi yêu cầu ...

Nhưng có một vấn đề ... Các nhà phát triển của tôi đã quen với Gentoo và có các đường dẫn nâng cấp tương đối dễ dàng cho các thư viện và phiên bản ứng dụng cốt lõi. Họ không thể điều chỉnh để có các phiên bản chính cố định mà Red Hat Enterprise Linux chuẩn hóa. Quá trình phát triển và phát hành bị vướng mắc với các câu hỏi về lý do tại sao GLIBC 2.7 không thể được ghép vào RHEL 5.x hoặc tại sao một trình biên dịch hoặc phiên bản thư viện nhất định không có sẵn. Khi được thông báo rằng việc nâng cấp giữa các phiên bản chính của RHEL / CentOS về cơ bản cần phải xây dựng lại đầy đủ , họ đã mất rất nhiều niềm tin vào giải pháp.

Tại thời điểm này, tôi nhận ra rằng Red Hat đang di chuyển quá chậm đối với các nhà phát triển muốn đứng ở vị trí dẫn đầu. RHEL 6.x là một bản nâng cấp rất cần thiết và đáng hoan nghênh, nhưng chủ đề này trở nên rõ ràng hơn khi tôi bắt đầu phỏng vấn các công ty khởi nghiệp và các công ty đã đăng ký các nguyên tắc DevOps .


Ngày nay ... Ngày
càng có nhiều nhà phát triển và người dùng Linux đến từ các môi trường Linux không phải Red Hat, không phải SuSE, không phải doanh nghiệp.

  • Họ đang sử dụng Ubuntu hoặc Debian ...
  • Họ không phải đối phó với phần cứng trường học cũ hoặc hỗ trợ nhà cung cấp lớn.
  • Họ đang viết các ứng dụng của riêng họ từ đầu (tự hỗ trợ).
  • Ảo hóa và điện toán đám mây trừu tượng hóa lớp phần cứng, vì vậy lo lắng về trình điều khiển RAID thú vị, thiết bị ngoại vi PCI-X hoặc các tác nhân quản lý phân tán nhị phân thậm chí không có trên radar.
  • Những người dùng này muốn các công cụ và vùng người dùng mà họ quen thuộc.

Vì vậy, có một cuộc xung đột ... Những người dùng này không hiểu tại sao họ bị hạn chế trên các phiên bản ứng dụng hoặc thư viện. Các quản trị viên trường cũ vẫn đang điều chỉnh theo mô hình mới . Các lập luận dường như bắt nguồn từ tôn giáo thực sự chỉ là các chức năng về cách mọi người phát triển các kỹ năng tương ứng của họ.

Tôi đã thấy một quảng cáo việc làm ngày hôm nay cho vị trí kỹ sư DevOps Linux rất cao có nội dung:

Phải thành thạo đến chuyên gia trong các bản phân phối Linux dựa trên Debian (Ubuntu và các biến thể đều ổn. Red Hat có thể qua được , nhưng không được ưa thích)

Vì vậy, tôi đoán nó hoạt động theo cả hai cách ... Tôi đã bỏ qua các cơ hội việc làm vì 800 máy chủ CentOS mà tôi đang quản lý dự kiến ​​sẽ được chuyển đổi sang Ubuntu. Chắc chắn, Linux là Linux ... nhưng tôi không cảm thấy rằng mình hiệu quả đến mức có thể ... Tôi đã dò dẫm các bản cài đặt Debian và ước rằng một bản phân phối dựa trên RPM đang được sử dụng. Tôi đã có những tranh luận sôi nổi về giá trị của các nền tảng khác nhau (thường đặt Gentoo ở cuối danh sách).

Vậy điều gì phù hợp với môi trường CỦA BẠN? Nó phụ thuộc. Tôi đã từng ở các công ty nơi các kỹ sư hệ thống đưa ra quyết định, cũng như các tổ chức nơi các nhà phát triển là vua. Tôi nghĩ rằng sự sắp xếp tốt nhất là khi các nhà phát triển và những người hỗ trợ các hệ thống đồng ý về nền tảng. Nhưng bên ngoài đó, hãy nghĩ về sự hỗ trợ lâu dài, khả năng sử dụng, cộng đồng và những gì phù hợp với ngăn xếp ứng dụng của bạn theo cách phù hợp nhất.

Một nhà phát triển tài năng sẽ có thể làm việc trong một môi trường giống như RHEL hoặc giống như Debian. Và tốt, nền tảng phát triển nên phản ánh môi trường sản xuất. Bạn đi từ đó ...


3
@dyasny Thật thú vị khi nghe quan điểm của Debian.
ewwhite

@ewwhite bạn có thể muốn một quản trị viên từ sourceforge tham gia. Biết gì không?
dyasny

@dyasny Không có bình luận :)
ewwhite

4
Thưa ngài, đây là bài viết hay nhất mà tôi đã gặp trong serverfault cho đến nay. Tôi nghĩ rằng tôi sẽ lấy một bản sao vật lý này và đặt lên kệ và trong khối làm việc của tôi. Bạn lặp lại tuyên bố của các kỹ sư hệ thống trong suốt một thời đại. Tuyệt vời, bài tuyệt vời.
Soham Chakraborty

1
@SohamChakraborty Ồ, tôi chỉ cảm thấy già ... nhưng hôm nay, sau khi đọc một quảng cáo việc làm trên trang web này, tôi nhận ra rằng lý do của tôi khi sử dụng Red Hat trở lại là cùng một lý do mọi người yêu cầu Ubuntu, v.v. hệ thống ngày nay. Đó là những gì họ quen thuộc trên máy tính để bàn!
ewwhite
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.