跳过导航链接 | |
退出打印视图 | |
![]() |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
Oracle Solaris OS 平台上共享文件系统的配置示例
Oracle Solaris Cluster 平台上共享文件系统的配置示例
如何为 Oracle Solaris Cluster 环境中的共享文件系统创建 mcf 文件。
使用本节的配置示例为将安装在单个 Oracle Solaris OS 主机上的文件系统配置 mcf 文件。
有关可以在 Oracle Solaris Cluster 环境中使用的示例,请参见高可用性文件系统的配置示例。
本示例说明如何使用具有 SCSI 连接 Oracle StorageTek Multipack 桌面阵列的服务器来配置两个文件系统。
您可以使用 format 命令来确定如何对磁盘进行分区。示例 3-1 显示了 format 命令的输出。
注 - 本示例仅显示了 format 命令输出的最后几行。
示例 3-1 针对配置示例的 format 命令输出
# format < /dev/null Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t10d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107> /sbus@3,0/SUNW,fas@3,8800000/sd@a,0 1. c0t11d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107> /sbus@3,0/SUNW,fas@3,8800000/sd@b,0 2. c6t2d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@7,4000/SUNW,isptwo@3/sd@2,0 3. c6t3d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@7,4000/SUNW,isptwo@3/sd@3,0 4. c6t4d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@7,4000/SUNW,isptwo@3/sd@4,0 5. c6t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@7,4000/SUNW,isptwo@3/sd@5,0 6. c8t2d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@b,4000/SUNW,isptwo@3/sd@2,0 7. c8t3d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@b,4000/SUNW,isptwo@3/sd@3,0 8. c8t4d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@b,4000/SUNW,isptwo@3/sd@4,0 9. c8t5d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133> /pci@b,4000/SUNW,isptwo@3/sd@5,0 Specify disk (enter its number): # format /dev/rdsk/c6t2d0s2 . . . Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 4923 8.43GB (4924/0/0) 17682084 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 - 1229 2.11GB (1230/0/0) 4416930 5 unassigned wm 1230 - 2459 2.11GB (1230/0/0) 4416930 6 unassigned wm 2460 - 3689 2.11GB (1230/0/0) 4416930 7 unassigned wm 3690 - 4919 2.11GB (1230/0/0) 4416930
请先定义文件系统及其磁盘分区,然后开始编写此配置示例的 mcf 文件,如以下过程中所述。
完成后的 mcf 文件定义了以下两个文件系统:
qfs1 文件系统,在以下磁盘的分片 4 上创建:c8t2d0(元数据)、c6t2d0(文件数据)和 c6t3d0(文件数据)。
qfs2 文件系统,在以下磁盘的分片 5 上创建:c8t2d0(元数据)、c6t2d0(文件数据)和 c6t3d0(文件数据)。
以下代码示例显示了生成的 mcf 文件。
# cat /etc/opt/SUNWsamfs/mcf # # Equipment Eq Eq Family Device Additional # Identifier Ord Type Set State Parameters #----------- --- ---- ------ ------ ---------- # *qfs1 10 ma qfs1 on* /dev/dsk/c8t2d0s4 11 mm qfs1 on /dev/dsk/c6t2d0s4 12 mr qfs1 on /dev/dsk/c6t3d0s4 13 mr qfs1 on # *qfs2 20 ma qfs2 on* */dev/dsk/c8t2d0s5 21 mm qfs2 on* */dev/dsk/c6t2d0s5 22 mr qfs2 on* */dev/dsk/c6t3d0s5 23 mr qfs2 on*
在 /etc/vfstab 文件中为 qfs1 和 qfs2 文件系统添加对应条目,这两个文件系统在 mcf 文件中定义。以下代码示例的最后两行显示了这些新文件系统的条目。
有关对 /etc/vfstab 文件中字段的描述,请参见 表 3-2。
# cat /etc/vfstab # device device file mount # to to mount system fsck at mount # mount fsck point type pass boot params # ----- ---- ----- ---- ---- ---- ------ fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t10d0s1 - - swap - no - /dev/dsk/c0t10d0s0 /dev/rdsk/c0t10d0s0 / ufs 1 no logging swap - /tmp tmpfs - yes - *qfs1 - /qfs1 samfs - yes stripe=1* *qfs2 - /qfs2 samfs - yes stripe=1*
本示例说明了一个文件系统(称为 qfs3)的配置,该文件系统在四个磁盘驱动器中采用循环分配。
本示例假定:
元数据设备是一个位于磁盘 4 控制器 8 上的单分区 (s1)。
数据设备由连接到控制器 6 的四个磁盘组成。每个磁盘均位于单独的目标 (1—4)。
本示例介绍了循环数据布局。
以下代码示例显示了该循环磁盘配置的 mcf 文件。
# cat /etc/opt/SUNWsamfs/mcf # # Equipment Eq Eq Family Device Additional # Identifier Ord Type Set State Parameters #----------- --- ---- ------ ------ ---------- # *qfs3 10 ma qfs3 on* /dev/dsk/c8t4d0s4 11 mm qfs3 on /dev/dsk/c6t2d0s4 12 mr qfs3 on /dev/dsk/c6t3d0s4 13 mr qfs3 on /dev/dsk/c6t4d0s4 14 mr qfs3 on /dev/dsk/c6t5d0s4 15 mr qfs3 on
编辑 /etc/vfstab 文件,在 mount params 字段中指定 stripe=0,以在文件系统上显式地设置循环分配。以下代码示例显示 qfs3 文件系统的挂载参数设置为 stripe=0。
# cat /etc/vfstab #device device file mount #to to mount system fsck at mount #mount fsck point type pass boot params #----- ---- ----- ---- ---- ---- ------ fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t10d0s1 - - swap - no - /dev/dsk/c0t10d0s0 /dev/rdsk/c0t10d0s0 / ufs 1 no logging swap - /tmp tmpfs - yes - *qfs3 - /qfs3 samfs - yes stripe=0*
默认的磁盘分配单元 (disk allocation unit, DAU) 为 64 KB,但以下示例将 DAU 大小设置为 128 KB。
# sammkfs -a 128 qfs3
本示例说明了一个文件系统(称为 qfs4)的配置,该文件系统以分散读写的方式将文件数据存储到四个磁盘驱动器上。本示例假定:
元数据设备是一个位于控制器 0(逻辑单元号 (logical unit number, LUN) 为 0)的单分区 (s6)。
数据设备由连接到控制器 6 的四个磁盘组成。每个磁盘均位于单独的目标 (2—5)。
以下代码示例显示了该分散读写磁盘配置的 mcf 文件。
# Equipment Eq Eq Family Device Additional # Identifier Ord Type Set State Parameters #----------- --- ---- ------ ------ ---------- # *qfs4 40 ma qfs4 on* /dev/dsk/c8t4d0s4 41 mm qfs4 on /dev/dsk/c6t2d0s4 42 mr qfs4 on /dev/dsk/c6t3d0s4 43 mr qfs4 on /dev/dsk/c6t4d0s4 44 mr qfs4 on /dev/dsk/c6t5d0s4 45 mr qfs4 on
使用 stripe= 选项设置分散读写宽度。以下代码示例显示了 /etc/vfstab 文件,其中为 qfs4 文件系统设置了挂载参数 stripe=1。
# cat /etc/vfstab # #device device file mount #to to mount system fsck at mount #mount fsck point type pass boot params #----- ---- ----- ----- ---- ---- ------ fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t10d0s1 - - swap - no - /dev/dsk/c0t10d0s0 /dev/rdsk/c0t10d0s0 / ufs 1 no logging swap - /tmp tmpfs - yes - *qfs4 - /qfs4 samfs - yes stripe=1*
stripe=1 参数将文件数据以分散读写方式存储到所有四个 mr 数据磁盘中,分散读写宽度为一个 DAU。DAU 是您在使用 sammkfs 命令初始化文件系统时设置的分配单元。
以下示例将 DAU 大小设置为 128 KB。
# sammkfs -a 128 qfs4
使用该分散读写磁盘配置时,所有写入此文件系统的文件均以 128 KB 为增量在所有设备中进行分散读写。如果文件大小小于分散读写宽度与设备数量的乘积,则该文件仍然占用 128 KB 的磁盘空间。如果文件大于 128 KB,则会以 128 KB 为总空间增量,为其分配所需的空间。
分散读写组使得您可以创建独立磁盘设备的 RAID-0 设备。但是,每个分散读写组只有一个 DAU。这种在 RAID 设备之间写入大量、有效的 DAU 的方法可以节省系统更新时间,并支持高速、连续 I/O。分散读写组对向磁盘设备组写入大型文件的情况很有用。
注 - DAU 是分配的最小磁盘空间。分散读写组内分配的最小磁盘空间如下所示:
分配单元 x 组中的磁盘数量
写入单字节数据会消耗分散读写组中每个成员的一个 DAU。请确保您理解使用分散读写组对文件系统的影响。
同一分散读写组中的设备必须具有相同的容量。无法增加分散读写组的大小。但是,您可以将其他分散读写组添加到文件系统中。
本示例说明了一个文件系统(称为 qfs5)的配置,该文件系统将元数据单独存储到低延迟磁盘中。本示例的 mcf 文件定义了两个位于四个驱动器上的分散读写组。本示例假定:
元数据设备是一个位于磁盘 4 控制器 8 上的单分区 (s5)。
数据设备由连接到控制器 6 上的四个磁盘(分成两组,每组包含两个相同的磁盘)组成。每个磁盘均位于单独的目标 (2–5)。
以下代码示例显示了分散读写组配置的 mcf 文件样例。
# cat /etc/opt/SUNWsamfs/mcf # # Equipment Eq Eq Family Device Additional # Identifier Ord Type Set State Parameters #----------- --- ---- ------ ------ ---------- # *qfs5 50 ma qfs5 on* /dev/dsk/c8t4d0s5 51 mm qfs5 on /dev/dsk/c6t2d0s5 52 g0 qfs5 on /dev/dsk/c6t3d0s5 53 g0 qfs5 on /dev/dsk/c6t4d0s5 54 g1 qfs5 on /dev/dsk/c6t5d0s5 55 g1 qfs5 on
使用 stripe= 选项设置分散读写宽度。以下代码示例显示了 /etc/vfstab 文件,其中将挂载参数设置为 stripe=0,从而指定在分散读写组 g0 和分散读写组 g1 之间采用循环分配。
# cat /etc/vfstab #device device file mount #to to mount system fsck at mount #mount fsck point type pass boot params #----- ---- ----- ---- ---- ---- ------ fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0t10d0s1 - - swap - no - /dev/dsk/c0t10d0s0 /dev/rdsk/c0t10d0s0 / ufs 1 no logging swap - /tmp tmpfs - yes - *qfs5 - /qfs5 samfs - yes stripe=0*
由于 DAU 的大小等于一个分配单元的大小或每个组的大小,因此 -a 选项不能用于分散读写组。
# sammkfs qfs5
此示例具有两个分散读写组:g0 和 g1。由于在 /etc/vfstab 文件中设置了 stripe=0,设备 12 和 13 将采用分散读写布局,设备 14 和 15 也采用分散读写布局,但文件将以循环方式存储到这两个分散读写组中。将一个分散读写组作为一个联合实体来使用。配置分散读写组之后,只能通过再次运行 sammkfs 命令来对其进行更改。