标签: block-device

块大小和簇大小之间的差异

我有一个关于块大小和簇大小的问题。关于我所读到的内容,我假设如下:

  • 块大小是一个块的物理大小,多为 512 字节。没有办法改变这一点。
  • 簇大小是操作系统可读写的块的最小大小。如果我创建一个新的文件系统,例如 ext3,我可以使用开关 -b 指定这个最小的块大小。几乎所有像 dumpe2fs、mke2fs 这样的程序都使用块大小作为集群大小的名称。

如果我有以下输出:

$ stat test
File: `test'
Size: 13            Blocks: 4          IO Block: 2048   regular file
Device: 700h/1792d  Inode: 15          Links: 1
Run Code Online (Sandbox Code Playgroud)

大小是以字节为单位的实际空间,块是物理使用的块(每个 512 字节),IO 块与创建 FS 时指定的块大小有关,这是否正确?

filesystems ext3 terminology block-device

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

如何确定哪个 sd* 是 USB?

可能的重复:
如何知道 /dev/sdX 是连接的 USB 还是 HDD?

ls /dev/sd*在我的系统上的输出是 -

sda  sda1  sda2  sda3  sda4  sda5  sda6  sda7  sdb  sdc  sdc1  sdc2
Run Code Online (Sandbox Code Playgroud)

我应该如何确定哪个驱动器是哪个?

linux block-device disk

27
推荐指数
4
解决办法
7万
查看次数

逻辑块设备名称和物理块设备名称之间的映射

我无法弄清楚不同逻辑和物理块设备名称之间的映射。“cat /proc/diskstats”的输出是:

 104    0 cciss/c0d0 ...
 104    1 cciss/c0d0p1 ...
 104    2 cciss/c0d0p2 ...
 104    16 cciss/c0d1 ...
 253    0 dm-0 ...
 253    1 dm-1 ...
 253    2 dm-2 ...
 253    3 dm-3 ...
Run Code Online (Sandbox Code Playgroud)

“df -h”的输出是:

/dev/cciss/c0d0p1                 99M   39M   56M  42% /boot
/dev/mapper/VolGroup01-LogVol02   908G  760G  103G  89% /home
/dev/mapper/VolGroup01-LogVol03   193G  181G  2.6G  99% /opt
/dev/mapper/VolGroup00-LogVol00   54G   11G   41G  21%  /
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到 "cciss" 、 "dm-#" 和 "VolGroup##" 之间的映射?

谢谢

lvm block-device

25
推荐指数
3
解决办法
10万
查看次数

如何告诉 Linux Kernel > 3.0 完全忽略故障磁盘?

我有一个三星笔记本电脑(Chronos的S7)与总线一个SATA硬盘ata:1,它被检测为/dev/sda,一个8G SSD上ata:2/dev/sdb和上SATA接口的其余各种其他装置。

问题是SSD盘是

  • 焊接到主板上(不可移动)
  • 被破坏(它只会为任何操作提供 I/O 错误)
  • 它没有出现在 bios 中(可能是因为它坏了)

现在这个磁盘:

  • 尝试探测故障磁盘的启动延迟了三到五分钟,这很烦人;
  • 但最烦人的是系统因为/dev/sdb失败而无法挂起。

请注意,我可以忍受启动时的延迟——让我担心的是恢复/挂起的事情。


所以问题是:我可以告诉内核避免在 ata:2 上探测设备吗?

在较旧的内核 (<3.0) 中,当我仍然能够深入挖掘源代码时,有一个样式的命令行参数hdb=ignore可以解决问题。

我已经尝试了下面提出的所有技巧udevlibata:force内核参数,但无济于事。具体来说,以下不起作用:

  1. 添加到以下/etc/udev/rules.d/文件之一(在早期执行中00-ignoredisk.rules或晚期执行99-ignoredisk.rules或在两个地方)

    SUBSYSTEMS=="scsi", DRIVERS=="sd", ATTRS{rev}=="SSD ", ATTRS{model}=="SanDisk iSSD P4 ", ENV{UDISKS_IGNORE}="1" 
    
    Run Code Online (Sandbox Code Playgroud)

    也不

    KERNEL=="sdb", ENV{UDISKS_IGNORE}="1"
    
    Run Code Online (Sandbox Code Playgroud)

    也没有很多中间解决方案——这使得启动后无法访问磁盘,但它在启动时被探测,并在挂起时仍然检查——导致挂起失败。

  2. 编辑系统文件/lib/udev/rules.d/60-persistent-storage.rules(和udisks, udisks2)改变

    KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md", GOTO="persistent_storage_end"
    
    Run Code Online (Sandbox Code Playgroud)

    KERNEL=="ram*|loop*|fd*|nbd*|gnbd*|dm-|md|sdb*", GOTO="persistent_storage_end"
    
    Run Code Online (Sandbox Code Playgroud)

    同样,这也有一些效果,从用户空间屏蔽了磁盘,但内核仍然可以看到磁盘。

  3. 使用参数的所有可能组合(好吧,很多)引导libata:force(例如在这里找到)以禁用 DMA、降低速度或任何有关故障磁盘的问题 --- 不起作用。使用了该参数,但磁盘仍被探测并失败。

    完整 …

block-device linux-kernel

25
推荐指数
2
解决办法
2万
查看次数

在 linux 中使用 2 个硬盘(SSD 和非 SSD)进行分区

我在 2 个磁盘上有以下可用空间:

  1. 固态硬盘 - 240G (sda)
  2. 非 SSD - 240G (sdb)

我知道我应该使用 SSD 来安装软件包,而非 SSD 只是为了存储数据。在我的情况下,最好的分区模式(包括交换)是什么?

当我尝试自动分区时,它仅安装在 1 个磁盘上并专用于交换 8G。

附注。我将与已经安装的 Windows 7 一起安装 Linux Mint 作为双引导。

更新: 我有 8GB 的​​内存 Windows 已安装在非 SSD 驱动器上。

linux partition ssd linux-mint block-device

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

授予特定用户访问设备的权限,而不授予其他用户访问权限

我有一个读卡器连接在/dev/sdb.

我所做的是将所有权限授予所有者、组和世界其他地方,使用:

sudo chmod 777 /dev/sdb
Run Code Online (Sandbox Code Playgroud)

我可以使用另一种组合,只允许所有者(我)使用读卡器吗?

只有一个用户帐户。

linux permissions block-device

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

如果删除设备文件会发生什么?

我大致了解位于/dev 下的文件。

我知道有两种类型(字符/块),访问这些文件与内核中的驱动程序通信。

我想知道如果我删除一个会发生什么——特别是对于这两种类型的文件。如果我删除一个块设备文件,比如说/dev/sda,这有什么影响——如果有的话——有什么影响?我刚刚卸载了磁盘吗?

同样,如果我删除/dev/mouse/mouse0- 会发生什么?鼠标停止工作了吗?它会自动替换自己吗?

我什至可以删除这些文件吗?如果我设置了虚拟机,我会尝试一下。

linux udev devices block-device linux-kernel

21
推荐指数
2
解决办法
5009
查看次数

什么是“/dev/sda0”?这是一个标准的东西吗?

在试图理解另一个问题时,我遇到了/dev/sda0被提及的情况。

\n

我在 Linux 方面有一些经验,并且习惯了这种方案,其中sda, sdb, \xe2\x80\xa6 是设备sda1, , sda2, \xe2\x80\xa6 , sdb1, sdb2, \xe2\x80\xa6 是分区(每个分区都在各自的设备)。在这个方案中sda0, sdb0, \xe2\x80\xa6 不会出现。我不记得sda0曾经见过。

\n

仍然sda0出现在 U&L SE超级用户和其他地方。在它出现的地方,它几乎总是第一个分区,即我希望在sda1我习惯的方案中出现的分区。

\n

另一方面,在 Debian 10 中,我可以看到major,minor数字8,1for sda18,2forsda2等。因此,如果有人问我sda0可能是什么,我会说8,0哪个已经分配给了sda。这个推理sda0相当于sda整个设备。我猜这些数字是 Linux 特有的,在非 Linux Unix(类似)操作系统中它们可能会有所不同,因此推理可能不适用于那里。

\n

在互联网上我发现很少有sda0 …

partition udev devices history block-device

21
推荐指数
3
解决办法
4452
查看次数

将多个 img 文件挂载为单循环设备

有没有办法将磁盘 img 文件分解为多个部分并将其安装为单个循环设备?

linux block-device loop-device

20
推荐指数
1
解决办法
9856
查看次数

有没有办法只同步一个分区?

有没有办法只同步一个分区而不是所有分区?

类似于“同步/dev/sdc1”。

filesystems cache buffer synchronization block-device

18
推荐指数
3
解决办法
6351
查看次数