it

Rocky Linux Migration Disaster Recovery Plan

Rocky Linux Migration Disaster Recovery Plan
Linux

โดย อ. บอมกิตติทัศน์เจริญพนาสิทธิ์ | อัปเดต 24 ก. พ. 2026 | อ่าน 16 นาที

Rocky Linux คืออะไร — ทำไมต้อง Migrate จาก CentOS

Rocky Linux Migration Disaster Recovery Plan

Rocky Linux เป็น Enterprise Linux Distribution ที่เข้ากันได้ 100% แบบ Binary-compatible กับ Red Hat Enterprise Linux (RHEL) ก่อตั้งโดย Gregory Kurtzer ผู้ร่วมก่อตั้ง CentOS ดั้งเดิมตั้งชื่อเพื่อเป็นเกียรติแก่ Rocky McGaugh ผู้ร่วมก่อตั้ง CentOS อีกู้คืนที่เสียชีวิตไปแล้ว

เหตุผลที่ต้อง Migrate จาก CentOS คือ Red Hat ประกาศเปลี่ยน CentOS จาก Downstream (สร้างจาก RHEL Source) เป็น CentOS Stream ที่เป็น Upstream (อยู่ก่อน RHEL) ทำให้ CentOS Stream ไม่เหมาะกับ Production Server อีกต่อไปเพราะอาจมี Bug ที่ยังไม่ได้แก้ CentOS 8 สิ้นสุด Support ไปแล้ว CentOS 7 สิ้นสุด 30 มิถุนายน 2024 ดังนั้น Server ที่ยังใช้ CentOS ต้อง Migrate มา Rocky Linux, AlmaLinux หรือ RHEL

เปรียบเทียบ Rocky Linux vs AlmaLinux vs Oracle Linux

คุณสมบัติRocky LinuxAlmaLinuxOracle Linux
ความเข้ากันได้1:1 Binary RHEL1:1 Binary RHELRHEL Compatible + UEK
ผู้ดูแลRocky Enterprise Software FoundationAlmaLinux OS FoundationOracle Corporation
GovernanceCommunity-drivenCommunity-drivenCorporate-driven
Migration Toolmigrate2rockyalmalinux-deploycentos2ol
Support ฟรีCommunityCommunityCommunity + ซื้อเพิ่มได้
Kernel พิเศษไม่มี (ใช้ RHEL Kernel)ไม่มี (ใช้ RHEL Kernel)UEK (Unbreakable Enterprise Kernel)
แนะนำสำหรับProduction ทั่วไปProduction ทั่วไปOracle Stack

Rocky Linux และ AlmaLinux ใช้แทนกันได้เลือกตามความชอบทั้งคู่เข้ากันได้กับ RHEL 100% ส่วน Oracle Linux มี Kernel พิเศษ (UEK) ที่ Optimize สำหรับ Oracle Database

เนื้อหาเกี่ยวข้อง — อ่านต่อ: Azure Container Apps Shift Left Security

เตรียมตัวก่อน Migration — Checklist

  1. Backup ทุกอย่าง — Full System Backup + Database Dump + Config Files ก่อน Migration เสมอ
  2. ตรวจ Hardware Compatibility — ดูว่า Driver ทำงานกับ Rocky Linux ได้หรือไม่
  3. ตรวจ Application Compatibility — ทดสอบ Application บน Rocky Linux ก่อนทำ Production
  4. ตรวจ 3rd Party Repository — EPEL, Remi, ELRepo อาจต้อง Update URL
  5. Document ทุกอย่าง — จด IP, Hostname, Service ที่รัน, Firewall Rules, Cron Jobs
  6. แจ้ง Stakeholders — แจ้ง Downtime Window ให้ทุกคนที่เกี่ยวข้อง
  7. เตรียม Rollback Plan — ถ้า Migration ล้มเหลวต้อง Restore กลับได้ภายในเวลาที่กำหนด

