Thursday, January 9, 2020

distributed storage vs. Centralized storage


Reading Materials:

gartner 2019 分布式文件存储关键能力报告:
https://cloud.tencent.com/developer/article/1544111

2019中移动分布式块存储采购:
https://cloud.tencent.com/developer/article/1536688



Aws Aurora (cloud DB compatible with mysql/postgre):
Processing at storage node ()
https://www.percona.com/live/e18/sites/default/files/slides/Deep%20Dive%20on%20Amazon%20Aurora%20-%20FileId%20-%20160328.pdf

Friday, December 20, 2019


SCSI,  iSCSI, and VMware Integration


VAAI Integration

SCSI cmd

xcopy study documents

SCSI T10 doc


SCSI command CDB definition:
https://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068j.pdf

SCSI

"mode pages" hold metadata about a SCSI device (LUN), and some metadata can be changed by user.

"mode pages" common to all SCSI devices are found in SPC-4,  "mode pages" specific for block devices are defined in SBC-3.

SCSI standard architecture:  www.t10.org/scsi-3.htm

SCSI target device provides a number of mode pages. These can be interrogated by "MODE SENSE"  command,  set by "MODE SELECT" command.
page code: 6 bits
sub-page code:  8 bits


"mode sense": obtain device information from mode pages in a target device.
"mode select":  set new values in a mode page

mode sense pages:



VPD pages
Some seldom-change metadata is stored in "vital product data" (VPD) pages,  they are obtained via "SCSI INQUIRY" command.

The most important vpd page is "device identification vpd page, 0x83).

Log pages
Performance stats are stored in "log pages",  which are obtained via "LOG SENSE" command.


SCSI return status code
SCSI communication takes place between an initiator and a target.  SCSI cmds are sent in a "command descriptor block" (CDB). At the end of command, target returns a "status code" byte, which is "0h" for success, "02h" for "check condition(error)",  "08h" for busy.

When the target returns a "check condition" in response to a command, the initiator usually then issues a "request sense" command.

"check condition" occurs when a SCSI device needs to report an error.


Friday, January 6, 2017

How to Use Debugger

when developing code you frequently need to run debugger to debug code.  Here are some tips I found useful.

Thursday, January 5, 2017

SSD Block Device Performance Tuning (Linux)


When I'm developing a storage system using SSD as the media,  I encounter quite a few performance issues and here is my personal note.

Wednesday, January 4, 2017

Tcp Performance Tuning on 10g Ethernet


Network is a critical component in the end-to-end storage system performance tuning.

Saturday, December 31, 2016

Useful Makefile Tricks

An experienced c/c++ programmer should be able to write a concise and elegant makefile. Here are my personal study notes.