1、概述
小于8T,使用ext4分区,大于8T建议使用xfs分区。
fio进行磁盘读写测试。
2、分区(前置条件)
#1.yum
yum install parted xfsprogs -y
#2.查看数据盘(或新加的盘)
fdisk -l
或
lsblk
#3.定义盘符变量
export d_disk=/dev/vdb #根据第二步查出的数据盘名称对应修改/dev/vdb
#4.分区
fdisk ${d_disk} #(新建磁盘)
n-->p-->1(数字1)-->回车-->回车-->p-->w
3、ext4格式化
#1.格式化
mkfs.ext4 -T largefile ${d_disk}1
y
#2.挂载盘符
mkdir -p /data007 #创建挂载点
mount -t ext4 -o noatime ${d_disk}1 /data007
#3.开机自动挂载
echo "${d_disk}1 /data007 ext4 defaults,noatime 0 0" >> /etc/fstab
或 (换盘情况)
取消/etc/fstab文件中注释
4、xfs格式化
#1.格式化
mkfs -t xfs -f -n ftype=1 ${d_disk}1 ## -f强行格式化
#2.挂载盘符
mkdir -p /data007 #创建挂载点
/bin/mount -t xfs -o noatime ${d_disk}1 /data007
#3.开机自动挂载
echo "${d_disk}1 /data007 xfs defaults,noatime 0 0" >>/etc/fstab
或 (换盘情况)
取消/etc/fstab文件中注释
#4、检查
xfs_info /data007
##删除分区
#/etc/fstab中配置请清除
#如果有挂载就先umount掉
fdisk /dev/sdb
m-->d-->1-->w
5、磁盘io测试fio
使用以下命令进行测试,/data/data/test 为磁盘分区的测试目录。
runfio.sh
#!/bin/bash
yum install libaio-devel fio -y
rm -rf /data/data/test
mkdir -p /data/data/test
#顺序读
fio -directory=/data/data/test -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=30 -group_reporting -name=mytest
#顺序写
fio -directory=/data/data/test -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=30 -group_reporting -name=mytest
#随机读
fio -directory=/data/data/test -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=30 -group_reporting -name=mytest
#随机写
fio -directory=/data/data/test -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=30 -group_reporting -name=mytest
#read : io(测试了1G的数据)=1024.0MB, bw(带宽)=139643KB/s, iops(每秒钟的IO数)=136 , runt(总运行时间)= 7509msec
#nohup runfio.sh &
#cat nohup.out |grep iops
测单块ssd iops
mkdir /kudu7/iopstest
#顺序读
fio -directory=/kudu7/iopstest -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=1G -numjobs=10 -runtime=30 -group_reporting -name=mytest
##[R(10)][100.0%][r=954MiB/s,w=0KiB/s][r=61.1k,w=0 IOPS][eta 00m:00s]
#顺序写
fio -directory=/kudu7/iopstest -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=1G -numjobs=10 -runtime=30 -group_reporting -name=mytest
##[W(10)][100.0%][r=0KiB/s,w=301MiB/s][r=0,w=19.3k IOPS][eta 00m:00s]
#随机读
fio -directory=/kudu7/iopstest -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=1G -numjobs=10 -runtime=30 -group_reporting -name=mytest
[r(10)][100.0%][r=953MiB/s,w=0KiB/s][r=61.0k,w=0 IOPS][eta 00m:00s]
#随机写
fio -directory=/kudu7/iopstest -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=1G -numjobs=10 -runtime=30 -group_reporting -name=mytest
[w(10)][100.0%][r=0KiB/s,w=300MiB/s][r=0,w=19.2k IOPS][eta 00m:00s]
这里是对您提供的 fio 命令中各个参数的简要解释:
-directory=/kudu7/iopstest: 指定进行测试的目录路径。
-direct=1: 启用直接 I/O,绕过文件系统缓存。
-iodepth 1: 每个作业中正在发生的 I/O 数。
-thread: 每个作业使用独立线程。
-rw=read: 读取操作的模式为随机读取。
-ioengine=psync: 使用 psync I/O 引擎。
-bs=16k: 每个 I/O 操作使用的块大小为 16KB。
-size=10G: 模拟总共 10GB 的数据。
-numjobs=10: 同时执行的作业数量为 10。
-runtime=30: 测试运行时间为 30 秒。
-group_reporting: 输出聚合报告。
-name=mytest: 指定测试作业的名称为 "mytest"。
6、常见问题
1、问mount -a 有什么作用?
答:mount -a 就是重新加载fstab文件中的内容
相当于更新你刚刚修改fstab文件内容
2、如何重载系统配置
答:systemctl daemon-reload
然后在进行mount