Cộng đồng Linux tiếp tục vật lộn với vai trò của systemd trong các bản phân phối hiện đại, ngay cả khi hệ thống init này đã trở thành lựa chọn mặc định cho hầu hết các bản phân phối Linux lớn trong thập kỷ qua. Trong khi một số người dùng đã chấp nhận các khả năng của nó, những người khác vẫn chỉ trích triết lý thiết kế và đặc điểm hiệu suất của nó.
Mối Quan Ngại Về Hiệu Suất Với Hệ Thống Ghi Log Journald
Một trong những khía cạnh gây tranh cãi nhất của systemd là hệ thống ghi log nhị phân journald. Các cuộc thảo luận trong cộng đồng tiết lộ những vấn đề hiệu suất đáng kể ảnh hưởng đến hoạt động hàng ngày. Người dùng báo cáo rằng các truy vấn journald có thể chậm hơn đáng kể so với các phương pháp ghi log dựa trên văn bản truyền thống, với một số trải nghiệm hiệu suất chậm hơn 40 lần so với các thao tác grep đơn giản trên tệp văn bản thuần túy. Điều này đã khiến nhiều quản trị viên hệ thống tắt hoàn toàn journald để ủng hộ các tệp log văn bản xoay vòng truyền thống.
Định dạng nhị phân của hệ thống ghi log cũng tạo ra những thách thức tương thích với các công cụ quản lý log hiện có. Nhiều dịch vụ phổ biến như AWS CloudWatch thiếu hỗ trợ gốc cho journald, buộc các quản trị viên phải triển khai các giải pháp thay thế hoặc duy trì hệ thống ghi log kép.
Các vấn đề về hiệu suất của Systemd được người dùng báo cáo:
- Truy vấn journald: Chậm hơn tới 40 lần so với grep trên các file văn bản
- Tương thích định dạng log nhị phân: Hỗ trợ hạn chế trong các công cụ lớn như AWS CloudWatch
- Hành vi khởi động/tắt máy: Các báo cáo về việc treo ngẫu nhiên và điều kiện race
- Sử dụng bộ nhớ: Tiêu thụ tài nguyên cao hơn so với các hệ thống init truyền thống
Quản Lý Dịch Vụ Được Khen Ngợi Bất Chấp Những Chỉ Trích Rộng Hơn
Trong khi journald đối mặt với chỉ trích, chức năng quản lý dịch vụ cốt lõi của systemd nhận được lời khen ngợi rộng rãi từ các quản trị viên hệ thống. Việc chuyển đổi từ các script init dựa trên shell phức tạp sang các tệp cấu hình khai báo đã đơn giản hóa đáng kể việc tạo và quản lý dịch vụ. Người dùng nhấn mạnh các tính năng như dọn dẹp tiến trình tự động thông qua các nhóm điều khiển, quản lý phụ thuộc được cải thiện và các tùy chọn sandbox bảo mật tích hợp.
Tôi đã làm việc với tư cách là sysadmin/devops trong số năm hai chữ số. Qua các công ty, công việc và cộng tác viên sở thích - tôi chưa bao giờ gặp ai không ít nhất thích systemd, nếu không muốn nói là ca ngợi nó.
Chức năng timer, đóng vai trò thay thế hiện đại cho cron, cũng nhận được phản hồi tích cực về tính linh hoạt và tích hợp với hệ sinh thái systemd rộng hơn.
![]() |
---|
Các thành phần thiết yếu của quản lý dịch vụ systemd trong hệ thống Linux |
Tranh Cãi Về Cấu Hình Mạng Và Đặt Tên
Cách tiếp cận của hệ sinh thái systemd đối với việc đặt tên thiết bị mạng đã tạo ra sự thất vọng liên tục cho các quản trị viên. Tính năng tên giao diện mạng có thể dự đoán, được thiết kế để giải quyết việc đặt tên thiết bị không nhất quán, thay vào đó đã giới thiệu những phức tạp mới. Các bản phân phối khác nhau triển khai các sơ đồ đặt tên khác nhau, dẫn đến sự nhầm lẫn khi di chuyển giữa các hệ thống hoặc sử dụng môi trường cứu hộ trực tiếp.
Người dùng cũng báo cáo các vấn đề với các thành phần phụ trợ của systemd như systemd-resolved, xử lý phân giải DNS. Trong khi một số quản trị viên đánh giá cao cách tiếp cận thống nhất, những người khác thấy các thành phần này được triển khai một nửa và thích các giải pháp truyền thống đã chứng minh độ tin cậy qua nhiều thập kỷ.
Các Sơ Đồ Đặt Tên Giao Diện Mạng:
- Truyền thống: eth0, eth1, eth2...
- Các biến thể hiện đại của systemd:
- ens123 (được đánh số theo bus)
- enp17s7f9 (dựa trên slot PCI)
- enx8b220b34 (dựa trên địa chỉ MAC)
- Sự khác biệt trong triển khai tùy thuộc vào bản phân phối
Ảnh Hưởng Của Doanh Nghiệp Và Tranh Luận Triết Lý
Ngoài các mối quan ngại kỹ thuật, các cuộc thảo luận trong cộng đồng tiết lộ những bất đồng triết lý sâu sắc hơn về sự phát triển và áp dụng systemd. Một số người dùng bày tỏ lo ngại về ảnh hưởng của Red Hat (hiện là IBM) đối với thành phần hệ thống quan trọng này, coi đó là sự kiểm soát của doanh nghiệp đối với cơ sở hạ tầng cốt lõi của Linux. Những người chỉ trích này lập luận rằng cách tiếp cận nguyên khối của systemd mâu thuẫn với triết lý Unix truyền thống về các công cụ nhỏ, tập trung.
Các hệ thống init thay thế như OpenRC tiếp tục duy trì các cơ sở người dùng tận tụy, đặc biệt là trong số những người thích cách tiếp cận Unix truyền thống. Tuy nhiên, các hiệu ứng mạng của việc áp dụng rộng rãi systemd khiến việc chuyển đổi ngày càng khó khăn khi nhiều phần mềm hơn giả định sự hiện diện của nó.
Các Hệ Thống Init Thay Thế Vẫn Đang Được Sử Dụng:
- OpenRC: Được sử dụng bởi Gentoo, Alpine Linux, Artix
- s6: Hệ thống hiện đại dựa trên daemontools
- runit: Được sử dụng bởi Void Linux
- BSD init: Init truyền thống theo phong cách Unix
- Upstart: Hệ thống cũ của Ubuntu (phần lớn đã bị loại bỏ)
Nhìn Về Phía Trước
Bất chấp các cuộc tranh luận đang diễn ra, những lợi ích thực tế của systemd trong các triển khai quy mô lớn và bộ tính năng mở rộng của nó đã bảo đảm vị thế của nó trong hệ sinh thái Linux. Cuộc thảo luận phản ánh một căng thẳng rộng hơn trong phần mềm mã nguồn mở giữa đổi mới và truyền thống, sự hỗ trợ của doanh nghiệp và kiểm soát của cộng đồng. Khi Linux tiếp tục phát triển, cuộc tranh luận systemd đóng vai trò như một nghiên cứu tình huống về cách những thay đổi hệ thống cơ bản lan tỏa qua toàn bộ hệ sinh thái.
Tham khảo: systemd has been a complete, utter, unmitigated success