Migrate จาก CentOS 8 มา Rocky Linux 8

# 1. Backup ก่อนเสมอ!

sudo tar czf /backup/full-backup-$(date +%Y%m%d).tar.gz --exclude=/backup --exclude=/proc --exclude=/sys --exclude=/dev /



# 2. ดาวน์โหลด migrate2rocky script

curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh



# 3. ตรวจสอบ Script

bash migrate2rocky.sh --help



# 4. รัน Migration

sudo bash migrate2rocky.sh -r



# ระบบจะ:

# - ลบ CentOS Repository

# - เพิ่ม Rocky Linux Repository

# - เปลี่ยน Package ทั้งหมดเป็น Rocky Linux

# - ใช้เวลาประมาณ 15-30 นาที



# 5. Reboot

sudo reboot



# 6. ตรวจสอบหลัง Reboot

cat /etc/os-release

# NAME="Rocky Linux"

# VERSION="8.9 (Green Obsidian)"



rpm -qa | grep centos

# ไม่ควรมี Package ของ CentOS เหลือ



# 7. Update ทั้งหมด

sudo dnf update -y

Migrate จาก CentOS 7 — Upgrade Path

CentOS 7 ไม่สามารถ Migrate ตรงไป Rocky Linux 8/9 ได้เพราะเป็นคนละ Major Version มี 2 ทางเลือก

  • In-place Upgrade — ใช้ ELevate Project (จาก AlmaLinux) ที่ Upgrade CentOS 7 → Rocky Linux 8 → Rocky Linux 9 แบบ In-place แต่มีความเสี่ยงสูงแนะนำสำหรับ Server ที่ไม่ Critical
  • Fresh Install + Migration — ติดตั้ง Rocky Linux 9 ใหม่แล้วย้าย Data และ Config จาก CentOS 7 มาวิธีนี้ปลอดภัยที่สุดแนะนำสำหรับ Production Server
# ELevate: CentOS 7 → Rocky Linux 8

sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

sudo yum install -y leapp-upgrade leapp-data-rocky



# Pre-upgrade Check

sudo leapp preupgrade



# ดู Report

cat /var/log/leapp/leapp-report.txt



# แก้ปัญหาที่ Report แจ้ง แล้วรัน Upgrade

sudo leapp upgrade



# Reboot เข้า Upgrade Mode

sudo reboot

# ระบบจะ Boot เข้า Upgrade Environment อัตโนมัติ ใช้เวลา 30-60 นาที

ติดตั้ง Rocky Linux 9 ใหม่ (Fresh Install)

สำหรับ Server ใหม่หรือ Migration จาก CentOS 7 แนะนำ Fresh Install Rocky Linux 9

แนะนำเพิ่มเติม — iCafeForex

# ดาวน์โหลด ISO

# https://rockylinux.org/download



# หลังติดตั้งเสร็จ

# 1. Update

sudo dnf update -y



# 2. ติดตั้ง EPEL

sudo dnf install -y epel-release



# 3. ติดตั้ง Tools พื้นฐาน

sudo dnf install -y vim htop tmux wget curl git rsync



# 4. ตั้ง Firewall

sudo systemctl enable --now firewalld

sudo firewall-cmd --permanent --add-service=ssh

sudo firewall-cmd --permanent --add-service=http

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload



# 5. ตั้ง SELinux (Enforcing)

sudo setenforce 1

sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config



# 6. ตั้ง Automatic Security Update

sudo dnf install -y dnf-automatic

sudo sed -i 's/apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf

sudo systemctl enable --now dnf-automatic.timer

Post-Migration — ตรวจสอบและ Hardening

  • ตรวจ Service ทั้งหมดsystemctl list-units --type=service --state=running
  • ตรวจ Networkip addr, ss -tlnp, firewall-cmd --list-all
  • ตรวจ Application — เปิดเว็บทดสอบ API ดู Error Log
  • ตรวจ Cron Jobscrontab -l, ls /etc/cron.d/
  • ตรวจ SELinuxgetenforce ควรเป็น Enforcing ดู Audit Log ว่ามี Denial หรือไม่
  • Hardening — ปิด SSH Root Login, ใช้ SSH Key, ปิด Port ที่ไม่ใช้, ตั้ง Fail2ban

