Many AIX systems still use SDDPCM as a multipathing solution. However, SDDPCM is no longer supported on POWER 9 hardware from IBM. The migration from SDDPCM to AIX PCM on an example system is shown in more detail here:https://powercampus.de/en/migration-from-sddpcm-to-aix-pcm/
On most AIX systems the SP or TL level is updated at regular intervals. It makes sense to perform the migration from SDDPCM to AIX PCM together with such an update. This saves time and some reboots, which otherwise have to be done because of the multipathing migration. The migration from SDDPCM to AIX-PCM, as part of an OS update, using the Alternate Disk Copy method, is shown in more detail here: https://powercampus.de/en/migration-to-aix-pcm-combined-with-os-update-using-alternate-disk-copy
ioserver:padmin # for x in 0 1 4 5; do chdev -l ent$x -a jumbo_frames=yes; done ent0 changed ent1 changed ent4 changed ent5 changed
Sea su mgmt
Now it is possible to define the shared ethernet adapter using the physical (ent2) adapter and virtual (ent8 ent9) to bridge data and sea control channel.
En10 will be used just to assign an ip address to the vios server.
Configurare la SEA, abilitando largesend, large_receive e jumbo_frames.
Nell’esempio, avendo un solo trunk, è stata impostata la modalità auto (ha_mode=auto), nel caso di SEA con più trunk impostare il load sharing (ha_mode=sharing):
chdev -l entX -a jumbo_frames=yes largesend=1 jumbo_frames=yes large_receive=yes
mkdev -l entX
chdev -l entX -a ha_mode=auto
6) IMPOSTAZIONE parametri di rete sulle virtual Ethernet delle LPAR client
Impostare i seguenti parametri sulla scheda di rete:
max_buf_huge=128
max_buf_large=256
max_buf_medium=2048
max_buf_small=4096
max_buf_tiny=4096
min_buf_huge=127
min_buf_large=255
min_buf_medium=2047
min_buf_small=4095
min_buf_tiny=4095
chdev -l entX -a max_buf_huge=128 -a max_buf_large=256 -a max_buf_medium=2048 -a max_buf_small=4096 -a max_buf_tiny=4096 -a min_buf_huge=127 -a min_buf_large=255 -a min_buf_medium=2047 -a min_buf_small=4095 -a min_buf_tiny=4095 -P
chdev -l enX -a mtu_bypass=on -a tcp_nodelay=1 -a rfc1323=1 -a mtu=9000
Di seguito i passi eseguiti per clonare rootvg della lpar LPAR1 in occasione della migrazione da un P6-570 ad un P7-770.
Aggiungo un disco da 50GB (hdisk27) che ospiterà il rootvg della nuova partizione , sulla vecchia si chiamerà altinst_rootvg
al termine dell’operazione.
root@lpar1:/#lspv
hdisk0 00cff683554eac45 rootvg active
hdisk1 00cff683554eac7b rootvg active
hdisk4 00cff683e9f9313f vgappl30 active
hdisk2 00cff68379f89cc7 vgappl31 active
hdisk3 00cff68379f89dbe vgappl32 active
hdisk5 00cff68379f89e28 vgappl33 active
hdisk6 00cff68379f89e74 vgappl34 active
hdisk7 00cff68379f89eb4 vgappl35 active
hdisk8 00cff68379f89ef9 vgappl36 active
hdisk9 00cff68379f89f36 vgappl30 active
hdisk10 00cff68379f89f7a vgappl31 active
hdisk11 00cff68379f89fbb vgappl32 active
hdisk12 00cff68379f89ffc vgappl33 active
hdisk13 00cff68379f8a046 vgappl34 active
hdisk14 00cff68379f8a08b vgappl35 active
hdisk15 00cff68379f8a0d1 vgappl36 active
hdisk16 00cff6837a2fb38a tempvg active
hdisk17 00cff683ad734158 tempvg active
hdisk18 00cff6837b91c30d vgappl30 active
hdisk19 00cff683d38e1716 swapvg active
hdisk20 00cff6830a99978f vgappl30 active
hdisk21 00cff6830a999885 vgappl31 active
hdisk22 00cff6830a9998f1 vgappl32 active
hdisk23 00cff6830a999958 vgappl33 active
hdisk24 00cff6830a9999c5 vgappl34 active
hdisk25 00cff6830a999a4e vgappl35 active
hdisk26 00cff6830a999ace vgappl36 active
hdisk27 00cff6830915c025 None
Notare che se rootvg è mirrored l’operazione fallirà per mancanza di spazio; rimuovere mirror prima di procedere:
root@lpar1:/#unmirrorvg rootvg hdisk1
0516-1246 rmlvcopy: If hd5 is the boot logical volume, please run ‘chpv -c <diskname>’
as root user to clear the boot record and avoid a potential boot
off an old boot image that may reside on the disk from which this
logical volume is moved/removed.
0516-1804 chvg: The quorum change takes effect immediately.
0516-1144 unmirrorvg: rootvg successfully unmirrored, user should perform
bosboot of system to reinitialize boot records. Then, user must modify
bootlist to just include: hdisk0.
Verifichiamo lo stato del mirror :
root@lpar1:/#lsvg -p rootvg
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 981 588 08..00..188..196..196
hdisk1 active 981 981 197..196..196..196..196
OK , adesso rimuovo hdisk1 da rootvg :
root@lpar1:/#reducevg rootvg hdisk1
root@lpar1:/#lsvg -p rootvg
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 981 588 08..00..188..196..196
Un altro problema che potrebbe impedire l’operazione è la presenza di LV con nomi di lunghezza superiore a 12 caratteri
visto che la procedura aggiungerà un prefisso al nome originale dei logical volumes.
root@lpar1:/#smitty alt_clone
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
* Target Disk(s) to install [hdisk27] +
Phase to execute all +
image.data file [] /
Exclude list [] /
Bundle to install [] +
-OR-
Fileset(s) to install []
Fix bundle to install []
-OR-
Fixes to install []
Directory or Device with images []
(required if filesets, bundles or fixes used)
installp Flags
COMMIT software updates? yes +
SAVE replaced files? no +
AUTOMATICALLY install requisite software? yes +
EXTEND file systems if space needed? yes +
OVERWRITE same or newer versions? no +
VERIFY install and check file sizes? no +
ACCEPT new license agreements? yes +
Customization script [] /
Set bootlist to boot from this disk
on next reboot? no +
Reboot when complete? no +
Verbose output? yes +
Debug output? no +
Attenzione a non selezionare la modifica della bootlist e il reboot when complete .
Selezionando l’output verboso vedremo la lista dei files che vengono copiati nel nuovo disco , inutile.
Alla fine avremo :
root@lpar1:/#lspv
hdisk0 00cff683554eac45 rootvg active
hdisk1 00cff683554eac7b None
hdisk4 00cff683e9f9313f vgappl30 active
hdisk2 00cff68379f89cc7 vgappl31 active
hdisk3 00cff68379f89dbe vgappl32 active
hdisk5 00cff68379f89e28 vgappl33 active
hdisk6 00cff68379f89e74 vgappl34 active
hdisk7 00cff68379f89eb4 vgappl35 active
hdisk8 00cff68379f89ef9 vgappl36 active
hdisk9 00cff68379f89f36 vgappl30 active
hdisk10 00cff68379f89f7a vgappl31 active
hdisk11 00cff68379f89fbb vgappl32 active
hdisk12 00cff68379f89ffc vgappl33 active
hdisk13 00cff68379f8a046 vgappl34 active
hdisk14 00cff68379f8a08b vgappl35 active
hdisk15 00cff68379f8a0d1 vgappl36 active
hdisk16 00cff6837a2fb38a tempvg active
hdisk17 00cff683ad734158 tempvg active
hdisk18 00cff6837b91c30d vgappl30 active
hdisk19 00cff683d38e1716 swapvg active
hdisk20 00cff6830a99978f vgappl30 active
hdisk21 00cff6830a999885 vgappl31 active
hdisk22 00cff6830a9998f1 vgappl32 active
hdisk23 00cff6830a999958 vgappl33 active
hdisk24 00cff6830a9999c5 vgappl34 active
hdisk25 00cff6830a999a4e vgappl35 active
hdisk26 00cff6830a999ace vgappl36 active
hdisk27 00cff6830915c025 altinst_rootvg
A questo punto abbiamo il nuovo rootvg (altinst_rootvg) , per accedervi dobbiamo usare il comando alt_rootvg_op.
Ad esempio possiamo “svegliare” il vg :
root@lpar1:/#alt_rootvg_op -W -d hdisk27
Waking up altinst_rootvg volume group …
root@lpar1:/#alt_rootvg_op -S
Putting volume group altinst_rootvg to sleep …
forced unmount of /alt_inst/var/adm/ras/livedump
forced unmount of /alt_inst/var/adm/ras/livedump
forced unmount of /alt_inst/var
forced unmount of /alt_inst/var
forced unmount of /alt_inst/usr
forced unmount of /alt_inst/usr
forced unmount of /alt_inst/tmp
forced unmount of /alt_inst/tmp
forced unmount of /alt_inst/opt/ocsinventory
forced unmount of /alt_inst/opt/ocsinventory
forced unmount of /alt_inst/opt/netbackup
forced unmount of /alt_inst/opt/netbackup
forced unmount of /alt_inst/opt/nagios
forced unmount of /alt_inst/opt/nagios
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/logs
forced unmount of /alt_inst/logs
forced unmount of /alt_inst/admin
forced unmount of /alt_inst/admin
forced unmount of /alt_inst
forced unmount of /alt_inst
Fixing LV control blocks…
Fixing file system superblocks…
Scenario , ambiente dual vios su cui vogliamo costruire una shared ethernet adapter con failover e vlan multiple.
Su entrambi I vios definire due virtual adapters su cui verranno configurate le vlan necessarie , in questo caso la 1 per la rete di produzione e la 606 per la management . E’ necessario attivare il 802.1q per poter assegnare vlan multiple all’adapter. Sul primo vios della coppia assegnamo anche trunk priority uguale a 1 .
Sul secondo vio replichiamo la stessa configurazione con però trunk priority uguale a 2.
A questo punto configuriamo I due virtual adapter che costituiranno il control channel per il failover della SEA . In questo caso utilizziamo un vlanid non usato , ad es . 999 , senza settare 802.1q e il
dove ent2 è la fisica , nel nostro caso un etherchannel costruito su due fisiche;
ent3 è il vadapter che conosce le vlan di prod e mgmt ;
defaultid = il vlanid di default ; ctl_chan = il vadapter sulla vlan 999 ;
Configuriamo l’ip address sulla sea oppure aggiungiamo un ulteriore vadapter per rimanere indipendenti dalla SEA e non perdere connettività in caso di manutenzione.