1. Trang chủ >
  2. Luận Văn - Báo Cáo >
  3. Công nghệ thông tin >

CHƯƠNG 3: HIỆU SUẤT LƢU TRỮ SAN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.92 MB, 94 trang )


56



-



3 CHƢƠNG 3: HIỆU SUẤT LƢU TRỮ SAN

3.1 Các nhân tố hiệu năng:

Trong việc giám sát, đo lường, kiểm định hiệu năng thì bước thu thập và phân tích

dữ liệu là phức tạp nhất. Với SAN do có nhiều nhân tố, đối tượng ảnh hưởng đến hiệu

năng nên công việc này lại càng phức tạp hơn nhiều lần.

3.1.1 Tốc độ dữ liệu:

Hầu hết các ứng dụng (90%) sử dụng IO block có kích thước từ 2KB đến 8KB và

yêu cầu một lượng lớn số IO trong một giây (I/Os). Phần còn lại khoảng 10% ứng

dụng yêu cầu số lượng nhỏ IO trong một giây nhưng kích thước của mỗi IO block lại

rất lớn.

SAN và các thành phần của nó như đĩa cứng, thiết bị điều khiển, mức RAID có thể

được thiết kế để tăng tối đa số IO trong một giây hoặc tăng kích thước của từng block

trên giây (MB/s) nhằm tối ưu hóa cho từng ứng dụng.

Ví dụ: Một ứng dụng có yêu cầu 2000 I/O trên một giây, kích thước mỗi I/O là

8KB. Hình vẽ từ kết quả thống kê (hình 3.1) cho thấy để đáp ứng được yêu cầu của

ứng dụng này cần có một kênh truyền có tốc độ dữ liệu khoảng 16MB/s. Với những

ứng dụng sử dụng kích thước I/O nhỏ hơn sẽ yêu cầu tốc độ thấp hơn.



Hình 3.1 Kết quả thống kê giữa kích thƣớc I/O và tốc độ dữ liệu



57



3.1.2 Thời gian đáp ứng (Response Time):

Thời gian đáp ứng phản ánh hiệu năng của hệ thống lưu trữ. Thời gian đáp ứng của

một hệ thống là tổng thời gian làm việc của các khối đơn lẻ trong hệ thống đó.

Ví dụ: Có một hệ thống như hình 3.2. Máy chủ có tốc độ xử lý là 500MB/s, được

cắm một card HBA có tốc độ xử lý 80MB/s. HBA được nối đến mạng FC_AL trên

bus có tốc độ 90MB/s. Controller của tủ lưu trữ có tốc độ xử lý dữ liệu là 55MB/s.

Nếu máy chủ có yêu cầu trao đổi dữ liệu nhiều và trong khoảng thời gian ngắn với

tốc độ lớn hơn 80MB/s thì hiện tượng thắt cổ chai sẽ xảy ra.



Hình 3.2 Minh họa hiện tƣợng nghẽn cổ chai



Hiện tượng thắt cổ chai xảy ra khi có dữ liệu chuyển từ thiết bị có tốc độ cao tới

thiết bị có tốc độ thấp. Việc chia tải không cân bằng cho các đĩa trên thiết bị lưu trữ

cũng gây ảnh hưởng đến thời gian đáp ứng của toàn hệ thống (lỗi này có thể khắc

phục được bằng việc triển khai RAID trên tủ lưu trữ). Vì vậy thời gian đáp ứng của hệ

thống là tổng thời gian làm việc (service time) của các khối thành phần của thiết bị đó.

3.1.3 Hiệu năng của đĩa cứng:

Các yếu tố sau đây có ảnh hưởng đến hiệu năng truy suất của đĩa cứng:

-



Kiểu bus



-



Thời gian tìm kiếm



-



Tốc độ quay của đĩa



-



Kiểu dữ liệu cần đọc: là ngẫu nhiên (yêu cầu số lần truy cập I/O cao) hay tuần

tự (yêu cầu MB/s cho một lần cao).