Disaster Recovery คืออะไร — RPO, RTO, DR Strategy

Rocky Linux Migration Disaster Recovery Plan

Disaster Recovery (DR) คือแผนและกระบวนการกู้คืนระบบ IT เมื่อเกิดเหตุการณ์ร้ายแรงเช่น Hardware Failure, Data Center ไฟไหม้/น้ำท่วม, Ransomware Attack, Human Error ลบข้อมูลผิดหรือ Network Outage ยาวนาน

เนื้อหาเกี่ยวข้อง — ทำความเข้าใจ Ansible Collection Site Reliability SRE

Metric สำคัญ 2 ตัวที่ต้องกำหนด

  • RPO (Recovery Point Objective) — ปริมาณข้อมูลที่ยอมสูญเสียได้เช่น RPO 1 ชั่วโมง = ยอมเสียข้อมูลได้ไม่เกิน 1 ชั่วโมงล่าสุดกำหนดจาก Backup Frequency
  • RTO (Recovery Time Objective) — เวลาที่ต้องกู้คืนระบบให้ Online เช่น RTO 4 ชั่วโมง = ระบบต้อง Online ภายใน 4 ชั่วโมงหลังเกิดเหตุกำหนดจาก DR Strategy
RPOBackup StrategyRTODR Strategy
24 ชม.Daily Backup24+ ชม.Cold Site
1-4 ชม.Hourly Snapshot4-8 ชม.Warm Site
< 1 ชม.Real-time Replication< 1 ชม.Hot Site
0 (Zero)Synchronous ReplicationนาทีActive-Active

Backup Strategy — 3-2-1 Rule

กฎ 3-2-1 เป็นมาตรฐานของ Backup Strategy

  • 3 สำเนา — เก็บข้อมูลอย่างน้อย 3 ชุด (1 Original + 2 Backup)
  • 2 สื่อ — เก็บบนสื่อต่างชนิดกันอย่างน้อย 2 แบบ (เช่น Disk + Tape หรือ Local + Cloud)
  • 1 Offsite — เก็บอย่างน้อย 1 ชุดนอกสถานที่ (เช่น Cloud หรือ DR Site ต่างจังหวัด)
# Backup Script สำหรับ Rocky Linux

#!/bin/bash

DATE=$(date +%Y%m%d)

BACKUP_DIR="/backup"

REMOTE="backup-server:/backup/$(hostname)"



# 1. Database Backup

mysqldump --all-databases --single-transaction | gzip > $BACKUP_DIR/mysql-$DATE.sql.gz

pg_dumpall | gzip > $BACKUP_DIR/postgres-$DATE.sql.gz



# 2. Config Backup

tar czf $BACKUP_DIR/etc-$DATE.tar.gz /etc/



# 3. Application Data

rsync -az --delete /var/www/ $BACKUP_DIR/www/

rsync -az --delete /opt/app/ $BACKUP_DIR/app/



# 4. Send to Remote (Offsite)

rsync -az --delete -e "ssh -p 22" $BACKUP_DIR/ $REMOTE/



# 5. Cleanup: เก็บ 30 วัน

find $BACKUP_DIR -name "*.gz" -mtime +30 -delete



# 6. Verify

echo "Backup completed: $(du -sh $BACKUP_DIR)" | mail -s "Backup Report" admin@example.com

