aix的系統備份命令是mksysb, make system backup ,有點類似 ghost.
aix5.3支持微分區技術,所謂微分區就是1臺機器上裝多個OS(操作系統),把這臺機器上的cpu資源進行劃分,然后分配給每一個os使用,最小粒度是0.1個cpu.有點類似vmware軟件.讓一個機器跑多個操作系統.這項技術早在ibm的大機上就已經實現了.只不過最近才在小機和pc機器上發布.
TIVOLI是系統管理軟件.
關閉aix的命令:shutdown ->正常關機,關閉所有服務. halt -> 相當于直接關閉電源.
重啟aix:shutdown -Fr
查看出錯信息:errpt errpt -a | more -> 分頁顯示 errpt -a > /tmp/err01 輸出到文件.
清除錯誤信息:errclear 0
smit 用鼠標操作 smitty 用鍵盤來操作,一般用smitty為好.
ping -f 全速ping ,利用所有的服務器資源來ping,如果是多個服務器ping一個ip,可以把機器ping死.
幾個關于磁盤的名詞:
lv: logical volume 邏輯卷
pv: physical volume 物理卷
vg: volume group 卷組
pp: physical partition 物理分區
lp: logical partition 邏輯分區
pv對應的是物理硬盤或者是磁盤陣列上劃分的lun,一個vg最多可以有1016個pp.
pv的上面是vg,一個vg可以包含多個pv.
vg的上面是lv,lv如果不作任何處理就是裸設備,也可以作成文件系統.
lv被分為多個lp,默認情況下,lp與pp是一一對應的,也可以做成一對多的.這樣就相當于用多個pp來作raid0備份.
lsdev -C | grep disk 可以查看物理磁盤的硬件信息
lspv 查看pv的信息 -p hdisk0 查看具體數據存放的位置:例如,數據在第m到n個pp上面.
lsvg 查看vg的信息 -l vg的列表 -c 被使用的vg -l rootvg 查看rootvg的詳情.
lslv -m lv1 查看lv1 的lp與pp的映射.
getlvcv -AT lv1 看到lv1的控制信息.
fsck -y /dev/newlv 檢查lv.
smit vg 可以管理vg
smit lv 管理lv
varryonvg rootvg 激活rootvg卷組,varryoffvg newvg 使newvg卷組脫機.
nbpi:number of bytes per inode 每個i節點擁有的字節數,這個參數越小,文件系統的可用的inode越多.如果inode用完,即使有剩余空間,系統也會報空間不夠.此時要調小nbpi的值.一般是4k
df -k 中iused 指的是i節點的使用情況.
設置從cd啟動,bootlist -m normal cd0
啟動時按ESC+1或者F1,可以進入啟動菜單.選擇啟動方式.
用smitty crfs 創建完文件系統以后還要mount.
/etc/filesystems 文件記錄文件系統的信息.如想把某個lv映射到不同的文件系統路徑上面,可以直接修改這個文件.
用logform /dev/testloglv 將lv格式化成jfs的log的格式.
file 文件名 可以看某個文件的信息,包括文件類型,可執行文件,文本文件,等等.
uname -a 可以看到os的信息.
fsck 檢查文件系統的信息,在umount的時候是準確的, 相當于windows的磁盤掃描.
碎片整理 smitty jfs
lsfs /root 顯示文件系統的屬性
各個組件的關系:
lsps -a 查看page space的使用情況
vgda:vg description area 每個vg的頭部存放vg的描述信息,
如果包含2個pv,那么第一個pv會在頭部和另一個位置存放2個vgda,第2個pv也會存放一個.
如果包含3個pv,那么每個pv上都有1個vgda.
vg的信息在odm中也會存儲,但必須和vgda中的信息一致,否則無法varryonvg,有下面4個命令來管理odm中的vg信息.
importvg:從vgda中讀取信息到odm中
exportvg:從odm中刪除vg信息
varryonvg:激活(online)vg
varryoffvg:卸載(offline)vg
修改vg的factor,這樣可以將vg的max pp 從默認的1016 增大1倍,到2032,但由于vgda的總大小不變,這些信息都是記錄到里面的.所以vg的最大文件數要減小1倍,實際上是個等式:max pp * max file = 固定的一個值,factor增大,實際上是max pp * factor,max file / factor.具體做法:chvg -t 2 rootvg 修改factor為2.vgda
用cfgmgr,來刷新,來認出新assign的hdisk.
cfgmgr -v 檢查新設備,新硬件.
-i /dev/cd0 從光盤自動安裝新硬件驅動.
當作雙機時,2個服務器server1 和 server2 來連接同一個盤陣,server1對磁盤分配一個pvid,當第一次切換到server2時,要用ckdev命令來讀出server1配置的pvid.系統是通過pvid來識別pv的.
ckdev -l hdisk1 -a pv = clear 清除pvid
ckdev -l hdisk1 -a pv = yes 新置pvid
lsdev 查看物理設備
lsdev -C 顯示所有設備狀態
rmdev -l cd0 邏輯刪除 cd0
mkdev -l cd0 安裝cd0
rmdev -d -l cd0 刪除cd0設備驅動
查看cpu的信息
lsattr -El proc0
lsdev -C | grep proc
查看內存的信息
lsattr -El mem0
查看光驅的信息
lsattr -El cd0
查看硬盤的信息
lsattr -El hdisk0
lscfg -vp | more 分頁看全部硬件信息
prtconf | more 列出硬件信息
查看誰在使用cdrom fuser /cdrom -k 直接殺掉用戶進程
telnet的登陸信息存放在/etc/motd文件中.
想查看最近有誰登陸,用last命令.
查看登錄失敗的信息: /etc/security/failedlogin
存放用戶密碼的文件:/etc/security/passwd
用戶登錄需要運行的腳本:
1 /etc/profile
2 /etc/environment 在這個文件中設置中文環境,LANG=zh_CN
3 用戶profile ,分2種情況:
如果是命令行登錄,則運行/home/user/.profile
如果是圖形登錄,則運行 /home/user/.dtprofile 需要將次文件中,#DTSOURCEPROFILE=TRUE 的# 去掉,否則還是使用.profile.
在/dev下面有2種設備,一種是block設備,一種是char(字符)設備.這取決于不同的應用.
vmstat的某些行的解釋:
vmstat->faults->cs: user calls 用戶調用的次數
cpu->wa: >40 說明io繁忙
kthr: kernel thread
kthr->r 在運行隊列中等待執行的進程
b 正在等待io的進程
memory->avm:active vitual memory 物理內存+使用的虛擬內存,以4k為單位.
page->re:是pin 和 pout 的總和.
sr:search的內存塊數.
fr:釋放的內存塊數.
每次作page out時,系統要搜索物理內存以找到可以釋放的塊,sr和fr分別代表搜索的和通過搜索找到的可以釋放的塊 數.如果2者很接近,說明內存中有很多用于file cache,內存的數量是夠用的.如果fr/sr的值很小,說明內存不夠.
tty:代表終端
iostat:
%tm_act 實際transaction的百分比
tps 每秒發生的次數
kbps 每秒的速率
名詞:thrasing: 應用程序頻繁交換,導致paging過多.
/usr/samples/kernel/vmtune -f 120 -F 128
-f 120 代表minfree mem < 120 時要進行page out
-F 128 代表maxfree mem > 128 時要進行page in
-p -P 也跟page out 有關,具體不清楚,還需明確.
sar->avque:平均的請求數
對文件系統作監視:filemon
filemon -o /tmp/a.txt -O all -v
運行之后系統會一直監視文件系統的使用情況并記錄日志,-T 64000 是使用的buffer cache,在大型系統上,這個值可以調大.
運行一段時間后,要停掉filemon,使用trcstop 或者 kill -9 進程.
從a.txt中可以看到使用最頻繁的文件等信息,有些類似statspack的報告.
對于后綴是Z的文件用uncompress來解壓縮. uncompress a.tar.Z
用strings 命令來看2進制文件
如何調大page space,直接設置對應lv的大小.如果對應lv的vg空間不夠的話,可以向vg中加硬盤.
dd的用法:dd if=/dev/rnewfs of=/dev/rcopyfs bs=1024 count=10240
bs: block size 塊大小,1024字節
count: block count 塊的數量
if是input file ,of 是output file
將任務切換到后臺執行: ctrl+z ,然后 bg+回車
查看后臺執行的程序:jobs
把后臺執行的程序切換到前臺執行:fg %n n是后臺的job 編號
ip抓包工具:iptrace 和 tcpdump
iptrace -a a.out
停止iptrace:kill -9
tcpdump -i en1 -w a.out a.out 是輸出文件
把進程與cpu綁定:bindprocessor -U 進程號 cpuid
bindprocessor -U 12345 0
odm庫:
env | grep obj
ODMDIR=/etc/objrepos 這是odm庫的存儲路徑
在disk0上生成引導區
bosboot -a -d /dev/hdisk0
用kdb 查看os 的 dump
ethernet channel 把2個網卡綁定到1個ip,可以作網絡負載均衡.
crontab 設置定時任務
crontab -l list the crontab
crontab -e edit the crontab
crontab的格式:分鐘 小時 月中的天數 月份 星期 命令
minute:
0 到 59
hour:
0 到 23
day_of_month:
1 到 31
month:
1 到 12
weekday:
星期日到星期六的 0 到 6 時
要在每星期日上午 2 時運行 fwlogmgmt 命令,請將下列各行添加至 crontab 文件底部:
0 2 * * 0 /usr/bin/fwlogmgmt -1
發送郵件,aix和redhad linux 都默認安裝了smtp郵件服務,可以直接給internet發郵件.
mail -s "test mail"
haochunpeng@ninetowns.com
< $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert$ORACLE_SID.log
mail -s "test mail"
haochunpeng@ninetowns.com
<<EOF
******** MAIL CONTENT *******
FJLADSFJLAKHFGAL
FJALDSKFJA
FASLJFLASF
*****************************
EOF
有了crontab和mail,就可以定時監控數據庫,然后把報告發送郵件到管理員的信箱.
kill -9 9 是kill命令傳送的一個信號,一共15個信號可以發送.
/etc/ftpusers 限制登錄ftp的用戶,誰在這個文件里面,誰就登不進去.
網絡服務 /etc/inetd.conf 刷新 refresh src -d
lslpp -l | grep http 查看安裝的軟件
檢查瓶頸:
利用vmstat iostat 查看總體情況,ps aux 可以看到具體進程占用資源的情況.
如果是io瓶頸,可以利用filemon -o /tmp/a.txt -O all; sleep 10;trcstop 來查看io資源的使用情況.
辨別僵尸進程:ps -ef pid 那列是 defunc的為僵尸進程.
幾個不錯的aix網站:
http://www.douzhe.com
http://www.xfocus.net/articles/200208/433.html