�f�B�X�NI/O�̓����𗝉����A�œK����
�N���E�h������������SSD�Z�p�i��ҁj

���{���l
���z���C���t���X�g���N�`���E�I�y���[�^�[�Y�O���[�v �`�F�A
������C���^�[�l�b�g�������@�㋉������
2012/3/5

�T�[�o���z�������y����ɂ‚�ĊǗ��҂̓���Y�܂��Ă���̂��A�X�g���[�W�ւ̃A�N�Z�X�W���A���׏W���ł��B�����Ƀf�[�^�������s����SSD��K�ޓK���Ŋ��p����΁A���̉ۑ�ɑΏ��ł��܂��B�i�ҏW���j

�@�f�B�X�NI/O���\�̓����𗝉�����

�@���΂��΁A�uSSD��HDD�ɔ�ׂč������v�Ƃ����܂����A�O���ł����b�����Ƃ���A��ɂ����Ƃ͌���܂���B���Ƀf�B�X�N���\�ňႢ��������̂́u�f�B�X�N�ւ̏������ݐ��\�v�Ƃ����܂��B��҂ł͂�����ނƂ��Č��Ă����܂��傤�B

�@�ł��ȒP�Ƀf�B�X�N�ւ̏������ݐ��\�𑪒�ł���ΏۂƂ��āA�u�V�[�P���V����WRITE�v�A�‚܂�A���I�Ƀf�[�^�������݂��s������������܂��Bdd�ȂǁA������ʓI��OS�ɕt������c�[���ł��v���ł��܂����Afio��p�����k���Ɍv�����邱�Ƃ��”\�ł��B������͕]��������̎���ɂ���đI������̂������߂��܂��B

�@����́A4��ނ̈قȂ�SSD��HDD�Łu�V�[�P���V����WRITE�v���\���v�����Ă݂܂����B���ʂ����ċ����������邩�Ǝv���܂����A�]�����s�����Ƃ���A���ɂ�SSD����HDD�̐��\������Ƃ������ʂ������܂����i�}1�j�B

�}1�@�V�[�P���V����WRITE���\�̌v�������i�N���b�N����Ɗg�債�܂��j

�@�������A�uSSD������Ƃ����āA���ׂĂ������ł͂Ȃ��v�Ƃ������Ƃ̐^���ł�����܂��B�����̃X�g���[�W�ƊE�ł�SSD��HDD�̋�ʂȂ��A�f�B�X�N�A�N�Z�X�̍���������ɍs���Ă���A�Z�p�����i�����Ƃ����Ă��ߌ��ł͂���܂���B�ł�����A��T�ɁuSSD��HDD�����������v�Ƃ͂����Ȃ��̂ł��B

�@���ɁA�u�X�g���[�W�Ȃ�ł́v�̓����ɂ‚��Č��Ă����܂��傤�BOS�́ADRAM��L�����p���āA�f�B�X�N�ւ̏������݂�ǂݍ��ݏ������L���b�V������d�g�݂𓋍ڂ��Ă��܂��B����ɂ�茩������̐��\�����コ���A���[�U�[�̗��֐������コ���Ă���̂ł��B�f�[�^�̏����ɂ���ẮA���̃o�b�t�@�����O��L���b�V���O�������o�R���Ȃ�������”\�ł��B

�@�����ŗ������Ă����ׂ����Ƃ́u�o�b�t�@�����O��L���b�V���O���o�R���Ȃ��A�N�Z�X�́A�������f�B�X�N���\�򉻂������N�����ꍇ������v�Ƃ����_�ł��i�}2�B�Ȃ��A���ɍ����ɁA���x�̏������f�[�^�ɃA�N�Z�X����Ƃ����v���ȊO�ł́A�ʏ킱���������f�B�X�N�������œK�����Ďg�����Ƃ͂���܂���j�B

�}2�@OS�̃o�b�t�@�����O��L���b�V���O�𗘗p���Ȃ��ꍇ�A���������\���򉻂���ꍇ�������i�N���b�N����Ɗg�債�܂��j

�@�������Ȃ���AOS����DRAM���o�R���Ȃ��f�B�X�N�������Ԃ̌v���́A����SSD�P�̂̐��\���E��}��Ƃ����Ӗ��ł͋ɂ߂ďd�v�ɂȂ�܂��̂ŁAfio�╉�׎����c�[���̐ݒ���@�Ȃǂ͗������Ă����Ƃ悢�ł��傤�B

�Efio�R�}���h�E�}�j���A��

direct=bool    If true, use non-buffered I/O (usually O_DIRECT).  Default: false.

�@�܂��Afio�ɑ�\�����f�B�X�N���\�]���c�[���ɂ́A�f�[�^�̓ǂݏ������p�^�[���������ݒ肪�ŏ����������Ă��܂��B�����I�v�V�������g�����ƂŁA�f�B�X�N���{�������Ă���|�e���V�������ڍׂɊm�F���邱�Ƃ��ł��܂��B

�@�Ȃ��A����瑪��c�[�����f�B�X�NI/O�𐶐�����ۂɂ́A���CPU�p���[���g���܂��B���̂��߁A���肷��‹��ɂ���Č��ʂ��قȂ�ꍇ�����邱�Ƃɒ��ӂ��Ă��������B��������{����Ƃ��ɂ́A���̂��Ƃ��\���������Ă����Ƃ����ł��傤�i�}3�j�B

�}3�@fio���g�����e��I/O�p�^�[���̌v�������i�N���b�N����Ɗg�債�܂��j

�@�uI/O��ڂŌ���v�R�}���h

�@SSD��HDD�Ȃǂ̃f�B�X�N���\��]������ہAOS�̉e�ɉB��Ă��܂��A���̖{���̎p������̂�����ɂȂ�ꍇ����������܂��B

�@�P���Ƀt�@�C����ǂݏ������Ă��邾���ł́A�{���ɂ���SSD�������Ȃ̂��ǂ�����ڂŌ��邱�Ƃ͂ł��܂���BOS�������ƒf�B�X�N���\�������������邽�߂̃L���b�V���O�@�\�����Ɍ������삵�Ă���邪�䂦�̔Y�݂Ƃ�����ł��傤�B

�@Linux�ȂǂŁu�y�[�W�L���b�V���v�ƌĂ΂��@�\�̓�����m�F����ɂ́A/proc/meminfo��Dirty��Writeback�̏󋵂�����̂���Ԃ̑����ł��B�ȉ��̃R�}���h�ł�1�b�P�ʂ�meminfo�̓��e��\�����Ă���܂��̂ŁA�ω��ʂ����ɁA���݂ǂ̂悤�ȏ�����OS���ōs���Ă��邩�Ȃǂ�̊��ł��܂��B

# watch -n 1 cat /proc/meminfo
MemTotal:        2054624 kB
:
Dirty:              1124 kB
Writeback:           523 kB

�@�܂��Aiotop�R�}���h���g���ƁAOS��̂ǂ̃v���Z�X���ǂꂮ�炢�̗��x�Ńf�B�X�N�A�N�Z�X���s���Ă��邩�������Ă��܂��B��������āA�K�v�Ƃ���闱�x��SSD����芪�����\�󋵂���Ɋm�F���Ă������ƂŁA���\���E�̔����œK�Ȏg�����������Ă���ł��傤�B

# iotop -b -o
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
9164 be/4 root        0.00 B/s    8.57 M/s  0.00 % 90.71 % fio --directory=/ssd --rw=write --size=10G ...
9172 be/4 root        0.00 B/s    6.78 M/s  0.00 % 90.71 % fio --directory=/ssd --rw=write --size=10G ...

�@�Ȃ��AI/O�֘A�̃R�}���h�Ƃ��ẮApidstat��ANFS�‹��ł̓ǂݏ������\�𑪂�nfsiostat�Ȃǂ��L���Ɏg���܂��B�v�����������e�ɍ��킹�đI������Ƃ悢�ł��傤�B

�@10GbE SSD IP-SAN������Ă݂悤

�@SSD�̕��y�ɂ���āA�f�B�X�N�A�N�Z�X�͔��ɍ����ɂȂ�‚‚���܂��B�������A�t�@�C�����L���s���ꍇ�Ȃǂ́A���݂�1�M�K�r�b�g�C�[�T�l�b�g�i1GbE�j�ł́A���X�S���ƂȂ��Ƃ�����o�Ă��܂��B

�@��荂���ȃl�b�g���[�N�C���^�[�t�F�C�X�Ƃ��āA�����ł�InfiniBand�ɒ��ڂ��W�܂��Ă��܂��B����C�[�T�l�b�g���ӂł��A10GbE NIC�̒ቿ�i���n�܂�‚‚���i���M���_�Ł�399�`�t�߁j�A���y�ւ̒e�݂��‚��Ă��܂����B

�@�����ł͒ቿ�i������10GbE NIC���g���āAVMware��Linux��p����IP-SAN���\�z�������Љ�܂��B

�ʐ^1�@Mellanox ConnectX-3 EN�iDual-port 10GbE NIC�j

�@�܂��́A10GbE NIC�h���C�o���C���X�g�[������Ƃ��납��n�߂܂��B�����10GbE NIC�Ƃ��āAMellanox�А��́uConnectX-3 EN Dual-port 10GbE NIC�v���g���܂��BVMware�����Linux�̃h���C�o��񋟃T�C�g����K�X�擾���A�C���X�g�[�����Ă����܂��傤�B

�EMellanox 10GbE�h���C�o�̃C���X�g�[���菇�iScientific Linux 6.2R�̏ꍇ�j

# yum install kernel-headers.x86_64 kernel-devel.x86_64 kernel.x86_64 gcc.x86_64 rpm.x86_64 rpm-build.x86_64 zlib.x86_64 zlib-devel.x86_64 gcc-c++.x86_64
# cd /tmp
# wget http://www.mellanox.com/downloads/Drivers/mlnx_en-1.5.7.tgz
# tar xzvf ./mlnx_en-1.5.7.tgz ; cd mlnx_en-1.5.7
# ./install.sh
#reboot

�EVMware�p�h���C�o���擾���Ă���̎菇

# cd /opt
# unzip mlx4_en-mlnx-1.6.1.2-471530.zip 
# esxcli software vib install -v /opt/net-mlx4-en-1.6.1.2-1OEM.500.0.0.406165.x86_64.vib
���ċN�����s��

���1�@Mellanox 10GbE Driver�C���X�g�[���菇�iVMware ESXi 5.0.0�̏ꍇ�j�i�N���b�N����Ɗg�債�܂��j

�@�����āALinux���NFS�T�[�o�ݒ���s���Ă����܂��BNFS�T�[�o���ɓ��ڂ���SSD�Ńt�@�C���V�X�e�������Amount�����nfs export��ݒ肵�Ă����܂��B

�E�f�B�X�N�lj��菇�iScientific Linux 6.2R�̏ꍇ�j

# fdisk /dev/sda
# mkfs.ext4 /dev/sda
# mkdir /ssd; mount -t ext4 /dev/sda /ssd
# vi /etc/fstab
: 
/dev/sda               /ssd                    ext4    defaults        1 2
# vi /etc/exports
/ssd    192.168.0.0/255.255.255.0(rw,sync,no_root_squash)

�@�����āANFS�T�[�o�Ƃ��ĊO���ɃT�[�r�X��񋟂��邽�߂̐ݒ菈�����s���܂��B�e��NFS�ɕK�v�Ȑݒ��t�B���^�����O�̉������s���܂��傤�B

�ENFS�T�[�o�ݒ�菇�iScientific Linux 6.2R�̏ꍇ�j

# vi /etc/sysconfig/nfs
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
RPCNFSDCOUNT=256
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020

# iptables -I INPUT -m multiport -p tcp --dport 111,662,875,892,2049,32803 -j ACCEPT
# iptables -I INPUT -m multiport -p udp --dport 111,662,875,892,2049,32769 -j ACCEPT
# service iptables save
# setsebool -P nfs_export_all_rw 1
# service rpcbind start
# service nfs start
# service nfslock start
# chkconfig nfs on
# chkconfig rpcbind on
# chkconfig nfslock on

�@����ň�A�̏����͊����ł��B�l�b�g���[�N�z����SSD�‹��𗘗p�������N���C�A���g���ƂɁA�K�XVMware��Linux�AWindows�Ȃǂ̐ݒ���s���A�A�N�Z�X���Ă݂Ă��������B

 

�N���E�h������������SSD�Z�p�i��ҁj
�f�B�X�NI/O���\�̓����𗝉�����
�uI/O��ڂŌ���v�R�}���h
10GbE SSD IP-SAN������Ă݂悤
  SSD Caching���p���̒��ӓ_
I/O����̕K�R��
InfiniBand 56Gbit/s FDR Network�Ƃ�������
�Ō�̍ԁA�u�X�g���[�W�v�̕ۑS�Ɋ񂹂�

�uMaster of IP Network�����C���f�b�N�X�v


Master of IP Network �t�H�[���� �V���L��
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Master of IP Network �L�������L���O

�{�� ����