文件系統(下)
創建一個文件系統
AIX 5L Version 5.3 中的每個文件系統都必須位于某個邏輯卷。
當您創建文件系統時,如果您沒有指定一個以前創建的邏輯卷,那么系統將使用系統生成的名稱創建一個邏輯卷,并使用缺省值作為該邏輯卷的特征。文件系統的大小非常接近邏輯分區大小的倍數。文件系統的大小不能超過邏輯卷的標準******邏輯分區數。將向 /etc/filesystem 中添加一個包含該文件系統詳細信息的節,并將新的數據寫入到 ODM。
在示例 1 中,我們說明了如何使用 crfs 命令,如下所示:
lsvg -l testvg 說明 testvg 不包含任何 jfs、jfs2、jfslog 和 jfs2log 類型的邏輯卷。
crfs -v jfs -g testvg -a size=10M -m /fs1 將在卷組 testvg 創建一個大小為 10 MB 的 jfs 文件系統,并且裝入點為 /fs1。目前沒有任何 jfs 邏輯卷,所以系統將創建一個,并指定其名稱為 lv00。目前沒有任何 jfs 日志設備,所以系統將創建一個,并指定其名稱為 loglv00。
crfs -v jfs2 -g testvg -a size=10M -p ro -m /fs2 將在卷組 testvg 中創建一個大小為 10 MB 的 jfs2 文件系統,其裝入點為 /fs2,并且具有只讀權限。目前沒有任何 jfs2 邏輯卷,所以系統將創建一個,并指定其名稱為 fslv00。目前沒有任何 jfs2 日志設備,所以系統將創建一個,并指定其名稱為 loglv01。
lslv lv00 和 lslv fslv00 說明所創建的邏輯卷使用了它們缺省的特征。
cat /etc/filesystems|grep -ip fs1 顯示了 /etc/filesystems 中與 fs1 相對應的節。
示例 1 創建文件系統時不指定邏輯卷
# lsvg -l testvg
testvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
# crfs -v jfs -g testvg -a size=10M -m /fs1
Based on the parameters chosen, the new /fs1 JFS file system
is limited to a maximum size of 134217728 (512 byte blocks)
New File System size is 262144
# crfs -v jfs2 -g testvg -a size=10M -p ro -m /fs2
File system created successfully.
130864 kilobytes total disk space.
New File System size is 262144
# lsvg -l testvg
testvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
loglv00 jfslog 1 1 1 closed/syncd N/A
lv00 jfs 1 1 1 closed/syncd /fs1
loglv01 jfs2log 1 1 1 closed/syncd N/A
fslv00 jfs2 1 1 1 closed/syncd /fs2
# lslv lv00
LOGICAL VOLUME: lv00 VOLUME GROUP: testvg
LV IDENTIFIER: 00c478de00004c0000000107d96de510.2 PERMISSION: read/write
VG STATE: active/complete LV STATE: closed/syncd
TYPE: jfs WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 128 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 1 PPs: 1
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /fs1 LABEL: /fs1
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?: NO
# lslv fslv00
LOGICAL VOLUME: fslv00 VOLUME GROUP: testvg
LV IDENTIFIER: 00c478de00004c0000000107d96de510.4 PERMISSION: read/write
VG STATE: active/complete LV STATE: closed/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 128 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 1 PPs: 1
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 32
MOUNT POINT: /fs2 LABEL: /fs2
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?: NO
# cat /etc/filesystems|grep -ip fs1
/fs1:
dev = /dev/lv00
vfs = jfs
log = /dev/loglv00
mount = false
account = false
您可以指定以前創建的邏輯卷的名稱。邏輯卷類型必須與文件系統類型相匹配。文件系統的大小非常接近邏輯分區大小的倍數。將向 /etc/filesystem 中添加一個包含該文件系統詳細信息的節,并對 ODM 進行更新。
在示例 2 中,我們說明了如何使用 crfs 命令,如下所示:
crfs -v jfs2 -d /dev/testlv -a logname=loglv01 -m /test -a size=130M 將在現有的、名為 testlv 的邏輯卷創建一個 jfs2 文件系統,該文件系統使用 jfs2 日志設備 loglv01,并將 /test 作為裝入點。因為我們為該文件系統指定的大小要大于邏輯卷本身的大小,所以將忽略 size 參數,并且該文件系統***終的大小將接近于邏輯卷的大小。
cat /etc/filesystems|grep -ip test 顯示了 /etc/filesystems 中與 test 相對應的節。
示例 2 在以前定義的邏輯卷中創建文件系統
# lsvg -l testvg
testvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
loglv00 jfslog 1 1 1 closed/syncd N/A
lv00 jfs 1 1 1 closed/syncd /fs1
loglv01 jfs2log 1 1 1 closed/syncd N/A
fslv00 jfs2 1 1 1 closed/syncd /fs2
testlv jfs2 1 1 1 closed/syncd N/A
# crfs -v jfs2 -d /dev/testlv -a logname=loglv01 -m /test -a size=130M
crfs: Warning: device name given, size parameter ignored.
File system created successfully.
130864 kilobytes total disk space.
New File System size is 262144
# cat /etc/filesystems|grep -ip test
/test:
dev = /dev/testlv
vfs = jfs2
log = /dev/loglv01
mount = false
account = false
裝入和卸載文件系統
裝入(mount)指的是使得位于某個位置的用戶能夠使用文件系統、文件、目錄、設備和特殊文件。這是使得一個文件系統可以訪問的******方法。
必須在裝入文件系統之前創建裝入點。在將文件系統裝入到某個目錄時,所裝入文件系統的 root 目錄的權限將優先于裝入點的權限。
在示例 3 中,我們使用了 mount 命令,如下所示:
mount /dev/fslv02 /testfs 嘗試將 /test 裝入到一個不存在的目錄,這將產生一個錯誤。
mount /dev/fslv02 /test 將文件系統裝入到一個現有的目錄。
umount /testfs 嘗試卸載一個并不存在的文件系統,這將產生一個錯誤。
umount /test 將卸載 /test 文件系統。
示例 3 裝入和卸載文件系統
# mount /dev/fslv02 /testfs
mount: 0506-324 Cannot mount /dev/fslv02 on /testfs: A file or directory in the
path name does not exist.
# umount /dev/fslv02 /test
umount: 0506-347 Cannot find anything to unmount.
# mount /dev/fslv02 /test
# umount /testf
umount: 0506-347 Cannot find anything to unmount.
# umount /test
如果您希望裝入所有的文件系統,那么您可以使用下面的命令,以便一次性裝入所有的文件系統:
mount {-a|all}
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u/27567/showart_983655.html
lsvg -l testvg 說明 jfs2 類型的 testlv 邏輯卷不與任何文件系統相關聯,并且已經定義了一個 jfs2 日志設備。testlv 只有一個大小為 128 MB 的分區。