Các volume multipartition phức tạp hơn so với các volume simple, bởi vì nó được tạo ra từ các phân vùng không liên tiếp nhau hoặc trên các đĩa khác nhau. Trong windows 2000 có các loại volume multipartiton sau đây:
Spanned volume: Một spanned volume là một volume logic đơn bao gồm tối đa 32 partition tự do trên một hoặc nhiều đĩa. Windows 2000 cho phép kết hợp nhiều partittion thành một spanned volume, và nó được định dạng theo bất kỳ hệ thống file nào được windows 2000 hỗ trợ. Hình sau đây cho thấy một spanned volume 100Mb được định danh bởi kí tự ổ đĩa D, mà nó được tạo ra từ 1/3 dung lượng của đĩa thứ nhất và 1/3 dung lượng của đĩa thứa 2. Trong hệ điều hành windows NT 4 các spanned volume được gọi là “volume sets”.
Hình 4.18.a: Spanned volume
Nếu spanned volume được định dạng theo hệ thống file NTFS, nó có thể được mở rộng bằng cách các thêm vào vùng tự do hoặc các đĩa tự do mà không làm ảnh hưởng đến dữ liệu đang được lưu trữ trên volume. Khả năng mở rộng này là một lợi ích lớn nhất trong việc mô tả tất cả dữ liệu trên một volume NTFS như là một file. NTFS có thể tăng kích thước của một volume logic một cách động, bởi vì trạng thái cấp phát của volume được ghi lại trong một file khác, được gọi là file bitmap. File bitmap có thể được mở rộng để bao gồm bất kỳ một không gian đĩa nào được thêm vào volume.
Trình quản lý volume ẩn cấu hình vật lý của các đĩa từ các hệ thống file được cài đặt trên windows 2000. Ví dụ, NTFS xem volume D: trong hình trên như là một volume 100Mb thông thường. NTFS tra cứu bitmap của nó để xác định không gian
nào trong volume là còn trống để thực hiện việc cấp phát. Rồi nó sẽ gọi bộ phận quản lý volume để đợc hoặc ghi dữ liệu bắt đầu tại offset byte liên quan trên volume. Bộ phận quản lý volume xem các sector vật lý trong các spanned volume như là được đánh số thứ tự từ vùng trống đầu tiên trên đĩa đầu tiên đến vùng trống cuối cùng trên đĩa cuối cùng. Nó xác định sector vật lý nào trên đĩa nào tương ứng với byte offset được đưa ra.
Striped volume: Một striped volume là một dãy có thể lên đến 32 partition, một partition trên một đĩa, các partition không cần phải trải dài trên một đĩa mà chỉ cần nó có cùng kích thước với nhau. Striped volume cũng được hiểu như là các volume RAID cấp 0 (RAID-0). Hình sau đây cho thấy một striped volume bao gồm 3 partition, mỗi partition trên một đĩa.
Hình 4.18.b: Striped volume
Đối với hệ thống file thì striped volume chỉ là một volume đơn 450Mb thông thường, nhưng đới với bộ phận quản lý volume thì striped volume sẽ giúp tối ưu được thời gian lưu trữ và đọc lại dữ liệu trên nó, bằng cách phân tán dữ liệu của volume trên các đĩa vật lý khác nhau của cùng volume. Bộ phận quản lý volume truy cập sector vật lý trên các đĩa như là nó được đánh số thứ tự trong các stripe xuyên qua các đĩa, như được đưa ra ở hình dưới đây:
Hình 4.18.c: Đánh số logic các sector vật lý trong một striped volume
Trong hệ thống striped volume, tất cả dữ liệu trên các đĩa của nó có thể được truy xuất đồng thời, do đó thời gian cho các thao tác vào/ra đĩa có thể được giảm xuống. Điều này đặc biệt có lợi trên các hệ thống cần nhiều thao tác nạp dữ liệu từ
đĩa.
Mirrored volume: Trong một mirrored volume nội dung của một partition trên một đĩa được nhân đôi (duplicate) trên một partition có kích thước bằng nhau trên một đĩa khác. Mirrored volume đôi khi được tham chiếu như là các volume RAID- 1. Hình sau đây cho thấy một mirrored volume.
Hình 4.18.d: Mirrored volume
Khi một chương trình ghi đến đĩa C:, bộ phận quản lý volume sẽ ghi cùng dữ liệu đó đến cùng vị trí trên partition mirror. Nếu dữ liệu trên bất kỳ một partition C: nào đó trở thành không thể đọc được vì lý do phần cứng hay phần mềm, thì bộ phận quản lý volume sẽ tự động truy cập đến dữ liệu từ partition mirror.
Một mirrored volume có thể được định dạng bởi bất kỳ hệ thống file nào được hỗ trợ bởi windows 2000.
Mirrored volume có thể giúp cải thiện thông lượng nạp dữ liệu trong các hệ thống yêu cầu nhiều thời gian cho việc nạp dữ liệu, các hệ thông này thường được gọi là các hệ thống tải nặng (heavily load). Khi hoạt động vào/ra tăng cao, bộ phận quản lý volume sẽ cân bằng tải bằng cách cho thực hiện thao tác đọc trên cả partition chính và partition mirror, nhờ vậy mà thời gian đọc có thể giảm được một nữa. Khi một file bị thay đổi thì sự thay đổi này sẽ được cập nhật trên cả partition chính và partition mirror. Mirrored volume là loại multipartition volume chỉ được hỗ trợ cho các các volume boot và system.
RAID-5 volume: RAID-5 volume là một trường hợp chịu lỗi của striped volume. RAID-5 volume cài đặt RAID cấp 5. Nó cũng được hiểu như là striped volume với parity (kiểm tra lỗi chẵn lẻ), bởi vì nó dựa trên cách tiếp cận stripe được tạo nên bởi striped volume. Khả năng chịu lỗi trong trường hợp này có được bằng cách dự trữ một phần tương đương trên đĩa để lưu trữ parity cho mỗi stripe. Hình sau đây trình một cách nhìn trực quan về RAID-5 volume.
Hình 4.19.e: RAID-5 volume
Trong hình trên, parity cho stripe 1 được lưu trữ trên đĩa 1. Nó chứa tổng của phép logic XOR của các byte của stripe đầu tiên trên đĩa 2 và 3. Parity cho stripe 2 được lưu trữ trên đĩa 2, và parity cho stripe 3 được lưu trữ trên đĩa 3. Sự xoay vòng parity xuyên qua các đĩa theo cách này là một kỹ thuật tối ưu vào ra. Mỗi khi dữ liệu được ghi đến một đĩa, các byte parity tương ứng với các byte bị thay đổi phải được tính toán lại và ghi vào lại. Nếu parity luôn ghi đến cùng một đĩa. Đĩa đó trở thành bận liên tục và có thể trở thành một hiện tượng thắt cổ chai trong I/O.
Khôi phục một lỗi đĩa trong RAID-5 volume dựa vào một nguyên lý cơ bản như sau: trong một biểu thức có n biến, nếu ta biết được giá trị của n-1 biến, ta có thể xác định giá trị của biến còn lại bằng phép trừ. Ví dụ, trong biểu thức x + y = z, ở đây là parity stripe, bộ phận quản lý volume tính z – y để xác định nội dung của x, và tính z – x để xác định nội dung của y. Bộ phận quản lý volume sử dụng sự logic tương tự ở trên để khôi phục dữ liệu bị mất. Nếu một đĩa trong RAID-5 volume lỗi hoặc dữ liệu trên một đĩa trở thành không thể đọc được, thì bộ phận quản lý volume sẽ tìm lại dữ liệu mất bằng cách sử dụng thao tác XOR.
Nếu đĩa 1 trong hình trên lỗi thì nội dung stripe 2 và 5 của nó được tính toán lại bằng cách XOR các stripe tương ứng của đĩa 3 với các stripe parity trên đĩa 2. Nội dung của các stripe 3 và 6 trên đĩa 1 được xác định tương tự bằng cách XOR các stripe tương ứng của đĩa 2 với các stripe parity trên đĩa 3.