deviceLinux探索之路:探究块设备的神秘面纱(linuxblock)

把一部计算机,电视或者游戏机分解成其中的基本组件,比如CPU,RAM,显卡等,多数时候会忽视其中的一个重要组件:块设备,它可能是磁盘驱动器,光盘或者SD存储卡,甚至是尚未发展到实际产品的新型存储设备,这些都包含在计算机的“块设备”范畴之下。Linux提供了大量的特性来支持块设备。

Linux系统支持块设备,需要利用其内核接口和应用层接口,把块设备从“黑箱子”中解放出来。内核在启动过程中会首先尝试激活所有块设备,可以使用“lsblk”列出所有已激活的块设备,例如:

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 250G 0 disk
├─sdb1 8:17 0 99G 0 part /
└─sdb2 8:18 0 40.9G 0 part /var/lib/mysql
sr0 11:0 1 1024M 0 rom

虽然上面的命令仅仅只列出了块设备的大众部分,但它只是冰山一角,为了让块设备可以得到更全面的控制,可以使用“fdisk”命令来显示更详细的硬盘信息,例如:

$ fdisk -l
Disk /dev/sdb: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488395060 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 identifier: 0xa783f923
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 102195983 51047468 83 Linux
/dev/sdb2 102196830 488395199 193103685 5 Extended
/dev/sdb5 102196992 245995903 71899456 83 Linux
/dev/sdb6 246003968 488395199 121195116 83 Linux

通过上面的指令来查看详细的分区信息,“fdisk”指令也能用于更改分区大小,改变引导设置,重新格式化等等功能。此外,Linux还提供一些特定的命令和工具来更好地操作块设备,典型的如“dd”、“ddrescue”、“nmap”以及启动硬盘的“hdparam”等,它们的目的在于创建,对抗,复制,探测或恢复失败的磁盘。

总结而言,Linux可以通过内核接口和应用层接口来支持块设备,并且可以使用特定的命令和工具来让操作变得更加容易和高效。可以说,Linux让令人兴奋的块设备之旅变成了可中途可以探索的神秘面纱。


数据运维技术 » deviceLinux探索之路:探究块设备的神秘面纱(linuxblock)