标签: block-device

寻求分布式、容错、联网的块存储

我正在寻找一个分布式的、容错的网络存储系统,它在客户端上公开块设备(而不是文件系统)。

  • 客户端的块设备应该同时写入多个存储节点
  • 只要不是所有支持它的存储节点都出现故障,客户端的块设备就不应该出现故障
  • 当存储节点出现故障或添加/删除时,主节点应自动重新分配存储数据
  • 单个主(仅用于元数据)就可以了

因此,理想情况下,该架构与 moosefs ( http://www.moosefs.org/ )非常相似,但不是公开使用熔断器客户端安装的真实文件系统,而是公开客户端上的块设备。

我知道 iscsi 和 drbd,但两者似乎都没有提供我正在寻找的东西。或者我错过了什么?

storage high-availability block-device

6
推荐指数
1
解决办法
1891
查看次数

可视化 Linux 块设备(分区、LVM PV、LV、mdadm 设备...)的工具

我正在寻找一种工具,它将扫描我的无 GUI 服务器并以某种丰富的视觉格式创建所有块设备及其关系(磁盘分区、mdadm 设备、LVM PV 和 LV 等)的易于消化的粗略概述( html、pdf、svg、png...)。

这是一个简单的示例可视化:

    +--------+---------------------+ +-------------------+
    | sda1   |                     | |       sdc1        |
    +--------+---------------------+ +-------------------+
        +               +                      +
    +--------+---------------------+ +-------------------+
    | sdb1   |                     | |       sdd1        |
    +--------+---------------------+ +-------------------+
        |               |                      |
        v               v                      v
    +---+---+ +---------+----------+ +--------+----------+
    |  md0  | |        md1         | |       md2         |
    +-------+ +---------+----------+ +--------+----------+
    | /boot |                    \     /
      ext4                        \   /
                                   \ /
                                    +
                                    |
                                    v
              +------------------------------------------+
              |                vgmain                    |
              +------+-----------------+-----------------+
              |/root |  /home          |   /var          | …
Run Code Online (Sandbox Code Playgroud)

linux hard-drive visualization block-device

5
推荐指数
1
解决办法
1055
查看次数

/var/lib/mongo 的预读设置为 4096KB

我正在尝试按照建议为 mongo 256 或更少设置预读,我查看了文档 以获取任何指导,我发现了这一点:

确保存储数据库文件的块设备的预读设置适当。对于随机访问使用模式,设置较低的预读值。32 (16kb) 的预读通常效果很好。对于标准块设备,您可以运行sudo blockdev --report以获取预读设置并sudo blockdev --setra <value> <device> 更改预读设置。有关详细信息,请参阅您的特定操作系统手册。

当我做一个sudo blockdev --report我得到:

rw  8192   512  4096          0     32212254720   /dev/sda
rw  8192   512  4096       2048     31162630144   /dev/sda1
rw  8192   512  4096   60866560      1048576000   /dev/sda2
rw  8192   512  4096          0     75161927680   /dev/sdb
rw  8192   512  4096       2048     75159830528   /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

我怎么知道哪个是与 mongo 相关的?

centos mongodb block-device centos7

4
推荐指数
1
解决办法
8877
查看次数

确定块设备大小的最快方法?

我有一个远程脚本,用于检查 lvm 卷中的某些参数。我需要知道的一件事是尺寸。我目前正在使用这个:

lvdisplay /dev/virtuals/volume_name -C -o lv_size

但是最后一个命令可能需要大约一秒钟才能在我的服务器上执行,而且我有多个要检查的卷。我也试过用usin lvs代替lvdisplay,但是速度没有太大的提升。

time lvs -o lv_size /dev/virtuals/volume_name -C -o lv_size
real 0m0.809s
time lvdisplay /dev/virtuals/volume_name
real 0m0.982s
Run Code Online (Sandbox Code Playgroud)

有人知道获取该信息的更快方法,只是卷大小,我对职业不感兴趣。

更新: 使用 blockdev 带来了巨大的改进。我真的建议使用它而不是 lvdisplay(只记得使用 getsize64)

时间块dev --getsize64 /dev/system/home

linux lvm block-device

3
推荐指数
1
解决办法
4435
查看次数

在 CentOS 7 中,有没有办法指定应该使用调度程序(或电梯)调整哪些块设备?

在 CentOS 6 中,有/etc/tune-profiles/my-server/ktune.sysconfig这样的文字(我指的是解释代码正在做什么的注释):

# This is the I/O scheduler ktune will use.  This will *not* override anything
# explicitly set on the kernel command line, nor will it change the scheduler
# for any block device that is using a non-default scheduler when ktune starts.
# You should probably leave this on "deadline", but "as", "cfq", and "noop" are
# also legal values.  Comment this out to prevent ktune from changing I/O
# scheduler settings.
ELEVATOR="deadline"

# …
Run Code Online (Sandbox Code Playgroud)

linux block scheduler grub2 block-device

2
推荐指数
1
解决办法
495
查看次数

将 QEMU 图像存储在数据库中

我的任务是将 QEMU 图像存储在数据库中,并考虑开发自定义块设备。这是一个好主意吗?从哪里开始比较好?

qemu block-device

0
推荐指数
1
解决办法
404
查看次数

复制磁带设备文件

我刚刚在机器(都是 Unix Tru64)之间交换了磁带驱动器。设备文件现在不起作用,我必须对它们做一些工作(会产生一个不同的问题)。我创建了一个目录来存储旧设备文件,但 cp 命令将它们视为设备文件,不会让我复制它们。

如何将设备文件以文本形式复制到另一个目录?

unix files tru64 block-device

0
推荐指数
1
解决办法
169
查看次数