Docker容器块设备ID

时间:2018-08-17 14:23:51

标签: containers

我试图将块设备的主要和次要组件放入容器中(在Kubernetes中运行)。我首先获得设备ID:

stat /data
File: '/data'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 10005eh/1048670d    Inode: 7854544     Links: 1
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (    0/    root)
...

设备ID为1048670。如果我尝试使用Golang Unix软件包将此数字转换为主要和次要组件:

package main

import (
   "fmt"
   "golang.org/x/sys/unix"
)

func main() {
    devcont := uint64(1048670)
    fmt.Printf("%d:%d\n", unix.Major(devcont), unix.Minor(devcont))
}

我得到的是0:350,这对我来说似乎不正确。另外,0:350中没有条目/sys/dev/block。在我尝试过的每台计算机(某些VM和台式机)中,调用unix.Major()和unix.Minor()的结果都指向/sys/dev/block中的现有目录。

我想念什么?容器中的设备ID是否不同?我应该在另一个目录中查找吗?我是否缺少类型为uint64的东西?

0 个答案:

没有答案