Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

按照文档升级失败 #100

Closed
zengxu87 opened this issue Jun 25, 2021 · 20 comments
Closed

按照文档升级失败 #100

zengxu87 opened this issue Jun 25, 2021 · 20 comments
Assignees

Comments

@zengxu87
Copy link

zengxu87 commented Jun 25, 2021

按照https://docs.iomesh.com 的文档部署iomesh成功
但是pod绑定pvc过程中csi-driver一直卡在mkfs /dev/sda
DESCRIBE POD出现错误信息:“mke2fs is apparently in use by the system will not make a filesystem here”
chart版本:iomesh-v0.10.1.tgz operator-v0.10.1.tgz csi-driver-2.1.1.tgz

@gxglls
Copy link
Contributor

gxglls commented Jun 25, 2021

@zengxu87 感谢反馈,是否可以提供以下信息

  1. DESCRIBE POD 的截图完整信息
  2. iomesh 的 devicemap 配置
  3. 操作系统发型版,内核版本

@gxglls gxglls self-assigned this Jun 25, 2021
@zengxu87
Copy link
Author

zengxu87 commented Jun 28, 2021

@zengxu87 感谢反馈,是否可以提供以下信息

  1. DESCRIBE POD 的截图完整信息
  2. iomesh 的 devicemap 配置
  3. 操作系统发型版,内核版本
  1. 操作系统centos7.6

  2. 内核 4.18

  3. devicemap:
    spec:
    chunk:
    dataCIDR: 10.8.198.0/24
    deviceMap:
    cacheWithJournal:
    exclude:
    - blockdevice-6e7aa9cfe318f4a2a0ee70acb9336067
    - blockdevice-a677d01beda8de1915584fe60b7d7b87
    - blockdevice-becbd4b7e774716848c9204c533c5fe9
    - blockdevice-dc99a80654a29a028ef42b2991316085
    - blockdevice-f89f0ac9b449f5940189d91abf209788
    selector:
    matchLabels:
    iomesh.com/bd-driverType: HDD
    dataStore:
    exclude:
    - blockdevice-6e7aa9cfe318f4a2a0ee70acb9336067
    - blockdevice-a677d01beda8de1915584fe60b7d7b87
    - blockdevice-becbd4b7e774716848c9204c533c5fe9
    - blockdevice-f89f0ac9b449f5940189d91abf209788
    selector:
    matchLabels:
    iomesh.com/bd-driverType: HDD

  4. 刚开始安装时,一共使用了6个磁盘,每个节点2个磁盘
    为了简化问题,只使用一个磁盘blockdevice-ed6085b6b2d7731519dc7c54dd0a5227,问题依旧。
    kubectl get bd -n iomesh-system
    NAME NODENAME SIZE CLAIMSTATE STATUS AGE
    blockdevice-6e7aa9cfe318f4a2a0ee70acb9336067 zengx-test4-0003 107373116928 Unclaimed Active 2d16h
    blockdevice-a040ed3260107221104b877d62ccad07 zengx-test4-0002 107373116928 Unclaimed Inactive 7h38m
    blockdevice-a677d01beda8de1915584fe60b7d7b87 zengx-test4-0002 107373116928 Unclaimed Inactive 2d16h
    blockdevice-becbd4b7e774716848c9204c533c5fe9 zengx-test4-0003 53686025728 Unclaimed Active 2d16h
    blockdevice-dc99a80654a29a028ef42b2991316085 zengx-test4-0001 107373116928 Claimed Active 2d16h
    blockdevice-ed6085b6b2d7731519dc7c54dd0a5227 zengx-test4-0002 53686025728 Unclaimed Inactive 2d16h
    blockdevice-f89f0ac9b449f5940189d91abf209788 zengx-test4-0001 53686025728 Unclaimed Active 2d16h

  5. kubectl describe bd -n iomesh-system blockdevice-dc99a80654a29a028ef42b2991316085
    Spec:
    Capacity:
    Logical Sector Size: 512
    Physical Sector Size: 512
    Storage: 107373116928
    Claim Ref:
    API Version: openebs.io/v1alpha1
    Kind: BlockDeviceClaim
    Name: blockdevice-dc99a80654a29a028ef42b2991316085
    Namespace: iomesh-system
    Resource Version: 366984
    UID: 3be9bd4c-0dbf-467b-969e-6bab549259f4
    Details:
    Compliance:
    Device Type: partition
    Drive Type: HDD
    Firmware Revision:
    Hardware Sector Size: 512
    Logical Block Size: 512
    Model:
    Physical Block Size: 512
    Serial:
    Vendor:
    Devlinks:
    Kind: by-path
    Links:
    /dev/disk/by-path/virtio-pci-0000:00:08.0-part1
    /dev/disk/by-path/pci-0000:00:08.0-part1
    Filesystem:
    Node Attributes:
    Node Name: zengx-test4-0001
    Partitioned: No
    Path: /dev/vdc1

  6. fdisk -l
    Disk /dev/vdc: 107.4 GB, 107374182400 bytes, 209715200 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: gpt
    Disk identifier: 37DC0D60-C409-43CA-8FCB-F607287169CC
    Start End Size Type Name
    1 2048 209715166 100G Linux filesyste OpenEBS_NDM

  7. kubectl describe pod volume2-test
    image

  8. 查看meta的logs,发现有报错信息
    ......
    kubectl logs -f -n iomesh-system my-iomesh-meta-0 iomesh-meta --tail=10
    [EAllocSpace]:
    E0628 01:59:05.879855 41 meta_rpc_server.cc:876] [FAIL TO ALLOC PEXTENT]: pid: 4 volume: name: "652bd18f-5d35-433f-a873-9cd934c1eff6" size: 5368709120 created_time { seconds: 1624612139 nseconds: 514110438 } id: "652bd18f-5d35-433f-a873-9cd934c1eff6" parent_id: "c3eedffd-aee3-463b-b286-f43c023f9dfb" replica_num: 2 thin_provision: true iops_burst: 0 bps_burst: 0 throttling { } stripe_num: 4 stripe_size: 262144 secondary_id: "pvc-43145397-e286-4cd2-80f9-c5bf28c56b43" st: [UAllocFail]
    Traceback:
    [EAllocSpace]:
    E0628 01:59:06.879869 41 elastic_allocator.cc:161] There are no enough space or hosts for the allocation: replica_num: 2 extent num to be allocated: 1 free extent num: 0 current alive chunks num: 0 st: [UAllocFail] 
    ......

