Azure上linux虚机使用fio测试磁盘,以及附加数据盘建立raid提高iops

客户在 Azure中建立虚拟机后,通常有磁盘性能测试的需求。

针对基Azure 上 Centos  Linux虚拟机环境进行磁盘性能测试。

在Azure中建立Linux虚拟机后,可以看见两个磁盘分别为sda和sdb,其中sda为系统盘,sdb为临时盘。临时盘为虚拟机所在物理服务器的本地存储,在Windows Azure执行计划内或计划外维护时,虚拟机会移动到其他宿主服务器,所以会造成临时盘的内容丢失。除系统盘和临时盘外,Windows Azure还允许用户挂载数据盘。对于Linux虚拟机,系统盘才30G的空间,所以在实际应用场景中需要挂载数据盘存储应用数据。在azure linux虚拟机中,对于A7类型的虚拟机最多允许挂载16个数据磁盘,提供16TB的存储空间并且这些磁盘支持通过Raid机制获得更好的读/写性能。

1. 安装磁盘测试工具

Fio是常见的磁盘IOPS测试工具。首先在Centos中安装Fio:

yum install gcc libaio-devel –y

下载Fio 并安装:

wgethttp://brick.kernel.dk/snaps/fio-2.1.6.1.tar.gz

tar -zxvf fio-2.1.6.1.tar.gz

cd fio-2.1.6.1

make&& make install

2. 查看当前磁盘信息

fdisk -l

可以看见当前系统盘和临时盘

3. 附件数据磁盘

在Windows Azure的管理portal中,为测试虚拟机新增数据磁盘。

输入磁盘大小,附加成功后查看磁盘信息:

Sudo grep scsi /var/log/messages

对新磁盘执行分区操作:

sudo fdisk /dev/sdc

分区完成后创建文件系统:

sudo mkfs -t ext4 /dev/sdc1

创建挂载点

sudo mkdir /datadrive

sudo mount /dev/sdc1 /datadrive

为下次重启能自动挂载,需要修改/etc/fstab文件

执行sudo -i blkio 获取新磁盘的uuid,并添加到fstab文件

`UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e/datadrive ext4 defaults 1 2`

4. 执行测试

对系统盘执行随机写测试

fio -filename=/dev/sda1 -direct=1 -iodepth1 -thread -rw=randwrite -ioengine=psync-bs=16k -size=20G -numjobs=30-runtime=1000 -group_reporting -name=test

测试结果的iops为478,与windows Azure每磁盘500IOPS较为一致。

接下来执行随机读和随机读写测试:

随机读测试

fio -filename=/dev/sda1 -direct=1 -iodepth1-thread -rw=randread -ioengine=psync -bs=16k -size=2G -numjobs=10-runtime=1000-group_reporting-name=test

随机读写测试

fio -filename=/dev/sda1 -direct=1 -iodepth1 -thread -rw=randrw-rwmixread=70 -ioengine=psync -bs=16k -size=20G -numjobs=30-runtime=100-group_reporting -name=test1

用以上方法对数据盘/dev/sdc1进行测试。

参数说明:

filename=/dev/sdb1测试文件名称,通常选择需要测试的盘的data目录。

direct=1测试过程绕过机器自带的buffer。使测试结果更真实。

rw=randwrite测试随机写的I/O

rw=randrw测试随机写和读的I/O

bs=16k单次io的块文件大小为16k

bsrange=512-2048同上,提定数据块的大小范围

size=5g本次的测试文件大小为5g,以每次4k的io进行测试。

numjobs=30本次的测试线程为30.

runtime=1000测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止。

ioengine=psyncio引擎使用pync方式

rwmixwrite=30在混合读写的模式下,写占30%

group_reporting关于显示结果的,汇总每个进程的信息。

此外

lockmem=1g只使用1g内存进行测试。

zero_buffers用0初始化系统buffer。

nrfiles=8每个进程生成文件的数量

部署RAID的想法特别对在Windows Azure上创建的 Linux VM,在VM上部署MySQL等服务,同时希望能够获得性能更高的磁盘读/写访问,得到更好的数据安全、支持更多的并发访问会更好

对于Azure上的Linux虚拟机,可以采用以下的步骤,来创建RAID:

1. 在一个虚拟机上附加多个数据盘。

不同尺寸的虚拟机可以附加的数据盘的数量也不一样:其中8核的XL和A7最多可以增加16块1T的数据盘,即每个虚拟机最多可提供16TB。

这一工作可以在 Azure管理门户(Management Portal)上来完成,也可以用PowerShell脚本等方式来添加。

需要注意的是,对于数据磁盘,主机缓存默认首选项为“无”,这样对于数据库的应用,保证数据不丢而言更为有利。

