Storage Flashcards
Describe the relationship between platters, tracks, sectors and cylinders.
The platter is the flat, circular disk that data is stored on magnetically. A track is a circular subdivision of a platter. A sector is a section of a track. A cylinder is the set of tracks at one arm position.
Magnetic drives vs Solid State drives
Magnetic drives have a longer life span.
SSD have faster data transfer rates.
What is the transfer rate?
The rate at which data flows between the disk and the computer.
What does an I/O bus do?
An I/O bus is a set of wires that attaches a disk drive to a computer.
What are controllers and what do they do?
Controllers are special electronic processors that handle data transfer to on a bus.
Host controller vs Disk controller
Host controller is on the computer end of a bus.
Disk controller is built into the disk
Talk me through a disk I/O operation.
To perform a disk I/O operation, the computer places a command into the host controller, typically using memory-mapped I/O ports. The host controller then sends the command via messages to the disk controller, and the disk controller operates the disk-drive hardware to carry out the command. Disk controllers usually have a built-in cache. Data transfer at the disk drive happens between the cache and the disk surface, and data transfer to the host, at fast electronic speeds, occurs between the cache and the host controller.
What are IOPS and what are the performance categories associated with it?
IOPS = Input Output Operations Per Second
Performance Categories:
- Sequential
- Random
- Combination of both
What is the queue length and what is the recommended ratio of average queue length to PIOPS on an EBS volume
The queue length is the number of pending I/O requests queued on the system. The recommended ratio is 1 per minute for every 200 PIOPS.
How can the average queue length be checked by the customer?
There is a cloudwatch metric called “volumequeuelength”
How is latency determined?
Latency = service time + time spent in the EBS client queue.
What is the relationship between IOPS and block size?
Using IOPS and block size, one can determine the throughput.
Inversely proportional
throughput(bytes/sec) = IOPS * block size(bytes)
Changing the block size won’t matter b/c the IOPS will adjust accordingly. Therefore, the throughput will be the same as well.
EBS prewarm situations
Brand new volume - write to all blocks first to avoid first use penalty
Volume restored from a snapshot - read all blocks to avoid first-use penalty
How can one read all blocks on the device
$ sudo dd if=/dev/xvdf of=/dev/null
OR
$ sudo fio –filename=/dev/xvdf –rw=read –bs=128k –iodepth=32 –ioengine=libaio –direct=1 –name=volume-initialize