-



Cấu hình RAID hiện tại của tủ đĩa và số lượng đĩa.



58



Thời gian trễ lớn nhất với tủ đĩa là thời gian cho cơ cấu vật lý làm việc. Mặc dù

lượng dữ liệu lưu trữ lên một đĩa ngày càng tăng lên, kích thước của đĩa ngày càng

giảm xuống nhưng thời gian tìm kiếm và thời gian quay của đĩa vẫn giới hạn hiệu

năng của đĩa.



Hình 3.3 Các yếu tố ảnh hƣởng đến hiệu năng của đĩa cứng



Mức RAID, số lượng đĩa của tủ đĩa cũng phản ánh hiệu năng của tủ. Hình 3.4 mô

tả điều này:



Hình 3.4 Mô tả hiệu năng của tủ với mức RAID và số lƣợng đĩa trên tủ



Trên hình vẽ có 04 tủ với cấu hình khác nhau:

-



Tủ JBOD (just bunk of disk): là tập hợp nhiều đĩa đấu nối lại với nhau thành

một đĩa lớn hơn.



-



Tủ 6RO: Tủ có 06 đĩa cấu hình RAID0



59



-



Tủ 12RO: Tủ có 12 đĩa cấu hình RAID0



-



Tủ 24RO: Tủ có 24 đĩa cấu hình RAID0

Hình 4.5 cho thấy rằng càng có nhiều đĩa cấu hình RAID0 ( phân dữ liệu đều ra



các đĩa) thì tủ có khả năng đáp ứng yêu cầu IO càng lớn. Điều này cũng có nghĩa là

cùng với sự phát triển của cơ sở dữ liệu, để hiệu năng đảm bảo thì phải sử dụng

nhiều đĩa có dung lượng phù hợp thay vì dùng ít đĩa có dung lượng lớn.



3.2 Nhiễu, suy giảm tín hiệu trên kênh quang

3.2.1 Suy hao (Attenuation):

Với đa số các cáp quang có trên thị trường hiện nay, cáp đơn mode có độ suy hao

sấp sỉ khoảng 0.5 dB/km và 1.000dB/km với cáp đa mode. Các nguyên nhân chính

gây ra suy hao năng lượng là:

-



Do cáp bị gập, uốn cong.



-



Do tán sắc tạo nên bởi vật liệu không trong suốt, hoặc lỗi chế tạo trong mức lõi.



-



Tán sắc và phản xạ tại điểm nối.

Với mỗi bước sóng khác nhau thì độ suy hao cũng khác nhau.



3.2.2 Tán sắc (Dispersion):

Là hiện tượng tán sắc ánh sáng khi tia sáng truyền dọc sợi cáp quang. Sự tán sắc

được tạo bởi việc chồng lấp ánh sáng có bước sóng khác nhau và hệ số khúc xạ của

vật liệu làm lõi cáp.

3.2.3 Trễ (Latencies):

Mỗi frame có kích thước phần dữ liệu là 2048 bytes. Với tốc độ kênh quang thì

mỗi byte dữ liệu được truyền đi (dang nối tiếp) sử dụng tối thiểu 02 mét cáp (với

sóng ngắn). Như vậy một khung dữ liệu nếu truyền một lần với thiết bị không có bộ

đệm là 2m/byte x 2,048bytes/frame = 4.1km/frame. Điều này có nghĩa là phải sử

dụng một sợi cáp 10Km cho 2.4 frame, chính vì lý do này nên các thiết bị chuyển

mạch đều phải có bộ đệm cho từng cổng để đệm dữ liệu trước khi gửi đi.

Khi thiết kế SAN cần cân nhắc một số điểm sau:

-



Độ trễ sẽ tăng lên khi khoảng cách điểm nhận và điểm truyền lớn lên



60



-



Độ trễ tăng lên cùng với kích thước dữ liệu.



-



Đỗ trễ tăng lên khi buffer không có đủ chỗ chứa.



3.3 Đặc thù môi trƣờng:

