Chuyển tới nội dung chính

Cài Đặt Rocky Linux Cho Môi Trường Production

Tổng Quan

Rocky Linux là một hệ điều hành mã nguồn mở, miễn phí, là bản build nhị phân tương thích 1:1 với Red Hat Enterprise Linux (RHEL). Nó ra đời nhằm lấp đầy khoảng trống do sự thay đổi định hướng của CentOS Linux, cung cấp một lựa chọn ổn định, đáng tin cậy và có vòng đời hỗ trợ dài hạn (LTS) cho các môi trường sản xuất.

Việc cài đặt và cấu hình Rocky Linux đúng cách cho môi trường production là vô cùng quan trọng để đảm bảo tính sẵn sàng cao, bảo mật chặt chẽ và hiệu suất tối ưu cho các ứng dụng và dịch vụ của bạn. Từ web server, database server, ứng dụng doanh nghiệp cho đến các giải pháp ảo hóa và container, Rocky Linux đều là một nền tảng vững chắc.

Metadata:

  • Thời gian thực hiện: Khoảng 30-60 phút (không bao gồm thời gian tải ISO và tạo USB bootable).
  • Độ khó: Trung bình.
  • Yêu cầu: Kiến thức cơ bản về Linux Command Line Interface (CLI), hiểu biết về BIOS/UEFI, và khái niệm về phân vùng đĩa.

Yêu Cầu Hệ Thống

Để đảm bảo Rocky Linux hoạt động ổn định và hiệu quả trong môi trường production, hãy xem xét các cấu hình sau:

Cấu hình Tối Thiểu

  • CPU: 2 lõi (core) x86-64
  • RAM: 2 GB
  • Ổ đĩa: 20 GB HDD/SSD
  • Mạng: 1 card mạng Ethernet

Cấu hình Khuyến Nghị cho Production

  • CPU: 4 lõi trở lên, kiến trúc x86-64
  • RAM: 4 GB trở lên (tùy thuộc vào ứng dụng)
  • Ổ đĩa: 50 GB SSD trở lên (để đạt hiệu suất I/O tốt nhất)
    • Lưu ý: Sử dụng RAID phần cứng hoặc phần mềm (MDADM) nếu cần độ bền và hiệu suất cao.
  • Mạng: 1 hoặc 2 card mạng Ethernet Gigabit trở lên (để dự phòng hoặc tách biệt mạng).

Các Bước Thực Hiện Chi Tiết

Bước 1: Chuẩn Bị Phương Tiện Cài Đặt

  1. Tải xuống File ISO của Rocky Linux: Truy cập trang web chính thức của Rocky Linux và tải xuống phiên bản ISO mới nhất. Chọn bản "Minimal" hoặc "DVD" tùy theo nhu cầu. 🌐 Tải xuống từ: https://rockylinux.org/download/

  2. Tạo USB bootable hoặc gắn ISO vào máy ảo:

    • Đối với máy vật lý: Sử dụng các công cụ như Rufus (Windows), Ventoy (Windows/Linux) hoặc lệnh dd (Linux) để tạo USB bootable.
      # Ví dụ sử dụng lệnh dd trên Linux (thay /dev/sdX bằng thiết bị USB của bạn)
      # ⚠️ Cẩn thận: Lệnh này sẽ xóa toàn bộ dữ liệu trên USB.
      sudo dd if=/path/to/Rocky-x.x-x86_64-dvd.iso of=/dev/sdX bs=4M status=progress
      sudo sync
    • Đối với máy ảo (VMware, VirtualBox, KVM, Hyper-V): Gắn trực tiếp file ISO đã tải vào ổ đĩa quang ảo của máy ảo.

Bước 2: Khởi Động Từ Phương Tiện Cài Đặt

  1. Cắm USB bootable vào máy vật lý hoặc đảm bảo ISO đã được gắn vào máy ảo.
  2. Khởi động lại hệ thống và truy cập vào menu BIOS/UEFI để thay đổi thứ tự khởi động, ưu tiên boot từ USB hoặc ổ đĩa quang (nếu là máy ảo).
  3. Khi màn hình khởi động của Rocky Linux xuất hiện, chọn "Install Rocky Linux" và nhấn Enter.

Bước 3: Cấu Hình Ban Đầu Với Anaconda Installer

