OCFS2的问题汇总(二)

移植OCFS数据文件到OCFS2

52、我能以OCFS2的形式mount OCFS卷吗?

不能,OCFS和OCFS2在磁盘上是不兼容的,因为我们需要在今后的版本中增加新的特性。

[@more@]

53、OCFS2和OCFS能同时挂载到同一台机器上吗?

不能,OCFS只能工作在内核是2.4(Red Hat's AS2.1/EL3 and SuSE's SLES8).OCFS2工作的内核版本为2.6(RHEL4, SLES9 and SLES10).
54、我可以在内核版本为2.6的机器上访问OCFS卷吗?

可以的,你可以通过FSCat 、fsls 或者fscp工具来访问OCFS卷,这些工具可以,以上工具可以在设备级浏览、复制文件到其他的文件系统,FSCat工具可以在oss.oracle.com上得到。

55、我可以改变我的OCFS卷成为OCFS2吗?

不能。

56、有什么快速的方法将OCFS的数据转移到OCFS2上?

最快的方式无非就是完成最少的拷贝,如果你有一个非OCFS的卷上有当前的备份的话你可以直接进行恢复性的转移,如果你没有一个可用的备份,当时你的OCFS2系统上可以访问OCFS的卷,你可以使用FSCat工具来将数据拷贝到OCFS2上

COREUTILS

57、我可以像OCFS(第一版)中设置o_direct参数去允许copymvtar等命令?

不用,OCFS2不需要设置此参数,OCFS2文件系统本身就允许的。

通过NFS输出

58、我能通过NFS服务器来构建OCFS2文件 系统吗?

可以的,你可以通过标准的LINUX NFS服务器来搭建 OCFS2文件系统,但是你要注意只有NFS的版本3和以上的版本可以运行,言外之意就是前段的内核版本必须是2.4或者以上版本。

59、针对NFS V2版本有相应的解决方案吗?

NFS V2也可以工作的,但是服务端应该设置no_subtree_check参数,但是 这样会涉及到一些安全上的因素。

诊断

60、我如何打开和关闭文件系统的跟踪?

显示所有信息

# debugfs.ocfs2 -l

设置允许跟踪支持

# debugfs.ocfs2 -l SUPER allow
设置关闭跟踪支持

debugfs.ocfs2 -l SUPER off

完全关闭支持

# debugfs.ocfs2 -l SUPER deny

打开心跳跟踪

# debugfs.ocfs2 -l HEARTBEAT ENTRY EXIT allow

关闭心跳跟踪

# debugfs.ocfs2 -l HEARTBEAT off ENTRY EXIT deny

61、我如何得到文件系统的锁以及它们的结构?

OCFS2 1.0.9+含有此项功能:

mount debugfs挂载在以下位置 /debug (EL4) or /sys/kernel/debug (EL5).

# mount -t debugfs debugfs /debug
或者

# mount -t debugfs debugfs /sys/kernel/debug

导出锁:

# echo "fs_locks" | debugfs.ocfs2 /dev/sdX >/tmp/fslocks

62、我如何读懂通过fs_locks输出的内容?

以下为一个输出的示例:

Lockres: M000000000000000006672078b84822 Mode: Protected Read
Flags: Initialized Attached
RO Holders: 0 EX Holders: 0
Pending Action: None Pending Unlock Action: None
Requested Mode: Protected Read Blocking Mode: Invalid

首先我们看到的是Lockers,这也是锁名,锁名和锁类型是联合在一起的 , (S superblock, M metadata, D filedata, R rename, W readwrite)

我们可以通过锁名,得到inode 名和generation:

#echo "stat " | debugfs.ocfs2 -n /dev/sdX
Inode: 419616 Mode: 0666 Generation: 2025343010 (0x78b84822)
....

将锁名映射到一个目录实体:

# echo "locate " | debugfs.ocfs2 -n /dev/sdX
419616 /linux-2.6.15/arch/i386/kernel/semaphore.c

还可以只提供一个inode 号:

# echo "locate <419616>" | debugfs.ocfs2 -n /dev/sdX
419616 /linux-2.6.15/arch/i386/kernel/semaphore.c

从一个目录实体中得到锁名:

# echo "encode /linux-2.6.15/arch/i386/kernel/semaphore.c" | debugfs.ocfs2 -n /dev/sdX
M000000000000000006672078b84822 D000000000000000006672078b84822 W000000000000000006672078b84822

同一个资源上第一个是Metadata锁,接着是Data锁,最后是ReadWrite锁,这DLM支持3种锁类型:NL no lock,PR protected read,EX exclusive

如果你遇到了DLM hang,此时的资源状态将会是“Busy”。

接下来我们查询资源的DLM

说明:dlm指静默的跟踪、诊断

在做dlm 跟踪的时候 ,首先要知道dlm domain,以及每个卷的UUID.

# echo "stats" | debugfs.ocfs2 -n /dev/sdX | grep UUID: | while read a b ; do echo $b ; done
82DA8137A49A47E4B187F74E09FBBB4B

接下来执行:

# echo R dlm_domain lockname > /proc/fs/ocfs2_dlm/debug
例如:

# echo R 82DA8137A49A47E4B187F74E09FBBB4B M000000000000000006672078b84822 > /proc/fs/ocfs2_dlm/debug
# dmesg | tail
struct dlm_ctxt: 82DA8137A49A47E4B187F74E09FBBB4B, node=79, key=965960985
lockres: M000000000000000006672078b84822, owner=75, state=0 last used: 0, on purge list: no
granted queue:
type=3, conv=-1, node=79, cookie=11673330234144325711, ast=(empty=y,pend=n), bast=(empty=y,pend=n)
converting queue:
blocked queue:

以上信息显示了节点75获得了资源,79获得了PR锁。

限制

63、在某一个目录下的子目录是否有限制?

OCFS2的目前允许最多32000个子目录。虽然这种限制可能会增加,我们不会那样做,直到我们实现某种类型的高效名称查找(htree等)。

64、ocfs2的文件大小有没有限制?

有的,目前的软件解决了32位的块数。因此,文件系统设备是有限的(2 ^ 32)*块(见的mkfs - b)项。有了这个4KB的块大小相当于一个16TB的文件系统。此块寻址限制将放宽在未来的软件。在这一点上的限制成为解决与32位这导致了4PB 1MB的每一个文件系统集群。

系统文件

65、说明是文件系统?

系统文件时用于存储标准的文件,可以通过执行debugfs.ocfs2工具查看系统文件:

# echo "ls -l //" | debugfs.ocfs2 -n /dev/sdX
18 16 1 2 .
18 16 2 2 ..
19 24 10 1 bad_blocks
20 32 18 1 global_inode_alloc
21 20 8 1 slot_map
22 24 9 1 heartbeat
23 28 13 1 global_bitmap
24 28 15 2 orphan_dir:0000
25 32 17 1 extent_alloc:0000
26 28 16 1 inode_alloc:0000
27 24 12 1 journal:0000
28 28 16 1 local_alloc:0000
29 3796 17 1 truncate_log:0000

第一列列出的是块个数。

66、为什么在以上的输出中有的后面有数字?

这里有两种类型的文件,global和local,global文件是为了所有的节点,像local类型的: journal:0000,代表的是指定的节点,最后的数字是slot#,可以执行以下操作列出slot映射的部分:

# echo "slotmap" | debugfs.ocfs2 -n /dev/sdX
Slot# Node#
0 39
1 40
2 41
3 42

心跳

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10130206/viewspace-1040585/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10130206/viewspace-1040585/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值