3.3.1 Các mức RAID và chọn lựa:

Hệ thống RAID là một tập hợp của nhiều đĩa đơn lẻ được quản lý bởi một khối

điều khiển hoặc phần mềm. RAID có thể triển khai ở cả mức vật lý lẫn phần mềm.

RAID giúp hệ thống vượt qua được giới hạn thông thường của đĩa cứng đơn lẻ.

RAID có nhiều mức khác nhau, mỗi mức sẽ đáp ứng được một trong các tiêu chí:

-



Hiệu năng



-



Chi phí



-



Mức khả dụng (availability)

Khi thiết kế SAN, người thiết kế phải nắm bắt được yêu cầu của người dùng để



chọn mức RAID phù hợp, mỗi mức RAID khác nhau sẽ có ảnh hưởng khác nhau về

kiểu đọc và ghi dữ liệu. Ví dụ mức RAID5 sẽ cải thiện đáng kể tốc độ đọc dữ liệu

nhưng lại giảm hiệu năng với thao tác ghi dữ liệu [1].

3.3.2 Các mức RAID :

RAID 0 tripping: cung cấp khả năng phân bố lượng IO trải đều trên các đĩa,

nhưng không có khả năng bảo vệ dữ liệu (protection) khi có sự cố. RAID 0 thích

hợp cho các ứng dụng chạy thử nghiệm, ứng dụng có tính đơn giản trong việc khôi

phục dữ liệu. RAID 0 là mức RAID có tốc độ đọc/ghi nhanh nhất.

RAID 1 Mirroring: Dữ liệu được lưu thành 02 bản, có thể phục hồi dữ liệu khi

một bản có sự cố. RAID 1 cải thiện được hiệu năng với các thao tác đọc dữ liệu

nhưng không cải thiện được tốc độ ghi dữ liệu.

RAID 1+0 Striped mirror: là mức RAID cung cấp cả tính năng bảo vệ dữ liệu

vì có mirror và cải thiện hiệu năng với thao tác viết vì dữ liệu được ghi trên nhiều

đĩa. Mức RAID này là tổng hợp các ưu điểm của RAID 1 Mirroring và RAID 0

Stripping.

RAID3 Parallel Access: Sử dụng cho các ứng dụng yêu cầu băng thông cao.



61



RAID 4 Independent access, dedicated parity driver: cung cấp tốc độ đọc

nhanh, tuy nhiên tốc độ viết lại khá chậm.

RAID 5 Independent access, parity striped over all the drives: có khả năng

đọc song song với nhiều đĩa trong cụm. có tính năng đảm bảo dữ liệu hơn các kiểu

RAID trước đây vì phần bít chẵn lẻ được lưu trên rải rác trên các đĩa.

Adaptive RAID 3/5: Raid 3 và raid 5 lưu trữ dữ liệu và thông tin chẵn lẽ giống

nhau về cách thức và vị trí. Điểm khác biệt giữa hai mức raid này là cách đọc và viết

dữ liệu: raid 3 cho phép đọc/ghi song song, raid 5 lại đọc/ghi riêng rẽ.

Truy cập song song (parallel access) được sử dụng cho ứng dụng yêu cầu băng

thông cao (high bandwitdth), Truy cập riêng rẽ (independent) được sử dụng cho các

ứng dụng yêu cầu lưu lượng cao (high I/O). ứng dụng có yêu cầu lưu lượng cao sẽ

sử dụng mức raid 5. dữ liệu thường backup và restore (khối lượng lớn) nên sử dụng

mức raid 3.

3.3.3 So sánh giữa các mức RAID

Raid 0

Hiệu năng

đọc

Hiệu năng

ghi

Tải phải

chịu trên

một I/0



Raid 1+0



Raid 4



Raid 5



Raid 3/5



Cao nhất



Cao



Cao



Cao



Cao



Cao



Cao



Thấp



Thấp



Thấp



Đọc



Đọc



Đọc



Đọc



Đọc



Ghi