DR Level ต่างๆ — Cold, Warm, Hot Site

  • Cold Site — มี Hardware พร้อมแต่ไม่มี Data ต้อง Restore จาก Backup เมื่อเกิดเหตุ RTO สูง (วัน) ค่าใช้จ่ายต่ำสุด
  • Warm Site — มี Hardware + OS + Application แต่ Data ไม่ Real-time ต้อง Restore Backup ล่าสุดก่อน RTO ปานกลาง (ชั่วโมง)
  • Hot Site — มีทุกอย่างเหมือน Production + Data Replicate แบบ Near Real-time พร้อม Failover ทันที RTO ต่ำ (นาที) ค่าใช้จ่ายสูงสุด
  • Active-Active — 2 Site ทำงานพร้อมกัน Load Balance Traffic ข้ามกันถ้า Site หนึ่งล่มอีก Site รับ Traffic ทั้งหมดทันที RTO ใกล้ 0

สร้าง DR Plan สำหรับ Rocky Linux Server

DR Plan ที่ดีต้องครอบคลุม 5 ส่วน

แนะนำเพิ่มเติม — ติดตาม XM Signal

เนื้อหาเกี่ยวข้อง — ทำความเข้าใจ migrate server คือ — ข้อมูลครบถ้วน 2026

  1. Risk Assessment — ระบุความเสี่ยงทั้งหมด (Hardware Failure, Natural Disaster, Cyber Attack, Human Error) ประเมินโอกาสและผลกระทบ
  2. RPO/RTO Definition — กำหนด RPO และ RTO สำหรับแต่ละ System ตาม Business Impact
  3. Backup & Replication — กำหนดวิธี Backup และ Frequency สำหรับแต่ละ System
  4. Recovery Procedures — เขียนขั้นตอนกู้คืนที่ละเอียด Step-by-Step ใครก็ทำตามได้
  5. Testing Schedule — ซ้อมกู้คืนอย่างน้อยปีละ 2 ครั้งบันทึกผลและปรับปรุง

Bare-metal Backup ด้วย ReaR

ReaR (Relax-and-Recover) เป็นเครื่องมือ Bare-metal Backup/Recovery สำหรับ Linux สร้าง Bootable ISO ที่ Restore ระบบทั้งหมดได้ภายในไม่กี่นาที

# ติดตั้ง ReaR

sudo dnf install -y rear genisoimage syslinux



# กำหนด Config

cat > /etc/rear/local.conf << 'EOF'

OUTPUT=ISO

OUTPUT_URL=nfs://backup-server/backup/rear/

BACKUP=NETFS

BACKUP_URL=nfs://backup-server/backup/rear/

BACKUP_PROG_COMPRESS_OPTIONS=("--gzip")

BACKUP_PROG_COMPRESS_SUFFIX=".gz"

NETFS_KEEP_OLD_BACKUP_COPY=2

EOF



# สร้าง Backup

sudo rear -v mkbackup



# ผลลัพธ์: ISO ที่ Boot ได้ + Data Archive

# เก็บไว้บน NFS Server



# Recovery: Boot จาก ISO แล้วรัน

rear -v recover

# ระบบจะ Restore Partition, OS, Data ทั้งหมดอัตโนมัติ

Automated DR ด้วย Ansible

# dr-playbook.yml — Automated Server Recovery

---

- name: Restore Rocky Linux Server

 hosts: dr_servers

 become: yes

 vars:

 backup_server: backup.example.com

 backup_path: /backup/production

 

 tasks:

 - name: Install base packages

 dnf:

 name: "{{ item }}"

 state: present

 loop:

 - nginx

 - postgresql-server

 - redis

 - python3

 - certbot

 

 - name: Restore configs

 synchronize:

 src: "{{ backup_server }}:{{ backup_path }}/etc/"

 dest: /etc/

 mode: pull

 

 - name: Restore application

 synchronize:

 src: "{{ backup_server }}:{{ backup_path }}/app/"

 dest: /opt/app/

 mode: pull

 

 - name: Restore database

 shell: |

 gunzip -c {{ backup_path }}/postgres-latest.sql.gz | psql -U postgres

 

 - name: Start services

 systemd:

 name: "{{ item }}"

 state: started

 enabled: yes

 loop:

 - nginx

 - postgresql

 - redis

 

 - name: Verify health

 uri:

 url: "http://localhost/health"

 status_code: 200

 register: health

 retries: 10

 delay: 5

