Nội dung
I. Giới Thiệu
Kernel là gì?
Kernel là phần cốt lõi của hệ điều hành, đảm nhận vai trò quan trọng trong việc quản lý và điều phối tài nguyên phần cứng, như bộ nhớ, bộ xử lý, và các thiết bị I/O. Mỗi khi một hệ thống khởi động, Kernel là chương trình đầu tiên được tải lên, ngay sau boot loader, vì nó cần phải chuẩn bị và quản lý tài nguyên cần thiết cho hệ điều hành hoạt động.
Kernel chịu trách nhiệm với các tác vụ cấp thấp như:
- Quản lý đĩa: Đảm bảo việc đọc/ghi dữ liệu vào đĩa diễn ra một cách hiệu quả và an toàn.
- Quản lý bộ nhớ: Theo dõi và quản lý việc sử dụng bộ nhớ, đảm bảo không có xung đột và sử dụng hiệu quả.
- Quản lý tác vụ: Điều khiển và lên lịch các tiến trình và luồng thực thi, đảm bảo chúng hoạt động mượt mà và không xung đột với nhau.
Khi một ứng dụng muốn truy cập vào các tài nguyên phần cứng hoặc thực hiện một tác vụ đặc biệt, nó sẽ gửi yêu cầu đến Kernel thông qua những gì được gọi là System Call.
Một khái niệm quan trọng khác là phân chia giữa Kernel Space và User Space:
- Kernel Space: Là một vùng bộ nhớ được bảo vệ chặt chẽ, chỉ cho phép Kernel truy cập. Code của Kernel được thực thi và lưu trữ ở đây. Điều này đảm bảo rằng chỉ có Kernel mới có khả năng can thiệp và thay đổi các tác vụ quan trọng của hệ điều hành.
- User Space: Là không gian dành cho các ứng dụng và tiến trình người dùng. Ứng dụng và tiến trình này chạy trong môi trường an toàn hơn, nhưng khi muốn truy cập tài nguyên cấp thấp, chúng phải thông qua Kernel thông qua System Call, điều này có thể làm giảm hiệu suất do phải truyền thông qua hai không gian bộ nhớ khác nhau.
Lưu ý: Hãy luôn đảm bảo rằng bạn đã sao lưu dữ liệu quan trọng trước khi thực hiện bất kỳ thay đổi nào trên hệ thống. Vẫn ưu tiên, dữ liệu đã được backup lại trước khi thực hiện, để tránh rủi ro trong quá trình thao tác.
II. Nâng cấp Kernel
Bước 1: SSH vào server hoặc VPS đang dùng CentOS 7.
Việc đầu tiên bạn cần SSH vào máy chủ. Nếu bạn chưa biết cách SSH hãy đọc bài viết tại đây.
Bước 2: Kiểm tra phiên bản Kernel đã cài đặt
Truy cập vào máy chủ với quyền root hoặc quyền sudo:
Đối với quyền root:ssh root@địa_chỉ_ip
Đối với quyền sudo:
ssh tên_người_dùng@địa_chỉ_ip
Trong đó, địa_chỉ_ip là địa chỉ IP của VPS hoặc máy chủ và tên_người_dùng là tên người dùng bạn muốn sử dụng.
Kiểm tra phiên bản Kernel hiện tại:
Sau khi đăng nhập thành công, bạn có thể kiểm tra phiên bản Kernel hiện tại của hệ thống bằng lệnh:
uname -rs
Lệnh này sẽ hiển thị phiên bản Kernel đang chạy trên máy chủ của bạn.
Kernel (hạt nhân Linux) là một phần quan trọng của hệ thống Linux, chịu trách nhiệm cho việc quản lý tài nguyên phần cứng và cung cấp các dịch vụ hạt nhân cho các ứng dụng. Các phiên bản của Linux Kernel thường có một chu kỳ hỗ trợ nhất định, và sau khi kỳ hạn đó hết, phiên bản đó sẽ không còn được cập nhật hoặc hỗ trợ chính thức nữa.
Một số điểm quan trọng về vòng đời của phiên bản Linux Kernel:
LTS (Long Term Support): Một số phiên bản Linux Kernel được coi là “LTS”, có nghĩa là chúng được hỗ trợ trong một khoảng thời gian dài hơn so với các phiên bản không phải LTS. Ví dụ, như bạn đã đề cập, Linux Kernel 5.1 có thể được coi là một phiên bản LTS.
Kỳ hạn hỗ trợ: Các phiên bản không phải LTS thường chỉ được hỗ trợ trong một thời gian ngắn (ví dụ, 2 năm), trong khi các phiên bản LTS có thể được hỗ trợ trong 5-6 năm hoặc hơn.
Cập nhật bảo mật và sửa lỗi: Trong suốt chu kỳ hỗ trợ, phiên bản Linux Kernel sẽ nhận được các bản cập nhật bảo mật và sửa lỗi. Khi phiên bản đó hết hạn hỗ trợ, không có thêm bản cập nhật nào sẽ được phát hành.
Chuyển đổi giữa các phiên bản: Khi sử dụng một phiên bản hạt nhân đã hết hạn, người dùng cần cân nhắc việc nâng cấp lên phiên bản mới hỗ trợ để đảm bảo an toàn và hiệu suất tốt nhất cho hệ thống của mình.
Để cập nhật thông tin về các phiên bản Linux Kernel và thông tin về chu kỳ hỗ trợ của chúng, bạn có thể tham khảo trang chính thức của Linux Kernel tại https://www.kernel.org/
Bước 3: Thực hiện nâng cấp Kernel 5 trên CentOS 7
Sử dụng yum
trên CentOS hoặc RHEL thường cập nhật hạt nhân từ kho lưu trữ chính thức, không nhất thiết là phiên bản mới nhất từ https://www.kernel.org/.
Để nâng cấp lên các phiên bản hạt nhân gần đây hơn, bạn có thể cài đặt kho lưu trữ ELRepo, một kho lưu trữ bên thứ ba cung cấp các phiên bản hạt nhân mới.
Để kích hoạt kho lưu trữ ELRepo trên CentOS 7, hãy thực hiện các lệnh sau:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
Kích hoạt kho lưu trữ ELRepo trên CentOS 7.
Lệnh trên sẽ chỉ hiển thị các gói hạt nhân từ kho lưu trữ ELRepo, giúp bạn dễ dàng xác định và cài đặt phiên bản hạt nhân mới nhất.
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Kernel bạn có thể sử dụng từ kho ELRepo. Danh sách này có thể thay đổi tùy thời điểm sẽ khác nhau.
Tiến hành cài đặt Kernel ổn định chính thức mới nhất với lệnh sau:
yum --enablerepo=elrepo-kernel install -y kernel-ml
Đã Cài đặt Kernel 6 thành công.
Cần phải reboot khởi động lại, để chọn menu boot khởi động chọn kernel 6 để boot, Bạn cần chọn Kernel mới nhất từ danh sách này để hệ thống sử dụng phiên bản hạt nhân mới.
uname -sr
Hệ thống đã sử dụng phiên bản Kernel mới nhất.
Để thay đổi phiên bản hạt nhân mặc định mà hệ thống sử dụng khi khởi động.
Bạn cần cập nhật cấu hình bootloader. Để Bootloader (ví dụ: GRUB trên nhiều hệ thống Linux) quản lý quá trình khởi động và cho phép bạn chọn phiên bản hạt nhân để khởi động mỗi khi khởi động lại.
vi /etc/default/grub
Điều chỉnh dòng GRUB_DEFAULT=saved thành GRUB_DEFAULT=0
Để tạo lại file cấu hình của GRUB (grub.cfg) dựa trên các tùy chọn và cấu hình hiện tại của hệ thống.
grub2-mkconfig -o /boot/grub2/grub.cfg
Khi bạn thực hiện lệnh này, GRUB sẽ quét hệ thống của bạn để xác định các phiên bản hạt nhân đã cài đặt và các cấu hình khác, sau đó tạo ra một file cấu hình GRUB mới hoặc cập nhật file cấu hình hiện tại (/boot/grub2/grub.cfg).
Điều quan trọng là sau khi bạn đã chỉnh sửa file cấu hình bootloader (như đã nêu trong bước trước), bạn cần chạy lệnh grub2-mkconfig để cập nhật file cấu hình GRUB và áp dụng các thay đổi.
Sau đó, khi bạn khởi động lại hệ thống, các thay đổi về hạt nhân mặc định sẽ được áp dụng sau khi reboot.
III. Lời kết
Trong quá trình cài đặt và cập nhật hạt nhân Linux, việc hiểu rõ quy trình và thực hiện các bước một cách chính xác là rất quan trọng để đảm bảo sự ổn định và an toàn cho hệ thống của bạn. Việc cập nhật hạt nhân không chỉ giúp bạn trải nghiệm các tính năng mới mà còn cải thiện bảo mật và hiệu suất.
Nếu bạn gặp bất kỳ khó khăn hoặc vấn đề nào trong quá trình cập nhật, việc tìm kiếm sự hỗ trợ từ cộng đồng Linux hoặc chuyên gia sẽ là một cách tốt nhất để giải quyết vấn đề.