Trình cài đặt Anaconda sẽ hướng dẫn bạn qua các bước.

  1. Ngôn ngữ và Bàn phím:

    • Chọn ngôn ngữ cài đặt (ví dụ: English (United States)) và bố cục bàn phím phù hợp.
    • Nhấn Continue.
  2. Màn hình "Installation Summary": Đây là trung tâm cấu hình chính. Bạn cần chú ý đến các mục sau:

    • LOCALIZATION

      • Time & Date: 🌐 Chọn khu vực và thành phố của bạn (ví dụ: Asia/Ho_Chi_Minh). Đảm bảo "Network Time" được bật để đồng bộ thời gian.
      • Keyboard: Kiểm tra lại nếu cần.
      • Language Support: Để mặc định hoặc thêm ngôn ngữ nếu cần.
    • SOFTWARE

      • Installation Source: Để mặc định là "Auto-detected installation media".
      • ⚙️ Software Selection: Đây là một bước quan trọng cho production.
        • "Server with GUI": Nếu bạn cần giao diện đồ họa.
        • "Server": Cài đặt tối thiểu với các công cụ quản lý cơ bản, không có GUI. Khuyến nghị cho hầu hết các production server.
        • "Minimal Install": Chỉ cài đặt các gói cơ bản nhất. Phù hợp nếu bạn muốn kiểm soát hoàn toàn các gói cài đặt và giảm thiểu footprint.
        • 💡 Lời khuyên: Đối với production server, nên chọn "Minimal Install" hoặc "Server" để giảm thiểu các lỗ hổng bảo mật tiềm ẩn và tài nguyên tiêu thụ. Bạn có thể cài đặt thêm các gói sau này.
    • SYSTEM

      • 🔒 Installation Destination: Đây là nơi bạn cấu hình phân vùng đĩa.
        • Chọn ổ đĩa mà bạn muốn cài đặt.
        • ⚠️ Quan trọng: Đối với production, KHUYẾN NGHỊ chọn "Custom" để phân vùng thủ công.
        • Nhấn Done để vào màn hình phân vùng thủ công.
        • Chọn "Standard Partition" hoặc "LVM" (Logical Volume Management). LVM được khuyến nghị cho production vì nó cung cấp sự linh hoạt cao hơn trong việc quản lý và mở rộng dung lượng ổ đĩa sau này.
        • Ví dụ về phân vùng khuyến nghị cho LVM:
          • /boot (Standard Partition, ext4, 1GB): Chứa kernel và các file liên quan đến boot.
          • Tạo một Volume Group (VG) từ phần còn lại của ổ đĩa.
          • Tạo các Logical Volume (LV) trong VG:
            • / (root, xfs/ext4, khoảng 30GB-50GB): Hệ thống gốc.
            • /home (xfs/ext4, nếu cần, dung lượng nhỏ hoặc không cần): Thư mục người dùng.
            • /var (xfs/ext4, khoảng 20GB-50GB): Chứa logs, spool files, web data. Tách riêng /var giúp tránh việc log đầy làm sập hệ thống.
            • /opt (xfs/ext4, dung lượng còn lại hoặc tùy nhu cầu): Nơi cài đặt các ứng dụng của bên thứ ba.
            • swap (swap, 2GB-4GB hoặc bằng RAM nếu RAM < 4GB): Vùng nhớ ảo.
        • Nhấn Done sau khi hoàn tất phân vùng. Chấp nhận các thay đổi.
      • 🔒 Network & Host Name:
        • Bật card mạng của bạn (chuyển công tắc từ OFF sang ON).
        • Đặt Hostname cho server (ví dụ: webserver01.yourdomain.com).
        • Cấu hình IP tĩnh nếu cần thiết cho production. Nhấn Configure..., vào tab IPv4 Settings, chọn Manual, thêm địa chỉ IP, Netmask, Gateway và DNS Servers.
        • Nhấn Done.
      • Kdump: 📊 Tắt Kdump nếu bạn không có yêu cầu cụ thể về phân tích kernel crash dump để tiết kiệm tài nguyên.
      • Security Policy: Để mặc định trừ khi có yêu cầu bảo mật đặc biệt (ví dụ: STIG).
    • USER SETTINGS

      • 🔒 Root Password: Đặt mật khẩu mạnh cho tài khoản root.
        • ⚠️ Cảnh báo: Mật khẩu root là cực kỳ quan trọng. Hãy đảm bảo nó đủ mạnh và được ghi nhớ hoặc lưu trữ an toàn.
      • User Creation: Tạo một tài khoản người dùng thông thường và đặt mật khẩu.
        • Chọn "Make this user administrator" để cấp quyền sudo cho người dùng này. Đây là best practice để tránh sử dụng tài khoản root trực tiếp cho các tác vụ hàng ngày.
  3. Bắt đầu Cài Đặt:

    • Sau khi cấu hình xong tất cả các mục, nhấn "Begin Installation".
    • Hệ thống sẽ bắt đầu cài đặt các gói phần mềm.