@zengxu87
Copy link
Author

有一个疑问:
安装文档里没有提到新增一个磁盘后,需要做哪些操作?

从安装过程来看,出问题的点比较像是在新增blockDevice后。

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

有一个疑问:
安装文档里没有提到新增一个磁盘后,需要做哪些操作?

从安装过程来看,出问题的点比较像是在新增blockDevice后。

服务器上增加的新磁盘会被 iomesh 自动识别并新增一个对应的 blockDevice

@zengxu87
Copy link
Author

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

非常感谢,我重新安装试一下。
如果不测性能,devicemap的cache with journal信息需要配置吗?

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

非常感谢,我重新安装试一下。
如果不测性能,devicemap的cache with journal信息需要配置吗?

需要。如果不测性能 cache with journal 可配置成一块 hdd 即可

@zengxu87
Copy link
Author

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

非常感谢,我重新安装试一下。
如果不测性能,devicemap的cache with journal信息需要配置吗?

需要。如果不测性能 cache with journal 可配置成一块 hdd 即可

可以和dataStore共用吗?

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

非常感谢,我重新安装试一下。
如果不测性能,devicemap的cache with journal信息需要配置吗?

需要。如果不测性能 cache with journal 可配置成一块 hdd 即可

可以和dataStore共用吗?

这个暂时不支持,内部会对 cache with journal 和 dataStore 的盘进行独立的格式挂化

@zengxu87
Copy link
Author

zengxu87 commented Jun 28, 2021

deviceMap加了cache
image
但是status只看到了datastore
image
而且cache使用的bolckDevice一直是unclaim状态
image

补充cache的blockDevice信息
image

@zengxu87
Copy link
Author

pvc 默认的 storageclass 是使用两副本,只有一块盘的话 pvc 的第二个副本无法分配,建议先至少每个节点保证挂一块数据盘(datastore)

非常感谢,我重新安装试一下。
如果不测性能,devicemap的cache with journal信息需要配置吗?

需要。如果不测性能 cache with journal 可配置成一块 hdd 即可

可以和dataStore共用吗?

这个暂时不支持,内部会对 cache with journal 和 dataStore 的盘进行独立的格式挂化

补充看到的日志信息
image

cacheWithJournal对应的磁盘需要额外做一些操作?

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

https://docs.iomesh.com/deploy/setup-iomesh
image
cacheWithJournal 需要一个可分区的裸设备,已经分区的设备 iomesh 不会进行格式化操作防止误删数据,可以先尝试把分区去掉

@zengxu87
Copy link
Author

https://docs.iomesh.com/deploy/setup-iomesh
image
cacheWithJournal 需要一个可分区的裸设备,已经分区的设备 iomesh 不会进行格式化操作防止误删数据,可以先尝试把分区去掉
删掉分区后,无法识别到磁盘
image
没有创建blockDevice
image

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

cat /sys/block/vdc/device/wwid 看看这个命令的输出

@zengxu87
Copy link
Author

cat /sys/block/vdc/device/wwid

image

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

使用的虚拟化平台是什么呢,vmvare 还是公有云?

@zengxu87
Copy link
Author

使用的虚拟化平台是什么呢,vmvare 还是公有云?

自研openstack

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

目前 iomesh 内部使用 wwid 来唯一标识一块盘,如果没有 wwid 尝试用以下方法解决:

  1. 配置虚拟化平台生成 wwid,比如 vmvare 的 exsi 有类似 disk.enablewwid 的参数,看看你们的 openstack 是否支持
  2. 如果不支持方法1,首先重启所有 node-disk-manager pod (删除,会自动被重建),然后还是按照 https://docs.iomesh.com/deploy/setup-iomesh 的 devicemap 配置方式,把 cacheWithJournal 拆成两部分 :rawCache 和 rawJournal ,分别对应一个单独的 bd,其他部分一样

@gxglls
Copy link
Contributor

gxglls commented Jun 28, 2021

image
可以加一下企业微信用户群,在这里面讨论

@zengxu87
Copy link
Author

按照此方法安装成功

首先重启所有 node-disk-manager pod (删除,会自动被重建),然后还是按照 https://docs.iomesh.com/deploy/setup-iomesh 的 devicemap 配置方式,把 cacheWithJournal 拆成两部分 :rawCache 和 rawJournal ,分别对应一个单独的 bd,其他部分一样

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants