GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
1
NHẬP MÔN HỆ ĐIỀU HÀNH
INTRODUCTION TO OPERATING
SYSTEMS
[214242]
DISK MANAGEMENT
Nguyễn Xuân Vinh
vn
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
2
Giới thiệu
•
Ngày nay thiết bị lưu trữ sử dụng nhiều loại ổ cứng với mục
đích khác nhau
– SSD
– HDD (3.5 inches, 2.5 inches)
•
5400 rpm
•
7200 rpm
3
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
GV: NGUYỄN XUÂN VINH
Giới thiệu
512G = 670 USD
1TB = 150 USD
4
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
GV: NGUYỄN XUÂN VINH
SSD
GV: NGUYỄN XUÂN VINH
Giới thiệu
•
•
•
5
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
•
1 sector = 512byte
1 block = 4K,8K,16K,32K = nhiều sector
1 track = 63 sector
15 tracks = 1 cylinder
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
6
Chuẩn giao tiếp
Các chuẩn giao tiếp của ổ đĩa cứng
Giao tiếp
(viết tắt)
SCSI
Tên tiếng Anh đầy đủ
Small Computer
System Interface
Tốc độ
truyền dữ liệu
Nhiều loại,
xem thêm
Ultra160 SCSI
160 MBps
Ultra320 SCSI
320 MBps
ATA
Advanced
Technology Attachment
Max = 133 MBps
SATA
Serial ATA 150
150 MBps
SATA II
Serial ATA 300
300 MBps
SATA 3
Serial ATA 600
600 MBps
SAS
Serial Attached SCSI
12 Gbps
GV: NGUYỄN XUÂN VINH
Quản lý đĩa
•
7
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
•
•
Tất cả các ổ đĩa đều là file trong thư mục /dev với ký hiệu
– hd*: đĩa IDE (VD: hda, hdb, hdc, …)
– sd*: đĩa SCSI (VD: sda, sdb, sdc, …)
Tối đa 8 ổ IDE và 16 ổ SCSI
Tối đa 16 partition cho ổ IDE và 15 partition cho ổ SCSI
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
8
Chia đĩa
fdisk /dev/sda: lệnh dùng để chia phân khu ổ đĩa
Option:
– m : menu
– n : tạo 1 phân khu đĩa mới
– p : hiện các phân khu đã chia
– w: lưu lại
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
Các mount point sẽ tự động mất khi khởi động lại máy
9
/XX
1/15/16
Format đĩa
mkfs –t ext4 /dev/sda1: Format partition sda1 với filesystem là ext4
mount /dev/sda1 /data: ánh xạ partition sda1 vào thư mục data
df –T: kiểm tra lại định dạng file system và các mount point
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
10
/etc/fstab
•
Chứa danh sách các mount point khi khởi động: hệ thống sẽ
thực thi file này để xem danh sách các moun point và mout tự
động
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
11
Mass Storage
•
•
•
Many systems today need to store many terabytes of data
Don’t want to use single, large disk
– too expensive
– failures could be catastrophic
Would prefer to use many smaller disks
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
12
RAID
•
•
•
q
Redundant Array of Inexpensive Disks
Basic idea is to connect multiple disks together to provide
– large storage capacity
– faster access to reading data
– redundant data
Many different levels of RAID systems
– differing levels of redundancy, error checking, capacity, and
cost
RAID implementations
– Hardwarebased RAID
– Softwarebased RAID
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
13
Hardware-based RAID
•
On a desktop system, a hardware RAID controller may be an
expansion card connected to a bus (e.g. PCI or PCIe), a
component integrated into the motherboard; there are controllers
for supporting most types of drive technology, such as IDE/ATA,
SATA, SCSI, SSA, Fibre Channel, and sometimes even a
combination. The controller and drives may be in a standalone
enclosure, rather than inside a computer, and the enclosure may be
directly attached to a computer, or connected via a SAN
Hot swap
GV: NGUYỄN XUÂN VINH
Software-based RAID
•
•
•
14
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
•
•
•
•
•
RAID 0: Blocklevel striping without parity or mirroring
RAID 1: Mirroring without parity or striping
RAID 2: Bitlevel striping with dedicated Hammingcode parity
RAID 3: Bytelevel striping with dedicated parity
RAID 4: Blocklevel striping with dedicated parity
RAID 5: Blocklevel striping with distributed parity
RAID 6: Blocklevel striping with double distributed parity
RAID 10: Mirroring without parity, and blocklevel striping
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
15
RAID levels comparision
Level
# Drive
Space
Efficiency
Fault
Tolerance
Read
Performa
nce
Write
Performa
nce
RAID 0
2
1
0 (none)
nX
nX
RAID 1
2
1/n
n-1
nX****
1X
RAID 2
3
1 – 1/n –
log2(n-1)
*
Variable
Variable
Figure
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
16
Striping
•
•
Take file data and map it to different disks
Allows for reading data in parallel
file data
block 0
Disk 0
block 1
Disk 1
block 2
Disk 2
block 3
Disk 3
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
17
Parity
•
•
Way to do error checking and correction
Add up all the bits that are 1
–
–
•
•
if even number, set parity bit to 0
if odd number, set parity bit to 1
To actually implement this, do an exclusive OR of all the
bits being considered
Consider the following 2 bytes
byte
parity
10110011
1
01101010
0
•
If a single bit is bad, it is possible to correct it
GV: NGUYỄN XUÂN VINH
Mirroring
•
•
18
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
•
•
•
Keep to copies of data on two separate disks
Gives good error recovery
– if some data is lost, get it from the other source
Expensive
– requires twice as many disks
Write performance can be slow
– have to write data to two different spots
Read performance is enhanced
– can read data from file in parallel
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
19
Parity
v
Là bit cho biết tổng số bit 1 là chẵn hay lẻ
v
Dùng để phát hiện lỗi khi truyền dữ liệu và
không thể sửa lỗi
7 bits of data
(count of 1 bits)
8 bits including parity
even
odd
0000000 (0)
00000000 (0)
10000000 (1)
1010001 (3)
11010001 (4)
01010001 (3)
1101001 (4)
01101001 (4)
11101001 (5)
1111111 (7)
11111111 (8)
01111111 (7)
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
20
EVEN PARITY BIT
A wants to transmit: 1001
A computes parity bit value: 1^0^0^1 = 0
A adds parity bit and sends: 10010
B receives: 10010
B computes parity: 1^0^0^1 = 0
B reports correct transmission after
observing expected even result.
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
21
EVEN PARITY BIT
A wants to transmit: 1001
A computes parity bit value: 1^0^0^1 = 0
A adds parity bit and sends: 10010 ***
TRANSMISSION ERROR ***
B receives: 11010
B computes overall parity: 1^1^0^1 = 1
B reports incorrect transmission after
observing unexpected odd result.
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
22
ODD PARITY BIT
A wants to transmit: 1001
A computes parity bit value: 1^0^0^1 = 1
A adds parity bit and sends: 10011
B receives: 10011
B computes overall parity: 1^0^0^1 = 1
B reports correct transmission after
observing expected odd result.
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
23
ODD PARITY BIT
A wants to transmit: 1001
A computes parity bit value: 1^0^0^1 = 1
A adds parity bit and sends: 10011
TRANSMISSION ERROR ***
B receives: 11011
B computes overall parity: 1^1^0^1 = 0
B reports correct transmission after
observing expected odd result.
GV: NGUYỄN XUÂN VINH
NHẬP MÔN HỆ ĐIỀU HÀNH
1/15/16
/XX
24
Cách lưu dữ liệu
Ổ đĩa 1
01101101
Ổ đĩa 1
01101101
XOR
Ổ đĩa 2
11010100
=
XOR
Ổ đĩa 3
10111001
=
Ổ đĩa 3
10111001
11010100
DỮ LIỆU BỊ MẤT
GV: NGUYỄN XUÂN VINH
RAID Level-0
•
•
•
25
/XX
1/15/16
NHẬP MÔN HỆ ĐIỀU HÀNH
•
•
Often called striping
Break a file into blocks of data
Stripe the blocks across disks in the system
Simple to implement
– disk = file block % number of disks
– sector = file block / number of disks
provides no redundancy or error detection
– important to consider because lots of disks means low Mean
Time To Failure (MTTF)