Bài giảng Kỹ thuật Máy tính - Chương 15: Hệ thống tập tin (đĩa cứng-hardisk) - Nguyễn Thanh Sơn

Bên trong đĩa cứng
 Các giải thuật định thời truy cập đĩa
 Định dạng, phân vùng, raw disk
 RAID (Redundant Arrays of Independent
(Inexpensive) Disks) 
pdf 39 trang xuanthi 30/12/2022 760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật Máy tính - Chương 15: Hệ thống tập tin (đĩa cứng-hardisk) - Nguyễn Thanh Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_ky_thuat_may_tinh_chuong_15_he_thong_tap_tin_dia_c.pdf

Nội dung text: Bài giảng Kỹ thuật Máy tính - Chương 15: Hệ thống tập tin (đĩa cứng-hardisk) - Nguyễn Thanh Sơn

  1. Đĩa cứng: Hệ thống tập tin  Bên trong đĩa cứng  Các giải thuật định thời truy cập đĩa  Định dạng, phân vùng, raw disk  RAID (Redundant Arrays of Independent (Inexpensive) Disks) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 2
  2. Bên trong đĩa cứng BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 4
  3. Các tham số của đĩa  Thời gian đọc/ghi dữ liệu trên đĩa bao gồm:  Seek time: thời gian di chuyển đầu đọc để định vị đúng track/cylinder, phụ thuộc tốc độ/cách di chuyển của đầu đọc  Rotational delay (latency): thời gian đầu đọc chờ đến đúng sector cần đọc, phụ thuộc tốc độ quay của đĩa  Transfer time: thời gian chuyển dữ liệu từ đĩa vào bộ nhớ hoặc ngược lại, phụ thuộc băng thông kênh truyền giữa đĩa và bộ nhớ  Disk I/O time = seek time + rotational delay + transfer time BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 6
  4. Định danh đĩa (Addressing)  OS sẽ quản lý  Loại giao tiếp (IDE/SCSI, etc), đĩa nào, số sector .  Làm sao xác định tiếp sectors, tracks, etc?  Loại đĩa cũ: xác định bởi cylinder/head/sector (CHS)  Loại đĩa mới: chỉ số“block” luận lý  LBA = logical block address  Chỉ số sector được sử dụng như thế nào?  Phần mềm quản lý hệ thống file sẽ chuyển đổi định danh block luận lý sang vật lý tương ứng trên đĩa  Thuật ngữ  Đối với người sử dụng đĩa: “khối” hay “Sector” là như nhau  Đối với người sử dụng hệ thống file: “khối” có dung lượng cố định, gồm 1 hay nhiều “sectors” BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 8
  5. Tăng hiệu suất truy cập đĩa Các giải pháp  Giảm kích thước đĩa  Tăng tốc độ quay của đĩa  Định thời các tác vụ truy xuất đĩa (disk scheduling) để hạn chế di chuyển đầu đọc  Bố trí ghi dữ liệu trên đĩa hợply  các dữ liệu có liên quan nằm trên các track gần nhau  interleaving  Bố trí các file thường sử dụng vào vị trí thích hợp  Chọn kích thước của logical block  Read ahead BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 10
  6. First Come First Served (FCFS) Hàng đợi: 98, 183, 37, 122, 14, 124, 65, 67 Đầu đọc đang ở cylinder số 53 14 37 53 65 67 98 122 124 183 199 Tổng số track/cylinder đã duyệt qua: 640 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 12
  7. SCAN (elevator algorithm) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 14
  8. C-LOOK BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 16
  9. Quản lý đĩa:Phân vùng (partitioning)  Phân vùng: chia đĩa thành nhiều vùng (partition), mỗi vùng gồm nhiều block liên tục.  Mỗi partition được xem như một “đĩa luận lý” riêng biệt.  Định dạng luận lý cho partition: tạo một hệ thống file (FAT, ext2, )  Lưu các cấu trúc dữ liệu khởi đầu của hệ thống file lên partition  Tạo cấu trúc dữ liệu quản lý không gian trống và không gian đã cấp phát (DOS: FAT, UNIX: BK inode table) TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 18
  10. Quản lý đĩa: Raw disk  Raw disk: partition không có hệ thống file  I/O lên raw disk được gọi là raw I/O  đọc hay ghi trực tiếp các block  không dùng các dịch vụ của file system như buffer cache, file locking, prefetching, cấp phát không gian trống, định danh file, và thư mục  Ví dụ  Một số hệ thống cơ sở dữ liệu chọn dùng raw disk BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 20
  11. Quản lý các khối bị lỗi  Tồn tại một số khối (sectors) bị lỗi:  Ngay sau khi xuất xưởng: tự sửa bằng cách thay thế với các sectors, tracks dự trữ.  Phát hiện sau một thời gian sử dụng trong hệ thống (OS):  Ví dụ:  Block 87 (logic block) không truy xuất được  Điều khiển đĩa phát hiện EEC không đúng, báo Os  Os ghi nhận để lần sau khi reboot thông báo điều khiển đĩa thay thế  Sau đó vị trí block 87 đã được cập nhật lại BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 22
  12. Phân mảnh dữ liệu (Data Striping)  Tuy gồm nhiều đĩa, nhưng cho người sử dụng cảm giác chỉ một đĩa, nhưng dung lượng lớn  Khi có yêu cầu truy xuất thì sẽ tiến hành thủ tục định danh các khối vật lý chứa trên đĩa  Cách phân bố lưu trữ trên các đĩa như thế nào thì sẽ xác định các đĩa liên quan đến yêu cầu truy xuất  Dữ liệu sẽ được phân mảnh đều trên các vùng lưu trữ, gọi là striping units (đơn vị phân mảnh)  Dung lượng mỗi đơn vị phân mảnh phụ thuộc vào mức RAID (RAID level)  Các đơn vị phân mảnh được lưu trữ phân tán trên các đĩa theo giải thuật xoay vòng KEY POINT – disks can be (Round Robin) read in parallel, increasing BK the transfer rate TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 24
  13. Phân mảnh bit – Bit Striping  Now here is the same file, and 4 disk RAID using bit striping, and again:  Purely for the sake of illustration, blocks are only one byte! Notional File – a series of bits, numbered so that we can distinguish them 1 2 3 4 5 6 7 8 9 10 11 12 13 12 15 16 17 18 19 20 21 22 23 24 Now distribute these bits across the 4 RAID disks using BIT striping: 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78 82 86 90 94 3 7 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 26
  14. Độ tin cậy  Thời gian làm việc trung bình (mean-time-to-failure = MTTF) của 1 đĩa cứng khoảng 50,000 giờ (~5.7 năm)  Hệ thống gồm nhiều đĩa: MTTF tăng, vì số đĩa nhiều hơn (1-p)n  Ngoài ra độ tin cậy cũng được cải thiện vì có lưu trữ thông tin dự trữ BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 28
  15. Phương thức Parity  Mỗi bit dữ liệu liên quan đến bit chẵn/lẻ chứa trên đĩa kiểm tra  Nếu tổng các bit 1 của dữ liệu là 0 (chẵn) thìbit chẵn/lẻ là 0  Nếu tổng các bit 1 của dữ liệu là 1 (lẻ) thìbit chẵn/lẻ sẽ là 1  Dữ liệu trên bất cứ đĩa nào bị lỗi đều có thể phục hồi từng bit một BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 30
  16. Parity Scheme and Reliability  In RAID systems the disk array is partitioned into reliability groups  A reliability group consists of a set of data disks and a set of check disks  The number of check disks depends on the reliability level that is selected  Given a RAID system with 100 disks and an additional 10 check disks the MTTF can be increased from 21 days to 250 years! BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 32
  17. RAID1: Mirrored Disk 0 Disk 1 Block 1 Block 1 Block 2 Block 2 Block 3 Block 3 Block 4 Block 4 Block 5 Block 5  For each disk in the system an identical copy is kept, hence the term mirroring  No data striping, but parallel reads of the duplicate disks can be made, otherwise read performance is similar to a single disk  Very reliable but the most expensive RAID level  Poor write performance as the duplicate disk has to be written to  These writes should not be performed simultaneously in case there is a global system failure  With 4 data disks, 8 disks are required BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 34
  18. RAID3: Bit-Interleaved Parity Disk 0 Disk 1 Disk 2 Parity disk Bit 1 Bit 2 Bit 3 P 1-32 Bit 33 Bit 34 Bit 35 P 33-64 Bit 65 Bit 66 Bit 67 P 65-96 Bit 97 Bit 98 Bit 99 P 97-128 Bit 129 Bit 130 Bit 131 P 129-160  Uses bit striping  Good read performance for large requests  Up to D times the speed of a single disk  Poor read performance for multiple small requests  Uses a single check disk with parity information  Disk controllers can easily determine which disk has failed, so the check disks are not required to perform this task  Writing requires a read-modify-write cycle BK  Read D blocks, modify in main memory, write D + C blocks TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 36
  19. RAID Level 5: Block-Interleaved Distributed Parity  Uses block striping  Good read performance for large requests  Up to D times the speed of a single disk  Good read performance for multiple small requests that can involve all disks in the scheme  Distributes parity information over all of the disks  Writing requires a read-modify-write cycle  But several write requests can be processed in parallel as the bottleneck of a single check disk has been removed  Best performance for small and large reads and large writes  With 4 disks of data, 5 disks are required with the parity information distributed across all disks BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính 38