Có cần thiết phải khởi động lại sau khi nâng cấp kernel (thông qua APT) không?


7

Tôi đã tự hỏi điều này trong một thời gian khá lâu. Giả sử bạn có một máy chủ Debian mà bạn luôn cập nhật thông qua APT. Thông thường (cứ sau 1-2 tháng) có một số cập nhật kernel, sẽ cập nhật các mục GRUB để khởi động từ lần tiếp theo.

Điều này không sao, nhưng nếu bạn quan tâm đến thời gian hoạt động và SLA, sẽ rất khó để khởi động lại chỉ để sử dụng kernel đã cập nhật. Tôi đoán đây là cách thông thường để đi, nhưng nó thực sự hoạt động như thế nào?


Đừng quên xây dựng lại các công cụ bộ ảo hóa.
41754

Câu trả lời:


9

Phương pháp duy nhất tôi từng nghe nói cho phép bạn từ bỏ thực hiện khởi động lại là sử dụng công nghệ KSplice .

đoạn trích

Ksplice Uptrack là gì?

Ksplice Uptrack cho phép bạn áp dụng 100% các bản cập nhật bảo mật kernel quan trọng do nhà cung cấp Linux của bạn phát hành mà không cần khởi động lại.

Ksplice Uptrack có sẵn cho Oracle Linux, miễn phí, cho khách hàng Oracle Linux có đăng ký hỗ trợ Premier. Ngoài ra, bất kỳ ai cũng có thể sử dụng Ksplice Uptrack miễn phí trên Ubuntu Desktop và Fedora.

Theo trang web, nó miễn phí cho người dùng Fedora và Ubuntu Desktop :

đoạn trích

Miễn phí cho Fedora và Ubuntu Desktop.

Lịch sử công nghệ

Công nghệ KSplice xuất hiện vào năm 2009, nếu bộ nhớ phục vụ cho tôi chính xác. Bản demo ấn tượng mà các nhà phát triển công nghệ đã sử dụng là di chuyển một hệ thống Linux thông qua tất cả các Hạt nhân Linux đã được phát hành. Tôi chưa bao giờ xem bản demo nhưng yêu cầu đó đã bị mắc kẹt trong tâm trí của tôi kể từ đó.

Đây là bài viết Ars Technica mà tôi nhớ đã đọc, có tiêu đề: Ksplice: Cập nhật máy tính mà không cần khởi động lại .

Cuối cùng, đây là bài viết kỹ thuật bao gồm công nghệ và cách thức hoạt động của nó, có tiêu đề: Ksplice: Automatic Rebootless Kernel Updates .


Chưa bao giờ nghe về điều đó, đó là hấp dẫn! +1 Phải tìm bản demo đó ...
hỗn loạn

Có một số bản demo trên youtube, đây là những bản mới không phải là bản nâng cấp đầy đủ: youtube.com/watch?v=1m5HJ7h1l7I
slm

FWIW, hỗ trợ kernel tích hợp cho việc này được gọi là kexec .
jweyrich

3

Theo nghĩa là bạn không cần thiết, nó chỉ cần thiết nếu bạn muốn sử dụng kernel mới ngay lập tức.

Cập nhật đơn giản không bao giờ nên để hệ thống ở trạng thái theo đó bạn phải khởi động lại sau khi cập nhật. Một lý do rõ ràng cho điều này là rất nhiều hệ thống cập nhật tự động và một bản cập nhật tự động làm hỏng hệ thống đang chạy sẽ không được nhiều người dùng đánh giá cao.


Thật vậy, tôi biết rằng bạn không thực sự "phải" làm điều đó nếu bạn không cần các tính năng / sửa lỗi cụ thể mới của hạt nhân được cập nhật, tuy nhiên trong hầu hết các trường hợp, đó là hành động được đề xuất.
Raj

4
Tại sao và bởi ai? Hơi hoang tưởng về các trục trặc phần mềm là hợp lý, và vì vậy nếu bạn không có lý do gì để không khởi động lại, thì bạn nên khởi động lại, trong trường hợp có sự cố trong quá trình nâng cấp (tất nhiên, nếu có trục trặc, nó có thể dễ dàng trở thành trục trặc sẽ không được tiếp xúc cho đến khi khởi động lại, vì vậy ...). Tuy nhiên, nếu bạn có lý do chính đáng để không khởi động lại, thì đừng. Tất nhiên, điều này dẫn đến một điều hiển nhiên: nếu bạn có lý do chính đáng để không khởi động lại, thì đừng nâng cấp cho đến khi bạn có thể .
goldilocks

0

Có, để sử dụng bản cập nhật kernel, bạn thường cần khởi động lại hệ thống. Đôi khi nó có thể là đủ, để tải lại một mô-đun hạt nhân - nhưng điều này rất khó để quyết định.

Bằng cách sử dụng kexec , bạn có thể rút ngắn thời gian hệ thống không khả dụng.

Ksplice cung cấp cho một số bản phân phối nhân vá trực tiếp.


0

Là cần thiết? Có, nếu bạn muốn kernel mới. Nhưng nó có thể được làm việc xung quanh? Cũng thế. Nhưng sau đó, tại sao chúng ta cần khởi động lại để nâng cấp kernel? Bởi vì bạn không khởi động lại cho bất cứ điều gì khác! Bây giờ, đối với cách giải quyết, bạn nên biết rằng một số điều kỳ lạ có thể (và sẽ) xảy ra.

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.