SMiTTY.VN
Thay disk chứa bootlist first

Server AIX có OS đang chạy trên hdisk0 và bản mirror của nó trên hdisk1.
Như vậy, bài toán ở đây là hdisk0 bị faile, OS đã được chuyển sang chạy trên hdisk1.
So với bài toán thay disk mirror. Bài toán này sẽ khác một chút xíu, khi cần phải set lại boot cho hdisk1 trước khi thay disk.
0./ Backup OS, có thể dùng altdisk hoặc dùng lệnh:
#mksysb -i /backup/mksysb_$(date +%Y%m%d).bak
Các bước thực hiện thay hdisk0 như sau:
1./ Xác nhận lại tình trạng của mirror hdisk1:
#lspv hdisk0
#lsvg -p rootvg
--> Output của 2 lệnh này sẽ thấy "PV STATE" không ở active, nó có thể có giá trị là missing hoặc failed.
2./ Xử lý dump device:
Mục đích của việc này nhằm xác nhận dump devices đang nằm trên hdisk0 hay ko. Check dump devcies bằng lệnh:
#sysdumpdev -l
Trong output của lệnh này cần chú ý tới "primary", thường (và mặc định) nó có giá trị là /dev/lg_dumplv. Cần phải kiềm tra xem /dev/lg_dumplv có đang nằm ở hdisk0 hay không bằng lệnh:
#lslv -p lg_dumplv
Nếu Output có hdisk0 thì chứng tỏ lg_dumplv hiện đăng được lưu ở hdisk0, cần phải chuyển nó sang hdisk1 trước khi thực hiện thay disk mới cho hdisk0 (Nếu không thì bỏ qua bước này).
Disable dump devices file bằng lệnh:
#sysdumpdev -Pp /dev/sysdumpnull
Migrate LP lg_dumplv từ hdisk0 sang hdisk1 bằng lệnh:
#migratepv -lv lg_dumplv hdisk0 hdisk1
Hoặc thay vì thực hiện Migrate lg_dumplv, ta thực hiện migrate lv hd7 bằng lệnh:
#migratepv -l hd7  hdisk0 hdisk1
Thường bước migrate này sẽ thành công, nếu không thể thì xóa lg_dumplv đi và tạo mới trên hdisk0:
#rmlv -f lg_dumplv
#mklv -lv lg_dumplv -type sysdump -size 1 rootvg hdisk0
Sau đó, enable lại dump device file bằng lệnh:
#sysdumpdev -Pp /dev/lg_dumplv
3./Unmirror hdisk0 ra khỏi rootvg:
#unmirrorvg rootvg hdisk0
#savebase -v (--> Lệnh này để lưu ODM)
Kiểm tra sau khi unmirrorvg:
#lspv -l hdisk0
Phải đảm bảo không còn LV nào trên hdisk0, nếu còn, phải thực hiện migratepv sang hdisk1:
#migratepv -l <LV_name> hdisk0 hdisk1
4./ Cập nhật lại boot iamge và bootlist
#bosboot -ad /dev/hdisk1 (-->Tạo boot image trên hdisk1)
#savebase -v (-->Save ODM)
#bootlist -m normal hdisk1 (-->Chỉ boot từ hdisk1)
#bootlist -m normal -o (-->hd5 chỉ có trên hdisk1)
5./ Remove hdisk0 khỏi Volume Group và cấu hình hệ thống:
#reducevg rootvg hdisk0 (-->Có thể phải cần đến -d option)
Nếu reducevg ko thực hiện được, thì thực hiện bằng lệnh:
#reducevg -d -f rootvg <PVID_hdisk0> (-->Lấy PVID từ output của #lspv)
#rmdev -dl hdisk0 (--> đối khi cần thêm option -Rdl nếu cần recursive)
6./ Thay disk vật lý mới:
#diag --> Task Selection --> Hot Plug Task --> SCSI Hot Plug Manager --> Replace/Remove a Device --> Chọn hdisk0 --> Remove --> Thay đĩa mới --> Insert
Sau khi thay xong, cần phải scan lại để server nhận disk mới, thường thì nó vẫn nhận là hdisk0 và check lại disk:
#cfgmgr hoặc #cfgmgr -v
#lspv hoặc #lsdev -Cc disk
Ngoài ra, còn có thể kiểm tra thêm thuộc tính của disk mới xem có tương đồng với hdisk0 hiện tại hay không:
#lsattr -El hdisk0
7./ Extend rootvg và thực hiện mirror lại cho hdisk0
#extendvg rootvg hdisk0 (-->có thể sẽ cần -f option nếu cần force)
#mirrorvg rootvg hdisk0 (-->có thể sẽ cần -m option)
Thực hiện sync lại data cho rootvg bằng lệnh:
#syncvg -v rootvg
Nếu không muốn thực hiện sync data một cách thủ công bằng lệnh trên thì trong lệnh mirrorvg cần có thêm option "-S" (sync data ngầm) như sau:
#mirrorvg -S rootvg hdisk0
Quá trình mirror có thể mất vài phút tới vài giờ (phụ thuộc vào dung lượng của disk). Kiểm tra bằng lệnh:
#lsvg -p rootvg (-->hdisk1 có state ở Acitve)
#lsvg -l rootvg (-->Kết thúc khi STALE PVs: 0)
8./ Cấu hình boot cho rootvg:
Cấu hình boot image trên cả 2 disk bằng lệnh:
#bosboot -ad /dev/hdisk0
#bosboot -ad /dev/hdisk1
Cấu hình thứ tự boot OS bằng lệnh:
#bootlist -m normal hdisk0 hdisk1
Kiểm tra lại bootlist bằng lệnh:
#bootlist -o -m normal
Output phải đảm bảo LV hd5 phải xuất hiện ở cả hdisk0 và hdisk1.
Tới đây là kết thúc quá trình thay disk, còn bước chuyển dump devices từ hdisk1 sang hdisk0 như ở mục số 2 là optional.