文件系统(下)
创建一个文件系统
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 的分区。