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