技术工作者的知识追求与实用Linux工具
立即解锁
发布时间: 2025-08-26 01:53:03 阅读量: 3 订阅数: 12 


Python for DevOps: Mastering Automation and Cloud Computing
### 技术工作者的知识追求与实用 Linux 工具
在技术领域,知识的追求是永无止境的。就像 Alfredo 一样,他掌握了独特的知识,准备全面负责系统,然而在分享知识时却遭遇诸多借口。但我们不能让同事或部门成为提升系统的阻碍,只要有学习新知识的机会,就要积极抓住,这可能会改变我们的职业生涯。
#### 1. Linux 的强大之处
Linux 的真正力量源于对命令行的理解和运用,以及对其进行扩展。当没有现成工具解决问题时,经验丰富的 DevOps 人员会自行创建解决方案。下面我们来介绍一些实用的 Linux 工具。
#### 2. 磁盘工具
磁盘工具对于获取系统设备信息、操作分区和测量性能至关重要。
- **性能测量**
- **dd 工具**:在无法访问互联网或无法安装软件包的环境中,dd 工具可用于提供一些性能数据。例如,使用以下命令可获取新设备 `/dev/sdc` 的相关数据:
```bash
$ dd if=/dev/zero of=/dev/sdc count=10 bs=100M
10+0 records in
10+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 1.01127 s, 1.0 GB/s
```
此命令以 1GB/s 的速率写入 10 条 100MB 的记录,测量的是吞吐量。若要获取 IOPS,可结合 iostat 工具:
```bash
$ iostat -d /dev/sdc 1
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdc 6813.00 0.00 1498640.00 0 1498640
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sdc 6711.00 0.00 1476420.00 0 1476420
```
使用以下命令可更清晰地查看输出:
```bash
$ while true; do clear && iostat -d /dev/sdc && sleep 1; done
```
- **fio 工具**:当 dd 和 iostat 不够用时,fio 工具可用于精确测试设备性能。例如:
```bash
$ fio --name=sdc-performance --filename=/dev/sdc --ioengine=libaio \
--iodepth=1 --rw=randrw --bs=32k --direct=0 --size=64m
```
fio 工具具有众多选项,可跨多个设备进行测试、进行 I/O 预热,甚至设置 I/O 阈值,还可使用 INI 样式文件进行配置。
- **分区操作**
- **fdisk**:通常使用 fdisk 的交互式会话创建分区,但对于大分区(2TB 及以上),fdisk 可能不太适用。以下是使用 fdisk 创建主分区的示例:
```bash
$ sudo fdisk /dev/sds
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-22527999, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-22527999, default 22527999): +4G
Partition 1 of type Linux and of size 4 GiB is set
Command (m for help): w
```
- **parted**:对于大分区,可使用 parted 工具。例如:
```bash
$ sudo parted /dev/sdaa
GNU Parted 3.1
Using /dev/sdaa
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
(parted) mkpart
Partition name? []?
File system type? [ext2]?
Start? 0
End? 40%
```
也可使用以下命令以编程方式创建分区:
```bash
$ parted --script /dev/sdaa mklabel gpt
$ parted --script /dev/sdaa mkpart primary 1 40%
$ parted
```
0
0
复制全文
相关推荐










