Linux Disk 专题
介绍
apt install -y smartmontools
smartctl -i /dev/sdi
smartctl --json -i /dev/sdi
df -B1
df -B1GiB
df -B1GB
根据是否可以转判断。如上是机械盘为 1,否则为 0
$ cat /sys/block/sdi/queue/rotational
$ blkid /dev/vda1
/dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4"
NVME(Non-Volatile Memory Express)
$ apt install -y nvme-cli
$ nvme list
$ fdisk -l | grep nvme
Disk /dev/nvme0n1: 3.65 TiB, 4000787030016 bytes, 7814037168 sectors
TPM
可信平台模块(TPM, Trusted Platform Module) 技术旨在提供基于硬件的、与安全有关的功能
- 一种安装在计算机内部的芯片
- 该芯片是一种植于计算机内部为计算机提供可信根的芯片。
- 该芯片的规格由
可信计算组(Trusted Computing Group)来制定
apt install tpm2-tools
分区扩展
apt -y install cloud-guest-utils gdisk
# yum -y install cloud-utils-growpart gdisk
$ growpart /dev/sda 5
CHANGED: partition=5 start=1052672 old: size=40888320 end=41940992 new: size=103804895 end=104857567
# For xfs
$ xfs_growfs /
# 查看 *****
df -hT
- ext4 使用 Ubuntu Disk 工具,先扩展 Extend 再扩展其他的,重启
lsblk 命令
lsblk (list block devices) 命令用于列出系统上所有可用的或指定的块设备信息。TYPE 列显示了块设备的类型。
常见的 lsblk TYPE 值及其含义
| TYPE 值 |
含义 |
描述 |
| disk |
磁盘 |
物理或虚拟的主磁盘设备(例如:/dev/sda, /dev/nvme0n1)。 |
| part |
分区 |
磁盘上的一个分区(例如:/dev/sda1, /dev/nvme0n1p1)。 |
| lvm |
LVM 逻辑卷 |
逻辑卷管理 (Logical Volume Management) 创建的逻辑卷。通常是 dm- 开头的设备,位于一个或多个物理卷(PV)上。 |
| crypt |
加密设备 |
加密的块设备,如通过 LUKS/dm-crypt 创建的设备映射器设备。 |
| loop |
循环设备 |
回环设备,常用于挂载文件系统镜像文件(例如:.iso, .img 文件)或 Snaps 等。 |
| raid |
软件 RAID |
软件 RAID 阵列 中的设备,由 md (Multiple Device) 驱动管理。 |
| rom |
CD-ROM/DVD-ROM |
只读光驱设备,如 CD-ROM 或 DVD-ROM。 |
| dm |
设备映射器 |
Device Mapper 设备,泛指通过设备映射器内核框架创建的设备,如 LVM、crypt、multipath 等。 |
| mpath |
多路径设备 |
多路径 I/O (Multipath I/O) 设备,将多条路径聚合为一个逻辑设备。 |
| disk-slice |
磁盘分区(Solaris 风格) |
在某些系统上可能出现的 Solaris 风格的磁盘切片。 |
注意:
- LVM 和 Device Mapper:
lvm 和 crypt 都是特殊的 dm (Device Mapper) 设备类型。在某些版本的 lsblk 中,所有这些都可能显示为 dm,或者更具体地显示为 lvm、crypt、mpath 等。
- 层次结构:
lsblk 默认以树状结构显示设备关系。例如,part(分区)通常会作为 disk(磁盘)的子节点,而 lvm 或 crypt 设备可能会作为 part 的子节点或位于其上方。
测试磁盘性能
dd
dd if=/dev/zero of=testfile bs=64k count=100000 oflag=direct
dd if=testfile of=/dev/null bs=64k count=100000 iflag=direct
fio
yum install fio
apt install fio
[global]
ioengine=libaio
direct=1
runtime=60
time_based
[job]
filename=/path/to/testfile
bs=4k
size=1G
rw=randread
numjobs=1
fio io_test.fio