标签: block-device

Linux 内核 3.x 如何将 ramdisk 作为块设备进行管理?

我需要 RAM 中的块设备。我构建了一个 3.x 内核并添加了 RAM 块设备驱动程序。RAM块设备驱动器的数目为16(默认),但是当在内核引导代码中没有ramx/sys/block也不/dev。这是怎么回事?

block-device ramdisk

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

在 OpenBSD 下将映像写入闪存驱动器

在 Linux 下,我可以简单地做一个:

dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdb
Run Code Online (Sandbox Code Playgroud)

并启动/dev/sdb,它是闪存驱动器的设备。它在 263 秒内完成。

但是:如果我启动 OpenBSD 5.6 并执行相同操作(对于同一个闪存驱动器,在两次测试之间将其归零):

dd if=ubuntu-14.04.1-desktop-amd64.iso of=/dev/rsd1i
Run Code Online (Sandbox Code Playgroud)

大约需要半个小时才能完成(使用安全级别 1),但是当我从它启动闪存驱动器时,BIOS 只说:

no active partition found
Run Code Online (Sandbox Code Playgroud)

问题:我错过了什么?

openbsd block-device

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

你可以scp一个设备文件吗?

我的闪存被分区为 /dev/mtd0 /dev/mtd1 等......我想将其中一个分区 scp 到我的电脑上,这样我就可以用十六进制编辑器分析它,但每次我尝试用 scp 复制它我得到 - 不是一个普通文件。如何 scp 闪存分区的内容?我想我在 Windows 机器上用 WinSCP 做过一次,但它只适用于 < 10mb 的小分区,任何更大的分区都会与设备断开连接。

scp devices flash-memory block-device

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

如何防止 /sda /sdb 在启动之间发生变化?

我打算将 Gentoo Linux 安装到旧硬件上,该主板同时具有 IDE 和 SATA 硬盘驱动器。我连接了两个 IDE 和一个 SATA 硬盘,并计划对它们进行 RAID。

但是我注意到一个问题:映射到 /dev/sda 的硬盘在每次启动时都会发生变化!

我正在互联网上寻找答案。我发现持久设备名称可能是一个解决方案。但是我担心它会在系统范围内遇到兼容性问题吗?此外,它非常不方便(因为名称很长),除非我可以使用/dev/disk/by-label. 但它似乎by-label不能指/dev/sda/dev/sdb- 只有/dev/sda1可能。而且,对于我使用 BIOS 的旧硬件,我认为我只能使用 MBR ,而不能使用 GPT。MBR环境下如何更改磁盘标签?

另一方面,我认为理想的解决方案是,/dev/sda在每次启动时都映射到同一个硬盘。想象一下,这可以通过在硬盘上保存一个名为“bootmap”的文件来实现。而“/sda”写在“bootmap”文件中。系统启动时,如果在“bootmap”中找到“/sda”,则驱动器被映射到/dev/sda. 如果找到“/sdb”,则映射到/dev/sdb. 等等。(但我知道这可能不是那么理想。)

那么,如何避免/dev/sda从引导到引导的变化映射?

作为替代方案,编辑标签的方式也不错。- 鉴于它不会在任何地方遇到兼容性问题。

(PS - 无论哪种方式,互联网上还没有解决方案。)

gentoo udev devices hard-disk block-device

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

无法编辑 /sys/block/sdX/device/queue_depth 文件

我正在尝试使用以下命令增加 SSD 的队列深度值:

echo 64 > /sys/block/sda/device/queue_depth
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

bash: echo: write error: Invalid argument
Run Code Online (Sandbox Code Playgroud)

我尝试使用tee甚至像这样的编辑器vimnano但仍然看到此错误。此服务器 (sd[ad]) 上有 4 个 SSD,并且所有这些 SSD 都会发生此错误。

操作系统为CentOS 7,内核版本为3.10.0-327.18.2.el7.x86_64

linux ssd scsi sysfs block-device

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

获取块设备父级

给定一个块设备,我怎样才能得到它的“父”?

一个例子是 LUKS 虚拟解密设备 (/dev/mapper/decrypted),其父设备将是加密块设备 (/dev/sdb)

linux block-device

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

如何判断加密 (LUKS) 设备是否已打开?

有没有办法告诉,给定一个 LUKS 块设备的路径,并且不知道密码,设备是否已经打开(解密)?

知道解密设备的路径怎么样?

encryption block-device luks device-mapper

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

什么是/dev/sdxx 节点?

这张来自 TLDP 的图片非常棒。它表明,在为用户空间提供对文件系统的实际读、写和开放访问权限之前,这些块已映射到虚拟文件系统上。

在此处输入图片说明

维基百科说,有不同的层上的文件系统的3个版本。

那么,标准(sd 节点)是指物理文件系统还是在LVM映射之后的虚拟文件系统?

还是他们只是指分区?(这意味着直接写入分区会跳过文件系统驱动程序,否则您甚至无法与文件本身进行交互)

如果是这种情况,什么设备代表文件系统驱动程序/或文件系统或....我只是不知道..有人可以链接我一些解释内核磁盘使用情况的东西吗?

filesystems devices block-device

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

如何选择 mq-deadline 调度器?

我正在尝试选择新的 mq-deadline io 调度程序,但它似乎不可用。

$ cat /sys/block/sda/queue/scheduler 
noop [deadline] 
Run Code Online (Sandbox Code Playgroud)

核心:

$ uname -a
Linux pluto 4.11.6-zenbook #1 SMP Wed Jun 21 09:39:34 EDT 2017 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

留言:

$ sudo dmesg|grep deadline
[    0.077863] TSC deadline timer enabled
[    1.383260] io scheduler deadline registered (default)
[    1.383261] io scheduler mq-deadline registered
Run Code Online (Sandbox Code Playgroud)

linux scheduling block-device

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

物理扇区大小为 4096 的硬盘在 USB 桥接器后面报告为 512

我买了一个新的(2017 年)4 TB 硬盘,所以我预计它的物理扇区大小为 4096。的确,

$ hdparm -I /dev/sdh
  ...
  Logical  Sector size:                   512 bytes
  Physical Sector size:                  4096 bytes
  Logical Sector-0 offset:                  0 bytes
  device size with M = 1000*1000:     4000787 MBytes (4000 GB)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用 对其进行分区时parted,我得到了 512 的物理块大小:

$ parted /dev/sdh print
Model:   (scsi)
Disk /dev/sdh: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Run Code Online (Sandbox Code Playgroud)

该驱动器位于 USB 桥接器(152d:0561JMicron JMS55 芯片组)后面的扩展坞(iTec) 中的 USB 3 端口上。

块层似乎也有错误的大小:

$ cat /sys/block/sdh/queue/physical_block_size
512
$ cat /sys/block/sdh/queue/minimum_io_size 
512
Run Code Online (Sandbox Code Playgroud)

一个READ CAPACITY …

hard-disk usb-drive block-device

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