ThuanNguyen.NET – Kỷ nguyên của kết nối và kiến tạo

Nâng cấp Kernel 6 cho CentOS 7

Nâng cấp Kernel 6 cho CentOS 7

  • Tháng Mười Hai 11, 2022
5/5 - (3 bình chọn)

Bài hướng dẫn này mình sẽ giúp các bạn nâng cấp Kernel 6.0.12-1.el7.elrepo.x86_64 thay cho bản kernel 3.10.0-1160.80.1.el7.x86_64 cũ kỹ trên CentOS 7, giúp hệ thống hoạt động ổn định và tương thích với phần cứng hơn là Kernel mặc định.

I. Giới thiệu

Mặc dù một số người sử dụng từ Linux để đại diện cho toàn bộ hệ điều hành, nhưng điều quan trọng cần lưu ý và nói đúng ra Linux chỉ là Kernel mà thôi. Mặt khác, bản phân phối là một hệ điều hành (CentOS, Ubuntu, EHEL..vv…) đầy đủ chức năng được xây dựng dựa trên Kernel với nhiều công cụ và thư viện ứng dụng.

Trong các hoạt động bình thường, Kernel chịu trách nhiệm thực hiện hai tác vụ quan trọng:

  • Đóng vai trò là cầu nối giao tiếp giữa phần cứng và phần mềm chạy trên hệ thống.
  • Quản lý tài nguyên hệ thống hiệu quả nhất có thể.

Để làm điều này, Kernel giao tiếp với phần cứng thông qua các driver (trình điều khiển) được tích hợp sẵn trong nó hoặc những driver có thể được cài đặt sau này dưới dạng mô-đun.

Ví dụ: Khi một ứng dụng đang chạy trên máy chủ của bạn muốn kết nối với mạng dây, nó sẽ gửi yêu cầu đó đến Kernel, đến lượt nó sẽ sử dụng driver (trình điều khiển) phù hợp để kết nối với mạng.

Tìm hiểu thêm:  Docker in Practice – Hướng dẫn chuyển đổi VM thành Docker image

Với các thiết bị và công nghệ mới ra mắt định kỳ, điều quan trọng là phải cập nhật Kernel của hệ thống nếu chúng ta muốn tận dụng tối đa những tính năng mới nhất. Ngoài ra, việc cập nhật Kernel của hệ thống sẽ giúp bảo vệ hệ thống khỏi các lỗ hổng đã được phát hiện trong các phiên bản trước.

Và ở thời điểm mình viết bài này thì Kernel mới nhất và ổn định nhất là 6.0.12.

Các bạn có thể theo dõi phiên bản Kernel tại đường dẫn sau:

Nếu bạn đã sẵn sàng nâng cấp Kernel 6 cho CentOS 7 hãy tiếp tục đọc tiếp bài viết này!

II. Nâng cấp Kernel 6 cho CentOS 7

Để nâng cấp Kernel 6.0.12 cho CentOS 7 các bạn chỉ cần thực hiện theo các bước sau.

Bước 1: SSH vào hệ thống CentOS 7 của bạn

Để nâng cấp Kernel 6 cho CentOS 7, đầu tiên chúng ta cần SSH máy chủ của bạn với quyền root trước hoặc ít nhất là với người dùng có quyền sudo.

Sau khi đã SSH thành công với quyền root, chúng ta tiếp tục với bước 2 để thực hiện kiểm tra phiên bản Kernel trên hệ thống của bạn.

Bước 2: Kiểm tra phiên bản Kernel đã cài đặt

Khi chúng ta cài đặt CentOS 7, nó đã bao gồm một phiên bản nhất định của Kernel Linux. Để hiển thị phiên bản hiện tại được cài đặt trên hệ thống của chúng ta, chúng ta có thể thực hiện lệnh sau:

# uname -sr

Dưới đây là kết quả trên hệ thống CentOS 7 của mình.

Linux 3.10.0-1160.80.1.el7.x86_64

Phiên bản Kernel của mình là 3.10.0.-1160

Tìm hiểu thêm:  Socket CPU và các chuẩn socket cpu của intel