Bước 4: Hoàn Tất Cài Đặt và Khởi Động Lại

  1. Khi quá trình cài đặt hoàn tất, bạn sẽ thấy thông báo "Rocky Linux is now successfully installed...".
  2. Nhấn "Reboot System".
  3. ⚠️ Lưu ý: Sau khi khởi động lại, hãy rút USB bootable ra khỏi máy vật lý hoặc ngắt kết nối ISO khỏi máy ảo để hệ thống boot từ ổ đĩa cứng.

Bước 5: Cấu Hình Sau Cài Đặt (Post-Installation)

Sau khi Rocky Linux khởi động lần đầu, hãy đăng nhập bằng tài khoản người dùng bạn đã tạo (hoặc root nếu cần) và thực hiện các cấu hình cơ bản sau:

  1. Cập nhật hệ thống: Luôn cập nhật hệ thống lên phiên bản mới nhất để đảm bảo các bản vá bảo mật và sửa lỗi được áp dụng.

    sudo dnf update -y
    sudo dnf upgrade -y
  2. Cài đặt các công cụ cơ bản: Các công cụ này hữu ích cho việc quản trị và gỡ lỗi.

    sudo dnf install -y vim git net-tools htop firewalld epel-release
    • epel-release: Cần thiết để truy cập các gói bổ sung từ kho EPEL.
  3. Cấu hình Firewall (Firewalld): Rocky Linux sử dụng firewalld làm tường lửa mặc định. Đảm bảo nó được bật và cấu hình đúng cách.

    sudo systemctl enable --now firewalld # Bật và khởi động firewalld
    sudo firewall-cmd --permanent --add-service=ssh # Cho phép SSH
    # Ví dụ: Mở port 80 cho Web Server (HTTP)
    # sudo firewall-cmd --permanent --add-service=http
    # Ví dụ: Mở port 443 cho Web Server (HTTPS)
    # sudo firewall-cmd --permanent --add-service=https
    # Ví dụ: Mở port tùy chỉnh
    # sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload # Áp dụng các thay đổi
    sudo firewall-cmd --list-all # Kiểm tra cấu hình hiện tại
  4. Cấu hình SSH an toàn: 🔒 Để tăng cường bảo mật, hãy cấu hình SSH.

    • Tắt đăng nhập root trực tiếp:
      sudo vim /etc/ssh/sshd_config
      # Tìm dòng "PermitRootLogin yes" và thay đổi thành:
      PermitRootLogin no
    • Sử dụng xác thực bằng khóa SSH (Key-based authentication): Đây là phương pháp bảo mật hơn so với mật khẩu.
      • Tạo cặp khóa SSH trên máy client của bạn.
      • Copy public key lên server.
      • Cấu hình sshd_config để chỉ cho phép xác thực bằng khóa.
      # Trên server, đảm bảo các dòng này được cấu hình:
      PubkeyAuthentication yes
      PasswordAuthentication no # Sau khi đã cấu hình key-based login thành công
    • Khởi động lại dịch vụ SSH sau khi thay đổi:
      sudo systemctl restart sshd
  5. Cấu hình SELinux: SELinux (Security-Enhanced Linux) là một cơ chế bảo mật quan trọng.

    • 💡 Khuyến nghị: Luôn để SELinux ở chế độ enforcing trong môi trường production.
    • Kiểm tra trạng thái SELinux:
      sestatus
    • Nếu cần thay đổi (chỉ khi bạn hiểu rõ):
      # Để thay đổi sang chế độ Permissive (không chặn, chỉ ghi log)
      sudo setenforce 0
      # Để thay đổi sang chế độ Enforcing
      sudo setenforce 1
      # Để thay đổi vĩnh viễn (sau khi reboot)
      sudo vim /etc/selinux/config
      # Thay đổi SELINUX=enforcing thành SELINUX=permissive hoặc SELINUX=disabled (không khuyến nghị)
  6. Cấu hình múi giờ (Time Zone): Đảm bảo múi giờ được đặt chính xác.

    timedatectl set-timezone Asia/Ho_Chi_Minh
    timedatectl status
  7. Đồng bộ thời gian (NTP): Đảm bảo hệ thống luôn đồng bộ thời gian với các máy chủ NTP để tránh các vấn đề liên quan đến chứng chỉ, nhật ký và giao dịch.

    sudo dnf install -y chrony
    sudo systemctl enable --now chronyd
    sudo chronyc sources # Kiểm tra các nguồn NTP
  8. Giám sát và Backup:

    • Giám sát: Cài đặt các công cụ giám sát hệ thống (ví dụ: Prometheus, Grafana, Nagios, Zabbix) để theo dõi hiệu suất và tình trạng server.
    • Backup: Thiết lập giải pháp backup định kỳ cho dữ liệu quan trọng. Đây là yếu tố sống còn trong môi trường production.

