311 lines
7.2 KiB
Markdown
311 lines
7.2 KiB
Markdown
# 硬件管理
|
||
|
||
> 本文档涵盖服务器硬件基础知识与 Linux 系统硬件信息查看方法。
|
||
|
||
---
|
||
|
||
## 第一部分:硬件基础知识
|
||
|
||
### 1. CPU
|
||
|
||
#### 1.1 指令集
|
||
|
||
| 类型 | 代表架构 | 特点 |
|
||
|------|---------|------|
|
||
| **CISC**(复杂指令集) | X86、AMD64 | 指令丰富但复杂,执行速度慢,编译程序复杂 |
|
||
| **RISC**(精简指令集) | ARM | 指令精简,MAC 已使用,Windows 生态待完善 |
|
||
|
||
#### 1.2 主频
|
||
|
||
CPU 主频是 CPU 的时钟频率,单位 Hz。主频越高,CPU 运算速度越快。
|
||
|
||
---
|
||
|
||
### 2. 存储
|
||
|
||
#### 2.1 ROM(只读存储器)
|
||
|
||
- **作用**:存放 BIOS 信息
|
||
- **特点**:断电后数据不丢失
|
||
|
||
#### 2.2 RAM(随机存取存储器)
|
||
|
||
##### DRAM
|
||
|
||
- **作用**:服务器的内存条
|
||
- **带宽计算**:内存带宽 = 内存总线频率 × 数据总线位数 / 8
|
||
|
||
##### SRAM
|
||
|
||
- **作用**:作为 CPU 内的高速缓存(Cache)
|
||
|
||
##### DRAM vs SRAM
|
||
|
||
| 特性 | DRAM | SRAM |
|
||
|------|------|------|
|
||
| 刷新电路 | 需要 | 不需要 |
|
||
| 性能 | 较低 | 高 |
|
||
| 价格 | 便宜 | 贵 |
|
||
| 集成度 | 高 | 低 |
|
||
|
||
##### 内存分级
|
||
|
||
```
|
||
CPU 寄存器(L0) → L1 Cache → L2 Cache → L3 Cache → 内存(DRAM) → 本地磁盘 → 远程存储(NAS)
|
||
```
|
||
|
||
**为什么需要分级?** CPU 处理速度远快于 IO,为避免 IO 阻塞,CPU 优先从高速缓存读取数据。
|
||
|
||
**缓存未命中时**:CPU 从 L1 找不到数据时会去 L2 查找,找到后会复制到 L1 以便后续快速访问。
|
||
|
||
---
|
||
|
||
### 3. 硬盘
|
||
|
||
#### 3.1 接口类型
|
||
|
||
| 接口 | 全称 | 速度 |
|
||
|------|------|------|
|
||
| **SATA** | Serial ATA | Ⅰ: 1.5Gb/s,Ⅱ: 3Gb/s,Ⅲ: 6Gb/s |
|
||
| **SAS** | Serial Attached SCSI | 更高 |
|
||
| **M.2** | 固态硬盘专用接口 | 10Gb/s |
|
||
|
||
> 注意:以上为接口最大带宽上限,不代表实际速度。
|
||
|
||
#### 3.2 结构分类
|
||
|
||
| 类型 | 组成 | 特点 |
|
||
|------|------|------|
|
||
| **机械 HDD** | 盘片、磁头、马达 | 成本低,容量大,寿命长 |
|
||
| **固态 SSD** | 闪存芯片、主控 | 速度快,无噪音,抗震动 |
|
||
|
||
#### 3.3 关键参数
|
||
|
||
- 容量、转速、传输速率、缓存
|
||
|
||
#### 3.4 磁盘尺寸
|
||
|
||
| 尺寸 | 应用场景 | 特点 |
|
||
|------|---------|------|
|
||
| **3.5 寸** | 企业级 | 转速快、容量大、需要外接电源 |
|
||
| **2.5 寸** | 个人电脑/便携 | 无需外接电源,支持热插拔 |
|
||
|
||
---
|
||
|
||
### 4. 网卡
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| 板载网卡 | 主板集成 |
|
||
| PCIE 拓展卡 | 通过 PCIE 插槽扩展 |
|
||
|
||
---
|
||
|
||
### 5. 远程管理卡(BMC)
|
||
|
||
- **全称**:Baseboard Manager Controller
|
||
- **特点**:服务器关机状态下也能运行
|
||
- **协议**:IPMI
|
||
- **功能**:远程访问、查看状态、调整 BIOS、配置 RAID、安装系统、重启机器
|
||
|
||
---
|
||
|
||
### 6. 阵列卡(RAID 卡)
|
||
|
||
- **作用**:实现磁盘阵列(RAID),释放 CPU 资源,提供缓存和阵列保护
|
||
- **功能**:RAID 建立/重建、错误检测、故障磁盘自动监测
|
||
|
||
#### RAID 级别对比
|
||
|
||
| 级别 | 最少盘数 | 冗余 | 性能 | 适用场景 |
|
||
|------|---------|------|------|---------|
|
||
| **RAID 0** | 2 | 无 | 最高 | 不考虑数据安全的场景 |
|
||
| **RAID 1** | 2 | 镜像 | 读快写慢 | 系统盘、关键数据 |
|
||
| **RAID 5** | 3 | 校验 | 平衡 | 通用业务数据 |
|
||
| **RAID 6** | 4 | 双校验 | 较高 | 高可靠性场景 |
|
||
| **RAID 10** | 4 | 镜像+条带 | 高 | 数据库、高 IO 应用 |
|
||
|
||
---
|
||
|
||
### 7. 电源
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| 服务器电源 | 通常采用双电源冗余 |
|
||
| UPS(不间断电源) | 稳压,市电异常时提供备用供电 |
|
||
|
||
---
|
||
|
||
### 8. 显卡
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| 亮机卡 | 服务器显示输出用,通常为集成显卡 |
|
||
| 专业卡 | 图形渲染用,非服务器必选 |
|
||
|
||
---
|
||
|
||
### 9. 机柜
|
||
|
||
- **计量单位**:U(1U ≈ 4.5cm)
|
||
- **用途**:标准 19 英寸机架式服务器安装
|
||
|
||
---
|
||
|
||
## 第二部分:Linux 硬件信息查看
|
||
|
||
### 2.1 查看 CPU 信息
|
||
|
||
#### 使用 `lscpu`
|
||
|
||
```bash
|
||
[root@tencentos ~]# lscpu
|
||
Architecture: x86_64
|
||
CPU op-mode(s): 32-bit, 64-bit
|
||
Byte Order: Little Endian
|
||
CPU(s): 2
|
||
On-line CPU(s) list: 0,1
|
||
Thread(s) per core: 1
|
||
Core(s) per socket: 2
|
||
Socket(s): 1
|
||
NUMA node(s): 1
|
||
Vendor ID: GenuineIntel
|
||
Model name: Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
|
||
CPU MHz: 2494.140
|
||
Hypervisor vendor: KVM
|
||
Virtualization type: full
|
||
L1d cache: 32K
|
||
L1i cache: 32K
|
||
L2 cache: 4096K
|
||
L3 cache: 36608K
|
||
```
|
||
|
||
#### 关键字段说明
|
||
|
||
| 字段 | 含义 |
|
||
|------|------|
|
||
| Architecture | CPU 架构,如 x86_64 |
|
||
| CPU(s) | 逻辑 CPU 数量 |
|
||
| Thread(s) per core | 每核心线程数(超线程 >1) |
|
||
| Core(s) per socket | 每颗物理 CPU 的核心数 |
|
||
| Socket(s) | 物理 CPU 颗数 |
|
||
| Model name | CPU 型号 |
|
||
| Hypervisor vendor | 虚拟化环境(如 KVM) |
|
||
| L1/L2/L3 cache | 各层级缓存大小 |
|
||
|
||
#### 使用 `/proc/cpuinfo`
|
||
|
||
```bash
|
||
[root@tencentos ~]# cat /proc/cpuinfo
|
||
```
|
||
|
||
可查看:processor、vendor_id、model name、cpu MHz、cache size、flags、bugs 等详细信息。
|
||
|
||
#### 使用场景建议
|
||
|
||
- **快速巡检**:`lscpu`
|
||
- **深度分析**:`/proc/cpuinfo`
|
||
- **判断虚拟机**:关注 `Hypervisor vendor`
|
||
- **计算核心/线程数**:结合 CPU(s) × Thread(s) × Core(s) × Socket(s)
|
||
|
||
---
|
||
|
||
### 2.2 查看内存信息
|
||
|
||
#### 使用 `free -h`
|
||
|
||
```bash
|
||
[root@tencentos ~]# free -h
|
||
total used free shared buff/cache available
|
||
Mem: 1.7Gi 323Mi 341Mi 35Mi 1.0Gi 1.2Gi
|
||
Swap: 0B 0B 0B
|
||
```
|
||
|
||
#### 关键字段说明
|
||
|
||
| 字段 | 含义 |
|
||
|------|------|
|
||
| total | 内存总量 |
|
||
| used | 已使用内存 |
|
||
| free | 完全空闲 |
|
||
| shared | 共享内存 |
|
||
| buff/cache | 缓冲区和页缓存 |
|
||
| available | 可用内存(推荐关注) |
|
||
| Swap | 交换分区 |
|
||
|
||
#### 使用 `/proc/meminfo`
|
||
|
||
```bash
|
||
[root@tencentos ~]# cat /proc/meminfo
|
||
```
|
||
|
||
常见字段:MemTotal、MemFree、MemAvailable、Buffers、Cached、SwapTotal、SwapFree、Slab、Dirty
|
||
|
||
#### 排障建议
|
||
|
||
- 日常巡检:`free -h`
|
||
- 重点关注 `available` 而非 `free`
|
||
- Swap 持续上升需关注内存压力
|
||
|
||
---
|
||
|
||
### 2.3 查看磁盘与分区
|
||
|
||
#### 使用 `lsblk`
|
||
|
||
```bash
|
||
[root@tencentos ~]# lsblk
|
||
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
|
||
vda 253:0 0 50G 0 disk
|
||
└─vda1 253:1 0 50G 0 part /
|
||
```
|
||
|
||
#### 使用 `/proc/partitions`
|
||
|
||
```bash
|
||
[root@tencentos ~]# cat /proc/partitions
|
||
major minor #blocks name
|
||
253 0 52428800 vda
|
||
253 1 52427759 vda1
|
||
```
|
||
|
||
#### 使用 `blkid`
|
||
|
||
```bash
|
||
[root@tencentos ~]# blkid
|
||
/dev/vda1: UUID="ded6c45d-0699-43e5-bc44-f31c21449dcc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f3d9d70-01"
|
||
```
|
||
|
||
- 查看文件系统类型(ext4、xfs)
|
||
- 获取 UUID 用于 /etc/fstab
|
||
|
||
---
|
||
|
||
### 2.4 常用巡检命令
|
||
|
||
```bash
|
||
# 1. 看 CPU
|
||
lscpu
|
||
|
||
# 2. 看内存
|
||
free -h
|
||
|
||
# 3. 看磁盘
|
||
lsblk
|
||
blkid
|
||
```
|
||
|
||
---
|
||
|
||
## 小结
|
||
|
||
| 命令 | 用途 |
|
||
|------|------|
|
||
| `lscpu` | CPU 概况 |
|
||
| `/proc/cpuinfo` | CPU 详细信息 |
|
||
| `free -h` | 内存使用情况 |
|
||
| `/proc/meminfo` | 内存详细统计 |
|
||
| `lsblk` | 块设备与挂载 |
|
||
| `blkid` | UUID 与文件系统类型 |
|
||
|
||
掌握以上命令,可覆盖 Linux 基础硬件巡检的常见需求。 |