Đôi dòng tản mạn về boot image
Nôm na, Boot image = Kernel + mini OS + Driver (của SAN, Disk, Network...)
Boot image là một “hệ điều hành tối giản, giống như mini windows vậy” được dùng chỉ để khởi động hệ thống. Nó gồm 3 thành phần là:
Kernel AIX, RAM filesystem (RAM disk), Device drivers cần thiết (disk, SAN, network…)
Hiểu đơn giản hơn nữa thì boot image là cầu nối giữa Firmware Server với Kernel và các bước phía sau đó (như mount rootvg, full OS...), có thể hiểu nó theo sơ đồ sau:
Firmware
↓
Boot image
↓
Kernel
↓
Rootvg
↓
OS đầy đủ.
Còn về bản chất thì boot image sẽ làm những công việc sau trong quá trình khởi động:
Load kernel vào RAM (hay khởi động AIX kernel)
↓
Cung cấp driver để truy cập disk (SAN, disk, network…)
↓
Mount rootvg (tìm root filesystem, chuyển sang OS thật)
↓
Boot full OS (init process, start service...).
Trong sơ đồ start này, bất kỳ bước nào trước đó bị faile (ko start thành công thì các bước sau đó sẽ ko thể start). Chẳng hạn như, nếu ko start được Kernel thì boot sẽ faile ngay từ đầu, nếu ko cung cấp driver thì kernel sẽ ko truy cập được ổ disk, nếu ko truy cập được disk sẽ ko thể tìm thấy / filesystem...Vì thế, các bước này liên hệ rất chặt chẽ với nhau.
Khi tạo boot image (bằng bosboot -ad /dev/hdiskX chẳng hạn) nó sẽ thực hiện các bước sau:
Lấy kernel hiện tại
↓
Tạo RAM disk
↓
Đóng gói thành boot image
↓
Ghi vào boot logical volume (thường và theo mặc định sẽ là hd5).
Vậy câu hỏi đặt ra là khi nào cần tạo lại, hoặc update boot image?
Phần này cực kỳ quan trọng, rất hay quên, dẫn tới boot bị lỗi. Trong các trường hợp dưới đây, đều phải update lại boot image:
1./ Sau khi update hệ thống (update AIX TL / SP, update kernel). Nếu không update lại, chắc chắn reboot thì OS sẽ không lên được, nếu có lên được thì OS sẽ ko ở TL hay SP mới nhất của OS.
2./ Sau khi mirror disk. Cái này là chắc chắn rồi, giả sử hdisk0 chứa OS, sau khi mirror xong sang hdisk1 mà ko update để hdisk1 có thể boot thì việc mirror này ko có ý nghĩa, khi đó, nếu hdisk0 bị faile thì hdisk1 cũng ko boot được.
3./ Sau khi thay disk liên quan tới rootvg. Case này hay bị quên nhất, tương tự như mirror disk vậy.
4./ Sau khi thực hiện alter disk copy (alt_disk_copy)
5./ Khi thay đổi hardware (HBA, SAN, network... chẳng hạn). Nếu ko update, drive mới sẽ ko được update vào hd5.
Một số kinh nghiệm xương máu với boot image:
1./ Bosboot bị faile: Nếu quá trình tạo mới/update bosboot thì làm ơn đừng reboot lại server cho tới khi tạo được bootimage mới. Case này có thể đi nguyên cả OS đấy.
2./ File system /tmp bị full. Trước khi tạo bosboot, làm ơn ngó filesystem /tmp này, phải để trống ít nhất 20Mb
Case hay sử dụng nhất:
hd5 bị lỗi, ko thể boot vào được (hd5 trên hdisk0 bị lỗi), có mirror trên hdisk1 nhưng quên không tạo bosboot cho disk mirror hdisk1 này. Cách tốt nhất để xử lý nó là vào Maintenance mode rồi tạo lại bosboot cho hd5 trên hdisk0, hoặc đặt lại thứ tự boot ưu tiên hdisk1, thay vì hdisk0.
Một số lệnh hay dùng trong quá trình làm việc với bootimage:
#lslv -m hd5 --> Xem hd5 nằm trên đĩa nào
#lsvg -l rootvg --> Tìm hd5 trong rootvg
#lsvg -M rootvg --> Xem mapping hd5 với physical disk
#bosboot -ad /dev/hdisk0 --> Tạo boot image trên hdisk0
#bosboot -ad /dev/hdisk1 --> Tạo trên hdisk1 (nếu mirror)
#bootlist -m normal hdisk0 hdisk1 --> Update bootlist
#bootlist -m -o normal --> Check bootlist
✎ Cấu hình mirror os lên hdisk khác
✎ Hiện tượng Flapping Log trên Switch do Etherchannel AIX gây ra
✎ Backup OS bằng alter disk copy
✎ Tạo USB Bootable cho file ISO
✎ Thay đổi state của path (hay của LUN được map từ Storage)
✎ NVMe và SAS Disk, cách chuyển pdisk sang hdisk với chuẩn SAS
✎ Tìm interface bị down trong etherchannel
✎ Tìm process đang chiếm dụng nhiều tài nguyên như RAM, CPU
✎ Xóa bỏ hoàn toàn cấu hình của interface network
✎ Restore OS từ alter disk copy
✎ Thay disk chứa bootlist first
✎ Đôi dòng tản mạn về Ethernet 1G(RJ45) trên AIX.
✎ Tản mạn đôi chút về PVID của disk
✎ Thay đổi MTU cho interface từ 1500 lên 9000
✎ Normal boot, Maintenance mode, Single-user mode và Diagnostic



