mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
docs(docs): Add 7 FAQ cases.
Signed-off-by: aaronwu2010 <huochengwu@qq.com>
This commit is contained in:
parent
2e4c46a4fb
commit
310badc752
@ -268,4 +268,54 @@ _描述_:多AZ场景下 metanode的nodeSet组是可以跨zone的对么?
|
||||
## 问题45
|
||||
_描述_:metanode的nodeset代码里也是在zone级别的,multi-raft为防止心跳风暴限制在nodeset级别的,跨zone的volume metanode选择机制又是各个zone里选一些机器放。跨分层存储池的功能有验证过没啥问题?
|
||||
|
||||
**回答**:目前支持的。
|
||||
**回答**:目前支持的。
|
||||
|
||||
## 问题46
|
||||
_描述_:部分docker容器启动挂载cubefs客户端的时候,只有下面的错误,没有别的错误信息:
|
||||
```bash
|
||||
2025/06/04 02:20:23 maxprocs: Leaving GOMAXPROCS=48: CPU quota undefined
|
||||
Mount failed: startDaemon failed: daemon start failed, ... err(readFromProcess: sub-process: [fuse.go 528] mount failed: fusermount: exit status 1)
|
||||
```
|
||||
|
||||
**回答**:这个是因为没有root权限,没有/dev/fuse设备。解决方法:启动容器时,添加参数--privileged
|
||||
|
||||
**备注**:另外的容器启动时如果遇到类似的问题,可以在客户端的output.log日志里面看到相应的错误:
|
||||
```bash
|
||||
2025/06/04 14:49:12 mount helper error: fusermount: fuse device not found, try 'modprobe fuse' first
|
||||
2025/06/04 14:49:12 [fuse.go 529] mount failed: fusermount: exit status 1
|
||||
```
|
||||
|
||||
同样的报错,也可能是使用fuse的权限不足,这个在output.log里面会有提示。添加sudo可以解决这类问题。
|
||||
总的来说,这类问题都是因为不能正常使用fuse功能,导致报错:exit status 1
|
||||
|
||||
## 问题47
|
||||
_描述_:客户端的日志报错误ResultCode(136)的错误。
|
||||
|
||||
**回答**:OpWriteOpOfProtoVerForbidden (编码值是136)。在客户端和服务端的协议版本不匹配的情况下,可能出现这个问题。
|
||||
解决方法:升级客户端,使用新的版本协议。
|
||||
|
||||
## 问题48
|
||||
_描述_:cubefs在系统重启以后,objectnode启动失败,报错:access client service discovery disconnect.
|
||||
因为这个过程中格式化过datanode挂载的磁盘,导致access的日志报: 0 available, total available space 0
|
||||
|
||||
**回答**:重启一下datanode,格式化的磁盘会重新注册。
|
||||
|
||||
## 问题49
|
||||
_描述_:副本模式和纠删码模式,是两套完全不同的部署方式吗?如果使用纠删码模式,是否依赖副本模式的相关服务。
|
||||
|
||||
**回答**:是不同的两套方式。两者都使用metanode做元数据服务,但是没有相互依赖。
|
||||
|
||||
## 问题50
|
||||
_描述_:三副本模式下,集群的可用容量=集群总容量/副本数,对吗?
|
||||
|
||||
**回答**:三副本的可用容量的确是总容量的三分之一。如果上面的集群总容量就是datanode可用的总容量,那就是对的。
|
||||
|
||||
## 问题51
|
||||
_描述_:我有三台机器,每台机器只有一块SSD数据盘,怎么使用纠删码模式?cubefs支持的纠删码中,磁盘需求数量最少的是EC3P3,该如何搭建?
|
||||
|
||||
**回答**:把每个SSD盘分成两个分区,单机就有两块盘。3台机器就可以使用EC3P3。
|
||||
|
||||
## 问题52
|
||||
_描述_:我make的时候,提示golang版本需要1.17,但是我的golang版本是1.13。该如何处理?
|
||||
|
||||
**回答**:到官网上面下载1.17.13版本,然后升级golang版本。
|
||||
|
||||
@ -259,4 +259,55 @@ _Description_:Can nodeSet groups of metanode cross zones in multi-AZ scenario?
|
||||
## Question 45
|
||||
_Description_:The metanode's nodeset is also at the zone level, multi-raft restricts it to the nodeset level to prevent heartbeat storm, and the cross-zone volume metanode selection mechanism selects some machines in each zone to put. Is there any problem with this cross zone storage pool functionality?
|
||||
|
||||
**Answer**:Currently supported.
|
||||
**Answer**:Currently supported.
|
||||
|
||||
## Question 46
|
||||
_Description_:When some Docker containers start and mount the CubeFS client, only the following error appears, with no other error messages:
|
||||
```bash
|
||||
2025/06/04 02:20:23 maxprocs: Leaving GOMAXPROCS=48: CPU quota undefined
|
||||
Mount failed: startDaemon failed: daemon start failed, ... err(readFromProcess: sub-process: [fuse.go 528] mount failed: fusermount: exit status 1)
|
||||
```
|
||||
|
||||
**Answer**:This issue occurs due to the lack of root permissions and the absence of the /dev/fuse device. The solution is to add the --privileged parameter when starting the container.
|
||||
|
||||
**Notice**:If other containers encounter similar issues during startup, the corresponding errors can be found in the client's output.log file.
|
||||
```bash
|
||||
2025/06/04 14:49:12 mount helper error: fusermount: fuse device not found, try 'modprobe fuse' first
|
||||
2025/06/04 14:49:12 [fuse.go 529] mount failed: fusermount: exit status 1
|
||||
```
|
||||
The same error may also occur due to insufficient permissions for using FUSE, which will be indicated in the output.log file. Adding sudo can resolve this type of issue.
|
||||
In summary, these problems are caused by the inability to use FUSE functionality properly, resulting in the error: exit status 1.
|
||||
|
||||
## Question 47
|
||||
_Description_:The client's log reports an error: ResultCode(136).
|
||||
|
||||
**Answer**:OpWriteOpOfProtoVerForbidden (code 136). This issue may occur when the protocol versions of the client and server do not match.
|
||||
Solution: Upgrade the client to use the newer protocol version.
|
||||
|
||||
## Question 48
|
||||
_Description_:After the system reboot, CubeFS's ObjectNode failed to start with the error: access client service discovery disconnect.
|
||||
This occurred because the disk mounted by the DataNode was formatted during the process, causing the access logs to report: 0 available, total available space 0.
|
||||
|
||||
**Answer**:Restart the DataNode, and the formatted disk will be re-registered.
|
||||
|
||||
## Question 49
|
||||
_Description_:Are replica mode and erasure coding mode two completely different deployment methods? If using erasure coding mode, does it depend on services related to replica mode?
|
||||
|
||||
**Answer**:Replica mode and erasure coding mode are two distinct deployment methods in CubeFS. Both use MetaNode for metadata services, but they do not depend on each other.
|
||||
|
||||
## Question 50
|
||||
_Description_:In a three-replica mode, is the available cluster capacity equal to the total cluster capacity divided by the replica count?
|
||||
|
||||
**Answer**:The available capacity with three replicas is indeed one-third of the total capacity. If the total cluster capacity mentioned above refers to the usable capacity of the DataNodes, then this is correct.
|
||||
|
||||
## Question 51
|
||||
_Description_:I have three machines, each with only one SSD data disk. How can I use the erasure coding mode? Among the erasure coding options supported by CubeFS, the one with the minimum disk requirement is EC3P3. How can I set it up?
|
||||
|
||||
**Answer**:To use the EC3P3 erasure coding mode in CubeFS with three machines, each having only one SSD, you can partition each SSD into two logical disks. This way, each machine will effectively have two "disks," meeting the minimum requirement for EC3P3 (3 data nodes with 2 disks each).
|
||||
|
||||
## Question 52
|
||||
_Description_:When running make, it prompts that Golang version 1.17 is required, but my current Golang version is 1.13. How should I handle this?
|
||||
|
||||
**Answer**:
|
||||
To resolve the Golang version issue, follow these steps:
|
||||
Download Golang 1.17.13 from the official website. Install the new version by replacing your current Golang installation. Retry the make command after ensuring the correct version is active.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user