DR Testing — ซ้อมกู้คืนระบบ

DR Plan ที่ไม่เคยทดสอบไม่มีประโยชน์ต้องซ้อมกู้คืนอย่างสม่ำเสมอ

  • Tabletop Exercise — ประชุมจำลองสถานการณ์เดินผ่าน DR Plan ทุกขั้นตอนบนกระดาษทำทุก Quarter
  • Partial Test — ทดสอบ Restore บาง Component เช่น Restore Database จาก Backup ดูว่าข้อมูลครับหรือือไม่ทำทุกเดือน
  • Full DR Test — จำลองเหตุการณ์จริง Failover ไป DR Site ทั้งหมดทดสอบว่า Application ทำงานได้ครบวัด RTO จริงทำปีละ 1-2 ครั้ง

หลังทุกการทดสอบต้องบันทึกผลปัญหาที่พบเวลาที่ใช้แล้วปรับปรุง DR Plan ให้ดีขึ้น

เนื้อหาเกี่ยวข้อง — บทความที่เกี่ยวข้อง: chart pattern สัญญาณการกลับตัว

Best Practices และสรุป

  • Backup ก่อน Migration เสมอ — ไม่มีข้อยกเว้น
  • ทดสอบบน Staging ก่อน — อย่า Migrate Production เป็นตัวแรก
  • ใช้ 3-2-1 Backup Rule — 3 สำเนา, 2 สื่อ, 1 Offsite
  • กำหนด RPO/RTO ชัดเจน — คุยกับ Business ว่ายอมรับได้แค่ไหน
  • Automate ทุกอย่าง — Backup Script, DR Playbook, Monitoring ทำอัตโนมัติ
  • ซ้อม DR อย่างน้อยปีละ 2 ครั้ง — DR Plan ที่ไม่เคยทดสอบไม่มีค่า
  • Document อัปเดตเสมอ — เมื่อ Infrastructure เปลี่ยน DR Plan ต้องเปลี่ยนตาม
  • ใช้ SELinux Enforcing — ป้องกัน Attack ที่ Exploit Application
  • อัปเดต Security Patch สม่ำเสมอ — เปิด dnf-automatic สำหรับ Security Update

Rocky Linux เป็นทางเลือกที่ดีที่สุดสำหรับ Migrate จาก CentOS ด้วยความเข้ากันได้ 100% กับ RHEL และ Community ที่แข็งแกร่งเมื่อรวมกับ Disaster Recovery Plan ที่ครอบคลุมจะได้ระบบ Production ที่เสถียรปลอดภัยและกู้คืนได้อย่างมั่นใจติดตามบทความใหม่ๆได้ที่ SiamCafe.net

อ. บอมกิตติทัศน์เจริญพนาสิทธิ์
IT Infrastructure Expert | Thaiware Award | ประสบการณ์กว่า 25 ปี — ผู้ก่อตั้ง SiamCafe.net Since 2000-2026

Q: Rocky Linux คืออะไร

Enterprise Linux ที่เข้ากันได้ 100% กับ RHEL สร้างโดย Gregory Kurtzer ผู้ร่วมก่อตั้ง CentOS ทดแทน CentOS ที่เปลี่ยนเป็น Stream

XM Legend · เทรดเดอร์ & ผู้สอน Forex 13 ปี

ผู้ก่อตั้ง SiamCafe ตั้งแต่ปี 1997 · เทรดเดอร์สาย Forex มากกว่า 13 ปี ได้รับการยกย่องเป็น XM Legend · แบ่งปันความรู้ Forex, ไอที, AI และการเทรด จากประสบการณ์จริงในตลาดจริง