磁盘管理
raid
#!/bin/bash # describe: use all free disk to create raid10 # 创建一个未使用磁盘的数组 ls_disk(){ for disk in $(lsblk|awk '/disk/{print $1}');do mount|grep -q ${disk} &>/dev/null resout1=$? pvscan |grep -q ${disk} &>/dev/null resout2=$? if [ $resout1 -eq 1 ] && [ $resout2 -eq 1 ];then noUseDisk=(${noUseDisk[@]} /dev/$disk) fi done if [ ${#noUseDisk[@]} -lt 6 ];then echo "$(date "+%F %H:%M:%S")W! disk number enough!,current disk member is 【${noUseDisk[@]:-"null"}】" exit 23 fi } # 做raid10 md_raid10() { echo "start create raid" mdadm -C /dev/md0 -R -a yes -l 10 -n 6 ${noUseDisk[@]} if [ $? -ne 0 ];then echo "$(date "+%F %H:%M:%S")E! command exec error 【mdadm -C /dev/md0 -R -a yes -l 10 -n 6 ${noUseDisk[@]}】! " exit 22 fi } # main ls_disk md_raid10 lsblk|awk '/raid10/{print $1}'|grep -q md0 &>/dev/null if [ $? -eq 0 ];then mdadm --detail --scan >>/dev/mdadm.conf echo "$(date "+%F %H:%M:%S")I! mutil device 【${noUseDisk[@]}】raid10 to /dev/md0 successful !" fi
io 测试
使用 Flexible I/O Tester (fio) 工具检查是否满足 Ansible Automation Platform PostgreSQL 数据库的最低要求。Fio 是一种用于对存储系统的写入/读取 IOPS 性能进行基准测试的工具。 https://prog.world/is-storage-speed-suitable-for-etcd-ask-fio/
先决条件
-
您已安装 Flexible I/O Tester () 存储性能基准测试工具。
fio
要安装 ,请以 root 用户身份运行以下命令:
fio
# yum -y install fio -
您有足够的磁盘空间来存储测试数据日志文件。
fio
过程中显示的示例需要目录中至少 60GB 的磁盘空间:
/tmp
numjobs
设置命令运行的作业数。size=10G
设置每个作业生成的文件大小。
-
您已调整参数的值。调整此值可减少测试数据量。
size
程序
-
运行随机写入测试:
$ fio --name=write_iops --directory=/tmp --numjobs=3 --size=10G \ --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 \ --verify=0 --bs=4K --iodepth=64 --rw=randwrite \ --group_reporting=1 > /tmp/fio_benchmark_write_iops.log \ 2>> /tmp/fio_write_iops_error.log -
运行随机读取测试:
$ fio --name=read_iops --directory=/tmp \ --numjobs=3 --size=10G --time_based --runtime=60s --ramp_time=2s \ --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randread \ --group_reporting=1 > /tmp/fio_benchmark_read_iops.log \ 2>> /tmp/fio_read_iops_error.log -
查看结果:
在基准测试命令写入的日志文件中,搜索以 开头的行。此行显示测试的最小值、最大值和平均值。
iops
以下示例显示了随机读取测试的日志文件中的行:
$ cat /tmp/fio_benchmark_read_iops.log read_iops: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64 […] iops : min=50879, max=61603, avg=56221.33, stdev=679.97, samples=360 […] 您必须根据自己的业务需求、应用程序工作负载和新需求查看、监视和重新访问日志文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
2022-04-25 bond