2. 在Linux虚拟机中,利用root权限,执行下面的创建RAID、文件系统及磁盘安装命令:

mdadm --create/dev/md0 --level=0 --raid-devices=4 /dev/sdc /dev/sdd /dev/sde /dev/sdf

mkfs.ext3/dev/md0

mount /dev/md0/raid0

例如,利用4块数据磁盘,部署RAID-0。

不同的RAID等级,可以满足用户针对磁盘读/写性能、数据校验等方面的要求。

时间: 2024-10-10 11:13:14

Azure上linux虚机使用fio测试磁盘,以及附加数据盘建立raid提高iops的相关文章

Azure中创建安全Linux 虚机

由于密码易受到强力破解攻击,特别是在面向 Internet 的 VM(如 Web 服务器)上.连接到 Azure 中的 Linux 虚拟机 (VM) 时,应使用公钥加密提供更安全的方式登录到 Linux VM. 此过程涉及使用安全外壳 (SSH) 命令进行公钥和私钥交换,对自己(而不是用户名和密码)进行身份验证.笔者将通过本文介绍如何如何在 Windows 计算机上生成相应的密钥并在Azure中创建Linux虚机时使用SSH密钥.Azure 需要至少 2048 位采用 ssh-rsa 格式的公钥

在Azure中创建虚机映像

在部署环境的过程中,如果遇到要部署多台相同服务器的情况,通常的解决方法是先部署一台虚拟机,然后在虚拟机内完成应用配置后,将这台虚拟机昨为"模板"来批量"克隆"出其他虚拟机.这里提到的"模板"就是Azure的虚拟机映像.通过本文我们来了解下如何在Azure中创建虚机映像. 可通过在存储帐户中存储为托管/非托管磁盘的通用 VM 创建托管的映像资源. 随后,该映像可用于创建多个 VM.在创建虚机映像之前,需要先将虚机通用化,然后使用其创建映像 使用 S

linux使用FIO测试磁盘的iops 【转载】

linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等.fio 官网地址:http://freshmeat.net/projects/fio/ 一,FIO安装wget http:/

Azure Linux 虚机图像化配置之一:CentOS配置

本文主要介绍如何为Azure上的CentOS虚机安装图形界面.本文所用的系统版本为CentOS6.8.1.准备安装环境因安装图形化界面需要使用root账户,因此在开始之前需要先设置好root的密码,然后使用命令su - 切换至root.如下图所示:使用sudo passwd root命令设置root账户,输入密码后回车,再次输入密码.如果你设置的密码过于简单,会收到提示is too simple .密码设置完成之后,使用su -命令切换至root账户,输入su - 命令并回车后,会要求你输入密码

Azure Linux 虚机图像化配置之三:SUSE配置

前两篇博文介绍了CentOS.Ubuntu的图形化配置,本文我们在来看下SUSE的图形化配置.本文中所使用的SUSE版本为SUSE 12 SP2 .在SUSE中配置图形化操作一样需要以root身份登录,因此最好还是先设置root密码并切换至root,这样后续的操作会方便些.使用sudo passwd root命令设置root密码,然后使用su - 命令切换至root接下来是图形化的操作步骤.1.安装gnome-session执行zypper install gnome-session命令安装gn

Azure Linux 虚机图像化配置之二:Ubuntu配置

前一篇文章我们介绍了入站在Azure上为CentOS虚拟机安装图形界面,本文将介绍Azure中的Ubuntu图形化配置.本文以16.04系统版本为例.在Azure门户中创建一台Ubuntu16.04的虚拟机,创建完成之后使用putty登录,同CentOS一样,需要先设置好root密码,并切换至root.如下图 1.安装xfce4执行apt-get install -y xfce42.安装xrdp组件和vnc服务器执行apt-get install xrdp vnc4server 命令安装xrdp

Linux虚机设备篇

对虚机设备Bridge ,Vlan, VETH, TAP详细介绍 LInux Vlan虚拟设备通信的详细介绍 Linux iptables详细介绍

linux 使用FIO测试磁盘iops(转载)

FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎, 包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等. fio 官网地址:http://freshmeat.net/projects/fio/ 一,FIO安装 wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz yum ins

PowerShell 批量创建Linux虚机

Write-Host -NoNewline -ForegroundColor Magenta '请输入要创建的虚机名称(如:VLNX******)' [String]$VM_Name = Read-Host Write-Host -NoNewline -ForegroundColor Magenta '请输入需要放在哪台宿主机上(如:PWSR******)' [String]$VM_HostName= Read-Host Write-Host -NoNewline -ForegroundColo