2x ghi



4x ghi



4x ghi



4x ghi



1 đĩa



1 đĩa



1 đĩa



Thấp



Thấp



Thấp



Dung

lượng mất



0%



đi do raid



50%



dung lượng

Thấp



Rủi ro mất

dữ liệu



Cao



tổng



(raid



0+10

Thấp



nhất



(raid 1)

Ứng dụng

Ứng dụng



thường, dữ

liệu chỉ đọc



Ứng



dụng



quan



trọng,



ứng

quang



dụng

trọng,



ứng

quang



dụng

trọng,



ứng

quang



dụng

trọng,



tần suất viết



tần suất ghi



tần suất ghi



tần suất đọc



cao



thấp



thấp



ghi cao



62



3.3.4 Tương quang hiệu năng của RAID với thao tác đọc ghi

Mới mỗi mức raid khác nhau, hiệu năng của các thao tác đọc/ghi cũng khác nhau.

Hình 3.5 sau mô tả một ví dụ điển hình:



Hình 3.5 tƣơng quan hiệu năng với thao tác đọc ghi



Hình 3.5 so sánh các mức raid 0, raid 0+1, raid 5 với các thao tác khác nhau. Với

Logfile (thao tác ghi 100%, thao tác đọc là 0%), raid 0 có hiệu suất ghi là 100 thì

raid 0+1 chỉ có được khoảng gần 50% hiệu năng và raid 5 chỉ còn có khoảng 21%.

Với thao tác đọc. khi đến 100% thao tác của ứng dụng với tủ đĩa là đọc thì mức

hiệu năng của 03 loại RAID lại bằng nhau. Tùy theo điều kiện của ứng dụng mà tỷ

lệ đọc/ghi sẽ thay đổi khi đó hiệu năng tương quan giữa tỷ lệ đọc/ghi và hiệu năng

làm việc của tủ đĩa (service time) cũng thay đổi [1].

3.3.5 Một số môi trường ứng dụng tiêu biểu:

Một số môi trường ứng dụng tiêu biểu sau đây được thu thập từ kết quả đo lường.

và được các hãng lớn như IBM, HP sử dụng để đề xuất trong việc tối ưu hóa cấu

hình tủ đĩa.

3.3.5.1 SQL Server 2000:

Cơ sở dữ liệu SQL 2000 có một số đặc tính:

-



Truy cập nhẫu nhiên



-



Kích thước IO là 64KB cho các bảng (table) và index



-



Ghi không đồng bộ: có tần suất đẩy dữ liệu và thời gian đáp ứng không quan

trọng.



-



Hỗ trợ truy xuất đa luồng (multi thread),



SQL log file: kích thước IO là 8 đến 60 KB, dữ liệu ghi đồng bộ 100%, đơn luồng

dữ liệu.



63



3.3.5.2 Oracle 8 :

Cơ sở dữ liệu của Oracle 8 có các đặc tính:

-



Kích thước IO là 8KB ( là 32K cho các ứng dụng Datawarehouse)



-



30 đến 60 % là thao tác viết.



-



Hỗ trợ truy xuất đa luồng



-



Ghi không đồng bộ.



Oracle log file có đặc tính: kích thước IO là 8KB, ghi đồng bộ, truy suất đơn luồng.

3.3.5.3 Exchange server:

Cơ sở dữ liệu của hệ thống exchange có đặc tính:

-



Kích thước IO là 4KB



-



30 đến 50 % là thao tác đọc



-



Ghi không đồng bộ



-



Truy suất đọc/ghi đa luồng.



File log của Exchange có kích thước IO là 4KB. Ghi đồng bộ, truy suất đơn luồng.



3.4 Lên kế hoạch cho thiết bị lƣu trữ

Việc am hiểu đặc tính của từng môi trường, ưu điểm của các thiết bị sẽ giúp

người thiết kế xác định được chính xác hệ thống cần có cho doanh nghiệp của mình.

Dưới đây là một số luật khi lên kế hoạch cho vùng lưu trữ

3.4.1 Luật 1: Sử dụng tổ hợp đĩa (disk array):

Tổ hợp đĩa có một số ưu điểm:

-



Quản lý đơn giản, hỗ trợ nhiều mức raid khác nhau trên cùng một tổ hợp đĩa



-



Linh hoạt ví dụ có thể phân tách IO lên một nhóm đĩa.



-



RAID phần cứng, tự động khôi phục, thay thế trực tiếp khi hệ thống đang hoạt

động



-



Tự động phân dữ liệu đọc/ghi ra nhiều đĩa.



-



Cache được dữ liệu giúp tốc độ đọc ghi nhanh hơn.



3.4.2 Luật 2: phân tách vật lý dữ liệu tuần tự với dữ liệu ngẫu nhiên.

Thông thường các ứng thao tác truy xuất tuần tự với redo log file và truy xuất

ngẫu nhiên với data file. Để tránh đầu đọc phải di chuyển liên tục trên bề mặt đĩa

phải phân tách 2 loại file này lên 02 vùng khác nhau. Mặt khác cũng không nên để



64



02 redo log file khác nhau lên cùng một vùng vì có thể biến việc truy suất từ tuần

tự với từng file chuyển thành ngẫu nhiên với cả vùng.

3.4.3 Luật 3: chia datafile lên càng nhiều đĩa càng tốt.

Hiệu năng truy suất sẽ giảm xuống khi không có đủ số đĩa trong cụm. nhiều

khách hàng đã mua ít đĩa dung lượng cao có hiệu năng thấp hơn những người mua

nhiều đĩa có dung lượng thấp. Khi có nhiều đĩa hơn việc truy suất dữ liệu sẽ được

phần chia ra nhiều đĩa và vì đó tốc độ truy suất sẽ nhanh hơn rất nhiều.

3.4.4 Luật 4: không dùng RAID 5 cho các ứng dụng có tỷ lệ thao tác ghi cao

RAID 5 có tốc độ viết chậm hơn tất cả các mức raid khác. Sử dụng raid 5 cho

các ứng dụng có nhiều thao tác ghi sẽ làm giảm hiệu quả của toàn hệ thống. Mỗi

yêu cầu viết của hệ thống raid 5 controller sẽ đưa ra thành 04 yêu cầu với thiết bị

lưu trữ:

-



Yêu cầu đọc block dữ liệu cũ



-



Yêu cầu đọc block chẵn lẻ (parity) cũ



-



Yêu cầu viết block dữ liệu mới



-



Yêu cầu viết block chẵn lẻ mới



Nêu sử dụng raid 0+1 cho các ứng dụng yêu cầu hiệu năng ít thay đổi.

3.4.5 Luật 5: sử dụng raid 1 vật lý cho các redo log file, và raid 5 cho data file.

Vì hiệu năng, khả năng khôi phục từ sự cố hãy sử dụng raid bằng thiết bị phần

cứng bất cứ khi nào có thể.

-



Sử dụng raid 1 vật lý cho các file redo log của ứng dụng ( là file có kiểu truy

cập ngẫu nhiên và IO block nhỏ



-



Cấu hình raid 5 mức vật lý cho data file (ứng dụng có truy cập tuần tự, IO

block lớn).



3.4.6 Luật 6 cân bằng lượng IO cho cả tổ hợp đĩa

Phân bố dữ liệu trên tất cả các đĩa có trên tổ hợp đĩa sẽ làm hiệu năng truy suất

của tủ lưu trữ tăng lên. Việc phân bố này được thực hiện bởi khối điều khiển tủ đĩa.

Một số ứng dụng cho phép data file có thể phân bố trên nhiều vùng khác nhau

để cân bằng lượng IO trên các vùng.



65



3.4.7 Công nghệ Disk caching

Công nghệ Caching thường sử dụng các bộ nhớ có tốc độ cao để lưu trữ dữ liệu

làm giảm hàng đợi cho hệ thống. Trong hệ thống có nhiều vi xử lý caching được

sử dụng làm vùng nhớ giữa các vi xử lý, vùng nhớ này làm giảm yêu cầu của vi xử

lý truy nhập xuống bộ nhớ chính.

Ứng dụng và hệ điều hành thực hiện caching dữ liệu và lưu trữ thông tin này

trên bộ nhớ chính. Dữ liệu ban đầu được đọc từ đĩa cứng sau đó được lưu vào bộ

nhớ chính và dữ liệu này sẽ được sử dụng lại cho lần sau nếu ứng dụng có yêu cầu.

Ở mức khối điều khiển (controller) và đĩa cũng có một mức cache khác được

sử dụng để tăng tốc độ truy cập dữ liệu từ máy chủ đến thiết bị lưu trữ. Nếu ban

đầu ứng dụng yêu cầu dữ liệu, Controller sẽ lấy dữ liệu từ đĩa nhiều hơn yêu cầu

của ứng dụng và lưu lại trong cache của mình, với những ứng dụng có kiểu đăng

nhập tuần tự thì với lần yêu cầu kế tiếp controller chỉ cần lấy dữ liệu từ cache ra

mà không cần đọc từ đĩa.

Disk caching có một số ưu điểm:

-



Giảm số lần truy cập đĩa cứng



-



Giảm khả năng nghẽn kênh truyền khi RAID quá tải



3.4.7.1 Read- ahead Caching:

Read caching có 02 loại:

-



Read –ahead buffer: Kiểu buffer này rất tốt cho các ứng dụng có truy suất liên

tục. Khi khối điều khiển nhận biết được đây là yêu cầu truy suất liên tục nó đọc

cả thông tin yêu cầu và thông tin kế tiếp, lưu thông tin kế tiếp vào cache để trả

lời cho ứng dụng vào lần yêu cầu tiếp theo.



-



Bộ nhớ lưu các thông tin sử dụng lại được: Controller thống kê dữ liệu thường

hay sử dụng vào lưu trữ thông tin này trong bộ nhớ.

Read ahead caching rất tốt cho các ứng dụng có yêu cầu băng thông lớn như:



data mart, data warehouses, backup data. Nó cải thiện đáng kê hiệu năng cho các

thao tác truy suất tuần tự (Hình 3.6)

Ứng dụng thường duy trì cache cho chính mình bằng các chiếm một vài vùng

nhớ trên bộ nhớ chính. Khi sử dụng Read ahead caching thì tính năng cache của

ứng dụng phải giảm xuống tối thiếu có thể để tránh xung đột cache giữa thiết bị

lưu trữ và ứng dụng.



66



Hình 3.6 So sánh hiệu năng của hệ thống thƣờng với hệ thống sử dụng read ehead

caching



3.4.7.2 Write – back Caching:

Write – back caching là tính năng cho phép ngay sau khi ứng dụng đưa một

yêu cầu viết dữ liệu đến khối điều khiển (controller) sẽ nhận được luôn xác nhận

thông báo viết hoàn tất. Thực chất khối điều khiển caching lại dữ liệu này và thực

hiện thao tác viết sau.



Hình 3.7 Write – back caching



Write – back caching hữu ích cho các ứng dụng có tần suất IO lớn như hệ

thống OLTP ( OnLine Transaction Protocol). Tuy nhiên Write – back caching

không tốt cho các ứng dụng như backup, data warehouse. Vì lượng dữ liệu vào ra

cho ứng dụng kiểu này rất lớn ( high bandwidth) làm cho khối điều khiển thường

xuyên phải đẩy dữ liệu vào đĩa làm chậm hoặc tạm dừng các yêu cầu viết tiếp theo.

Kích thước của cache cũng góp phần quan trọng: nếu ứng dụng sử dụng hết

cache nhưng tần suất đẩy dữ liệu vào đĩa thấp, thời gian đáp ứng của controller với



Xem Thêm
Tải bản đầy đủ (.pdf) (94 trang)

×