Một điều quan trọng cần xem xét là vòng đời của phiên bản hạt nhân – nếu phiên bản bạn đang sử dụng sắp hết hạn sử dụng, thì sẽ không có thêm bản sửa lỗi nào được cung cấp sau ngày đó. Để biết thêm thông tin, hãy tham khảo trang các bản phát hành Kernel.

Bước 3: Thực hiện nâng cấp Kernel 5 trên CentOS 7

Hầu hết các bản phân phối hiện tại đều cung cấp cách nâng cấp hạt nhân bằng cách sử dụng lệnh yum và một kho lưu trữ được hỗ trợ chính thức.

Tuy nhiên, điều này sẽ chỉ thực hiện nâng cấp lên phiên bản mới nhất có sẵn từ kho lưu trữ và nó không phải phiên bản mới nhất có trong https://www.kernel.org/.

Để giải quyết vấn đề này bạn cần cài đặt kho lưu trữ ELRepo, là một kho lưu trữ của bên thứ ba giúp nâng cấp lên Kernel phiên bản phát hành gần đây.

Để 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

Sau khi kho lưu trữ ELRepo đã được kích hoạt, bạn có thể sử dụng lệnh sau để liệt kê các gói có liên quan đến Kernel.

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * elrepo-kernel: hkg.mirror.rackspace.com
Available Packages
elrepo-release.noarch                                    7.0-6.el7.elrepo                            elrepo-kernel
kernel-lt.x86_64                                         5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-devel.x86_64                                   5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-doc.noarch                                     5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-headers.x86_64                                 5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-tools.x86_64                                   5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-tools-libs.x86_64                              5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                        5.4.226-1.el7.elrepo                        elrepo-kernel
kernel-ml-devel.x86_64                                   6.0.12-1.el7.elrepo                         elrepo-kernel
kernel-ml-doc.noarch                                     6.0.12-1.el7.elrepo                         elrepo-kernel
kernel-ml-headers.x86_64                                 6.0.12-1.el7.elrepo                         elrepo-kernel
kernel-ml-tools.x86_64                                   6.0.12-1.el7.elrepo                         elrepo-kernel
kernel-ml-tools-libs.x86_64                              6.0.12-1.el7.elrepo                         elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                        6.0.12-1.el7.elrepo                         elrepo-kernel
perf.x86_64                                              5.4.226-1.el7.elrepo                        elrepo-kernel
python-perf.x86_64                                       5.4.226-1.el7.elrepo                        elrepo-kernel

Danh sách 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.

Tìm hiểu thêm:  Cấu Hình NFS Server Client Trên CentOS 7

Tiếp theo, chúng ta thực hiện 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

Cuối cùng, sử dụng lệnh reboot máy của bạn áp dụng Kernel mới nhất vừa được cài đặt và khi máy chủ khởi động các bạn hãy chọn Kernel mới nhất từ ​​menu như hình sau.

Bước 4: Đặt phiên bản Kernel mặc định trong GRUB

Để đặt phiên bản mới cài đặt làm tùy chọn Kernel khởi động mặc định, bạn sẽ phải sửa đổi cấu hình GRUB như sau.

# sudo grub2-set-default 0

Điều này có nghĩa là Kernel trên cùng trong màn hình ban đầu GRUB sẽ được sử dụng làm mặc định.

Sau đó bạn cần lưu lại và chạy lệnh sau để khởi tạo lại cấu hình Kernel.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.0.12-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-6.0.12-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.80.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.80.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-b4bbe265db734114a726de45dfb26f2c
Found initrd image: /boot/initramfs-0-rescue-b4bbe265db734114a726de45dfb26f2c.img
done

Sau cùng chúng ta hãy khởi động lại với lệnh reboot và sau đó khi hệ thống đã khởi động thì bạn có thể kiểm tra lại phiên bản Kernel một lần nữa với lệnh uname -sr là xong.

# uname -sr
Linux 6.0.12-1.el7.elrepo.x86_64

Chúc các bạn thành công.
ThuanNguyen.NET

Index