Troubleshooting hoặc Các Vấn Đề Thường Gặp

  • Không boot được từ USB/ISO:
    • Kiểm tra lại cài đặt BIOS/UEFI về thứ tự boot.
    • Đảm bảo USB/ISO đã được tạo/gắn đúng cách.
    • Thử dùng một công cụ tạo bootable khác hoặc một USB khác.
  • Không nhận diện ổ cứng trong quá trình cài đặt:
    • Kiểm tra kết nối cáp SATA/NVMe.
    • Nếu là RAID controller, bạn có thể cần cung cấp driver RAID trong quá trình cài đặt (thường không cần với các hệ thống hiện đại).
    • Đảm bảo ổ đĩa không bị hỏng.
  • Lỗi mạng sau cài đặt:
    • Kiểm tra lại cấu hình IP trong /etc/sysconfig/network-scripts/ifcfg-enpXsY.
    • Đảm bảo dịch vụ NetworkManager hoặc network đang chạy: sudo systemctl status NetworkManager.
    • Kiểm tra trạng thái card mạng: ip a.
    • Kiểm tra cấu hình firewall: sudo firewall-cmd --list-all.
  • SELinux ngăn chặn dịch vụ:
    • Nếu một dịch vụ không hoạt động và bạn nghi ngờ SELinux, hãy kiểm tra log: sudo tail -f /var/log/audit/audit.log hoặc sudo journalctl -xe.
    • Sử dụng lệnh sudo ausearch -c <tên_dịch_vụ> | audit2allow -M mypolicy để tạo policy tùy chỉnh nếu bạn chắc chắn hành vi đó là hợp lệ.
    • Tạm thời chuyển SELinux sang permissive (sudo setenforce 0) để kiểm tra xem lỗi có phải do SELinux không.
  • Quên mật khẩu root:
    • Khởi động lại hệ thống.
    • Khi màn hình GRUB xuất hiện, nhấn e để chỉnh sửa mục boot.
    • Tìm dòng bắt đầu bằng linux và thêm rd.break enforcing=0 vào cuối dòng.
    • Nhấn Ctrl+x hoặc F10 để boot.
    • Sau khi boot vào shell, thực hiện:
      mount -o remount,rw /sysroot
      chroot /sysroot
      passwd root
      touch /.autorelabel # Để SELinux tự động re-label sau khi reboot
      exit
      reboot

Kết Luận

Việc cài đặt Rocky Linux cho môi trường production đòi hỏi sự cẩn trọng và tuân thủ các best practices về cấu hình hệ thống và bảo mật. Bằng cách làm theo các bước hướng dẫn chi tiết này, bạn đã thiết lập một nền tảng vững chắc, ổn định và bảo mật cho các ứng dụng và dịch vụ của mình.

Best Practices Quan Trọng:

  • Bảo mật: Luôn sử dụng mật khẩu mạnh, xác thực bằng khóa SSH, cấu hình firewall chặt chẽ và giữ SELinux ở chế độ enforcing.
  • Cập nhật: Thường xuyên cập nhật hệ thống để nhận các bản vá bảo mật và cải tiến.
  • Backup: Triển khai giải pháp backup đáng tin cậy cho tất cả dữ liệu quan trọng.
  • Giám sát: Theo dõi hiệu suất và tình trạng của server để phát hiện sớm các vấn đề.
  • Tài liệu hóa: Ghi lại tất cả các thay đổi cấu hình và quy trình quản lý.

Chúc mừng bạn đã cài đặt thành công Rocky Linux, một lựa chọn tuyệt vời cho môi trường production của bạn!

Tài liệu tham khảo