AIX文件系統和存儲部署(轉)
文件系統和存儲部署
文件系統的管理是AIX存儲結構中的最後一環。定義完lv後,可采用如下兩種方式使用lv:
a.作為裸設備(raw)使用,一般是數據庫型的應用
b.在lv上定義文件系統,並提供文件和數據的存儲服務
AIX提供和支持的文件系統類型
a.JFS/JFS2 日誌文件系統(Journaled File System),JFS2是增強版,該文件系統將基於數據庫的日誌技術來記錄文件系統上發生的元數據改變,每個JFS/JFS2會在存儲結構上獨立使用一個lv,形成嚴格的“lv-文件系統”一對一關系。如:/、/usr、/home、/admin等
b.NFS 網絡文件系統(Network File System),它通過訪問其他UNIX系統上的文件和目錄,來提供分布式的文件存儲服務,類似於Windows系統中的“共享文件夾”
c.GPFS 集群文件系統(General Parallel File System),是IBM用在集群環境下共享文件的文件系統,資源組內的所有節點可並行訪問GPFS文件系統,GPFS文件系統定義在可共享連接的磁盤陣列設備上,用戶可對此文件系統執行標準的UNIX操作,GPFS文件系統需要特定的管理命令。如:Oracle的RAC集群的一種典型拓撲結構使用的就是GPFS。
d.CDROM CDRFS類型的文件系統,是訪問DVD/CD-ROM設備中光盤文件內容的標準接口文件系統
查看文件/文件夾的i-nodes信息,文件類型、UID、GID、鏈接數
#istat /filename
管理文件系統
#smit fs
查看文件系統
#lsfs 文件系統名
創建文件系統
1.#smit mkfs
2.#smit crfs
上面兩個命令都是用來創建文件系統的,其中crfs首先會調用mklv來創建lv,然後調用mkfs在lv上創建文件系統,最後在ODM庫和/etc/filesystems中增加適當的記錄
crfs命令常用選項:
-v:指定文件系統類型
-g:文件系統所在卷組
-a:文件系統的大小,實際按照lv的整數倍進行調整
-m:文件系統掛載點(若掛載點不存在,則系統會自動創建)
-A:新創建的文件系統是否在系統初啟動時自動安裝
-p:安裝的文件系統是以只讀(ro)還是讀寫(rw)方式安裝
例:#crfs -v jfs2 -g rootvg -a size=10M -p rw -m /liang 該命令會創建一個文件系統,名稱隨機,被置於rootvg邏輯卷上,屬性為讀寫,並掛載到/liang目錄下,大小為10M
掛載文件系統
#mount [選項]
常用選項:
-a:掛載所有未掛載的文件系統
-f:強制掛載文件系統
device:文件系統所在的設備(lv)
directory:文件系統的掛載點
掛載已存在的lv到創建的文件系統
#smit crfs
在smit中選擇已存在的lv進行掛載
文件系統的卸載和刪除
卸載
1.卸載文件系統的命令時umount
2.某些針對文件系統的操作只有在其卸載後才可以進行,如:UI文件系統的參數調整、執行文件系統的刪除操作
3.若有用戶正在使用需要卸載的文件系統,則卸載操作會失敗,(可用#fuser -ku 掛載目錄)結束正在使用該文件系統的用戶相關進程,然後繼續卸載
刪除
1.可使用#smit 菜單,或者高級命令#rmfs 文件系統掛載點
2.rmfs命令會同時從ODM庫和/etc/filesystems中刪除有關被刪除文件系統和邏輯卷的相關信息,並且刪除對應的邏輯卷
文件系統的自動掛載
1.文件系統的定義信息存儲在/etc/filesystems中,如果某個文件系統定義了mount=true或mount=automatic屬性,則該文件系會在AIX系統啟動的第三階段後半部分自動掛載
/etc/filesystems部分內容如下:
其中常見屬性有
check:用於確定是否使用fsck命令來檢查文件系統內,true表示允許檢查
dev:文件系統所對應的邏輯卷設備文件
mount:
automatic,文件系統在系統啟動時自動掛載
true,在系統初始化期間運行mount all命令自動掛載這些系統
false,文件系統不自動掛載
vfs:指定要掛載的文件系統類型
vol:使用mkfs命令為新的文件系統定義掛載點
log:在文件系統被修改時,用來存儲日誌數據的設備,僅對日誌文件系統有效
註意:如果執行#umount all命令,mount屬性為automatic的文件系統不會被卸載,而mount屬性為true的文件系統則會被卸載
文件系統的容量管理
當文件系統的使用率達到100%或者AIX的/、/var等已完全被占滿時,AIX的操作將會毫無疑問的被掛起。
因此,經常使用df命令來查看磁盤空間的使用情況十分必要,工程上往往通過定期運行df命令進行日常檢查並生成報告。
顯示文件系統的總長度和空間情況
#df -m
顯示文件或目錄所占用的磁盤塊數
#du /usr | sort -r -n
EXPLAIN:文件系統所在卷組上還有足夠的可用空間(空閑PP),是AIX動態擴展文件系統空間的唯一條件。通常通過chfs命令來實現動態擴展(增加、減小),一般在使用過程中先用df命令確定一下文件系統當前使用狀態、使用比例等信息。然後將這個文件系統需要添加的大小折合成數據塊(521B)數(也可使用chfs命令支持的其他空間度量單位,如:M),最後,使用chfs命令設定文件系統的新尺寸
#smit chjfs 進入smit菜單更改文件系統空間大小
#chfs -a size=+100M /test 增加文件系統/test100M空間
#chfs -a size=-100M /test 減小文件系統/test100M空間
擴展:AIX提供一種用備份(mksysb備份)來縮小文件系統的方法。該方法的宗旨是:如果在使用mksysb進行rootvg卷組恢復的過程中,指定收縮(“shrink”)文件系統的選項,則AIX在恢復中將會自動收縮文件系統及其對應的邏輯卷
文件系統的一致性管理
背景:UNIX的一個文件系統有超級塊(SuperBlock)開始,然後是記錄文件系統信息的索引點(i-nodes),最後則是文件的真正存儲位置“數據塊”。如果這個文件系統的超級塊、索引節點被損壞,或者信息存儲不一致,會導致文件系統掛載失敗,或者已掛載文件系統的文件數據訪問失敗
檢查文件系統信息一致性,並支持修復穩健性系統命令
#fsck 選項 文件系統
常用選項
-f:快速檢查,僅檢查未執行正確卸載操作的文件系統,即那些在AIX關閉時仍未卸載的文件系統,那些已成功卸載的文件系統不參與檢查
-p:不顯示不嚴重的文件系統問題,但執行自動修復操作
-y:對fsck命令執行中的交互性問題自動提供肯定的答復,以允許fsck命令執行任何修復操作(有一定風險),所以只針對嚴重損壞的文件系統使用
註意:fsck命令檢查和修復文件系統時應當在文件系統掛載前將其運行,前提條件時能夠讀取文件系統對應的邏輯卷設備
檢查文件系統/dev/fslv00,並執行錯誤修復操作
#fsck -p /dev/fslv00
檢查文件系統/dev/fslv00的完整性
#fsck /dev/fslv00
對於文件系統超級塊損壞的問題,傳統的UNIX會使用被分塊恢復的方法(dd count=1 bs=4k skip=31 seek=1 if=/dev/fslv00 of=/dev/fslv00)將其修復,而在AIX中並不需要這樣,只要使用#fsck -p 或 #fsck -y直接修復即可
文件系統的卸載失敗
可能原因:
a.文件系統中的文件處於打開狀態
b.如果沒有用戶打開文件系統的文件,仍然顯示busy,且卸載失敗,這可能是一個引用了文件系統的內核擴展(kernel extension)被載入內核
c.當前有用戶正在這個文件系統的掛載點上
d.當前有文件系統掛載在要卸載文件系統的目錄樹上
查看文件系統中文件的使用途徑的、獲得“誰”正在訪問指定的文件系統(用進程ID號表示進程細節)等相關信息:
#fuser -xc /tmp /hacmp.out
註意:fuser命令不會顯示內核擴展的載入情況,因此,當出現b情況時,fuser返回為空,且文件系統仍然拒絕卸載
文件系統的快照管理
註意:快照不是將文件系統整個的“搬到”快照位置,而是僅復制那些“發生改變”的內容,也就是說,如果原文件系統中發生了寫入或刪除操作,即原文件系統的數據塊發生了改變,則這個數據塊就會被復制到快照點上。AIX將更改後的數據復制到快照點。那些大部分尚未發生改變的內容將直接通過映射到源文件的方法實現,因此快照位置的空間占用不會和原文件系統相同,一般僅占百分之幾到十幾
AIX的JFS2文件系統快照支持的兩種類型:
外部快照:創建一個獨立的邏輯卷來存儲快照映像數據
內部快照:使用原始文件系統空間
創建文件系統外部快照
創建文件系統/db的外部快照,使用空間為500MB
#snapshot -o snapfrom=/db -o size=500M
查看/db快照設置,包括快照日期、位置、空間大小、空間剩余量等信息
#snapshot -q /db
AIX支持文件系統快照的掛載。由於快照復制了原文件系統(改變部分),是一個文件系統的當前復制品,因此被掛載的快照應能夠反應出完整的文件系統數據。
掛載/db文件系統的快照到另外一個目錄(掛載點為/home/oracle/db_snap),並使用-o snapshot選項來聲明這是一個快照掛載
#mkdir -p /home/oracle/db_snap
#mount -v jfs2 -o snapshot /dev/fslv02 /home/oracle/db_snap
對於快照方式掛載的文件系統,文件系統的其他操作命令同樣可以運行,如:查看快照文件系統的空間使用情況
#df -g /home/oracle/db_snap
創建內部快照
創建文件系統/db時設置內部快照使用情況
#crfs -vjfs2 -g rootvg -m /db -A -a isnapshot=yes
位/db創建內部快照dbsnap1
#snapshot -o snapfrom=/db -n dbsnap1
#snapshot -q /db
可以看到,在/db下出現了一個特殊目錄.snapshot,可以進入該目錄進行只讀訪問:
#cd /db/.snapshot
#ls -l
因此,內部快照無需掛載快照文件系統就可以使用快照中的文件。
創建外部快照語法
#snapshot -o snapfrom=snappedFS snapshotLV
#snapshot -o snapfrom=snappedFS -o size=Size
創建內部快照語法
#snapshot -o snapfrom=snappedFS -n snapshotName
刪除外部快照語法
#snapshot -d snapshotLV
刪除內部快照語法
#snapshot -d -n snapshotName snappedFS
查詢文件系統快照信息
#snapshot -q snappedFS
查詢外部快照
#snapshot -q snapshotLV
查詢內部快照語法
#snapshot -q -n snapshotName snappedFS
修改外部快照
#snapshot -o size=Size snapshotLV
註意:快照並不能取代常規系統的備份計劃和手段,更不能以此替換系統備份、savevg卷組備份、backup文件系統備份、tar文件目錄備份等
LVM常用命令總結
AIX的存儲結構從卷組開始,一直到文件系統為止,歷經物理卷管理—>卷組管理—>邏輯卷管理—>文件系統管理四個階段
針對物理卷的操作命令
#lsdev 列出ODM中的設備,可按照支持的設備、已安裝的設備分項查看
#chdev 修改一個AIX設備的屬性
#mkdev 創建一個AIX設備,並用來調整設備的狀態
#chpv 修改物理卷的狀態和屬性
#lspv 查看AIX中關於物理卷的相關信息
#migratepv 講一個pv中的pp(數據)遷移到另一個pv中
針對卷組的操作命令
#mkvg 創建新卷組
#extendvg 為vg增加新的pv,用於對vg擴容
#reducevg 從卷組中刪除pv,用來縮減vg的尺寸
#chvg 改卷組的屬性
#lsvg 查看卷組的相關信息
#importvg 將卷組導入到AIX系統中
#exportvg 將卷組導出AIX系統(從ODM刪除卷組信息)
#reorgvg 重組卷組的數據分析,常用於卷組的I/O優化
#syncvg 同步卷組中邏輯卷上的數據
#varyonvg 激活一個AIX卷組,使其可用
#varyoffvg 關閉(去活)一個卷組,使其不可用
針對邏輯卷的操作命令
#mklv 創建一個邏輯卷
#lslv 查看邏輯卷的特征
#rmlv 刪除一個邏輯卷和邏輯卷上的數據
#extendlv 增加邏輯卷的大小,為邏輯卷擴容
#chlv 修改邏輯卷的屬性
#mklvcopy 為邏輯卷增加鏡像副本,使其被鏡像
#rmlvcopy 刪除邏輯卷的鏡像副本
針對文件系統的操作命令
#chfs 修改文件系統的屬性
#crfs 創建一個新的文件系統
#rmfs 刪除文件系統,同時刪除文件系統中的數據
#lsfs 顯示一個文件系統的特征
#mount 掛載一個文件系統到掛載點上,使其可用
#fsck 檢查一個文件系統的一致性,並可(交互式)修復該文件系統
#umount 卸載一個已安裝的文件系統,這個文件系統中的目錄和文件不能在被訪問
#df 查看文件系統的空間使用狀態
AIX文件系統和存儲部署(轉)