Window Storage Space Direct trên VMWare.

Discussion in 'Windows servers' started by vohongnhuy, May 13, 2019.

  1. vohongnhuy

    vohongnhuy New Member

    Joined:
    Mar 11, 2019
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    Location:
    HCM
    Hướng dẫn triển khai thử nghiệm Storage Space Direct trên VMWare.


    1. Đặt vấn đề
    Một hệ thống Window Server không các hệ thống lưu trữ (Storage) độc lập như SAN hay NAS, nhưng cần các yêu cầu về tính sẵn sàng cao, tính mở rộng, cũng như khả năng phục hồi dữ liệu sau sự cố (Highly Available – Scalable – Disaster Recovery). Làm thế nào để đảm bảo các tính năng đó?


    2. Giải pháp
    Việc kết hợp sử dụng Window Failover Clustering và Storage Space Direct, cho phép chúng ta sử dụng các local disk của từng server, tập hợp chúng lại thành một Storage độc lập (như SAN), giúp tăng tính sẵn sàng, tính mở rộng, cũng như khả năng phục hồi dữ liệu sau sự cố. Bên cạnh đó, việc sử dụng Software-Defined Storage mạng lại nhiều lợi ích trong quản lý các hệ thống lưu trữ và tiết kiệm chi phí đầu tư hơn.


    Mô hình sử dụng Window Failover Clustering có SAN

    s2d(1)


    Mô hình sử dụng Window Failover Clustering và Storage Space Direct tập hợp các local disk trên các node (không có SAN).

    s2d(2)

    3. Storage Space Direct
    Tham khảo tài liệu: https://docs.microsoft.com/en-us/wi...storage-spaces/storage-spaces-direct-overview


    Storage Space Direct là một tính năng nâng cấp từ tính năng Storage Space ở Windows server 2012 R2, cung cấp khả năng Highly Available – Scalable Storage bằng việc sử dụng các Local Disk trên Server. Điều này giúp việc triển khai và vận hành Storage của Windows ở mức khái niệm Software-Defined Storage hiệu quả và tiết kiệm chi phí đầu tư hơn, đồng thời Storage Space Direct cho phép sử dụng nhiều loại thiết bị lưu trữ hơn như SATA SSD và NVMe disk ở hạ tầng Storage.


    Storage Spaces Direct đã xóa bỏ đi yêu cầu hạ tầng Storage phải là Shared Storage và network thông qua SAS fabric như Storage Spaces. SMB3 và SMB Direct (RDMA) với ưu thế tốc độ cao sẽ là giải pháp thay thế vì chi phí triển khai cũng như mức độ low-latency CPU ảnh hưởng đến Storage rất thấp, khi đó việc mở rộng và tăng I/O Performance chỉ đơn giản là thêm Node vào cluster Storage Windows.


    3.1. Mô hình triển khai

    Storage Space Direct được thiết kế cho hai mô hình triển khai riêng biệt:


    Coverged: Mô hình Converged phân tách tầng ảo hóa và storage ra riêng biệt, các node Hyper-V sẽ kết nối đến Storage thông qua Scale-out File Server (SoFS). Điều này cho phép mở rộng compute/workload độc lập với storage cluster, rất cần thiết cho môi trường triển khai lớn như Hyper-V IaaS dành cho các nhà cung cấp dịch vụ, các doanh nghiệp lớn. Tuy nhiên, với mô hình này sẽ đội thêm chi phí đầu tư hạ tầng.

    s2d(3)


    Hyper-converged: Mô hình này cho phép chạy trực tiếp VM Hyper-V hoặc SQL Server trên storage cluster, lưu trữ file trên local volumes. Điều này giúp loại bỏ việc phải cấu hình quyền truy cập và phân quyền, giúp giảm chi phí đâu tư. Mô hình này thích hợp cho các doanh nghiệp vừa và nhỏ, remote office/branch office.

    s2d(4)


    3.2. Cache trong Storage Space Direct
    • Các drives trong Storage Space Direct chia làm 2 loại: Cache drives và capacity drives

    • Cache drives là SSD hoặc NVMe (cache không được là HDD), sẽ lưu trữ tạm thời các dữ liệu được truy xuất gần đây, vì tốc độ truy xuất của các drive này cao, điều này giúp tăng performance cho hệ thống Storage.

    • Capacity drives là nơi lưu trữ tất cả dữ liệu, bao gồm cả dữ liệu trên cache.

    3.3. Cơ chế bảo vệ dữ liệu
    Dữ liệu trên các drive được lưu trữ theo các thuật toán sau

    • Mirroring

      • Two-way mirror
    s2d(5)

    • Three-way mirror
    s2d(6)

    • Parity

      • Single parity tương tự công nghệ RAID 5

      • Dual parity tương tự công nghệ RAID 6
    3.4. Một số yêu cầu khi triển khai Storage Space Direct:
    • Window server 2016 or 2019 Datacenter

    • Min: 2 servers, max: 16 servers

    • Drive: cache drives min is 2 drives (SSD or NVMe), capacity drives min is 4 drives (HDD, SSD, NVMe)
    s2d(7)

    Storage Space Direct có thể được triển khai trên cả nền tảng vật lý và ảo hoá, với các máy chủ vật lý hoặc máy ảo chạy Window Server.

    4. Lab Storage Space Direct trên VMWare vSphere
    4.1. Trường hợp giả định:
    Một doanh nghiệp có hệ thống máy chủ xây dựng trên môi trường VMWare vSphere và không có hệ thống lưu trữ độc lập như SAN hay NAS.


    4.2. Mục tiêu:
    • Thử nghiệm tính năng của Storage Space Direct (S2D).

    • Kết hợp các local disk tạo thành một Storage bằng Window Failover Clustering và S2D

    • Từ Storage do S2D tạo ra, xây dựng một File Server với tính sẵn sàng cao cũng như đảm bảo dữ liệu được an toàn khi có sự cố.

    4.3. Mô hình triển khai Hyper-converged
    s2d(8)

    Bài Lab thực hiện nhóm 6 disk trên 2 node trong một cluster thành một Storage dùng làm File Server.


    4.4. Chuẩn bị:
    • 2 máy ảo Window Server 2016 Datacenter đã join domain (yvhn.com), đã cài đặt Roles và Features sau: File Server, Failover Clustering:

      • Node1.yvhn.com: 10.123.10.173

      • Node2.yvhn.com: 10.123.10.174
    • Do S2D có khá nhiều yêu cầu, khuyến khích tham khảo kỹ các yêu cầu khi triển khai S2D để tránh lỗi trong quá trình triển khai.
    Bước 1: Thêm các ổ đĩa vào máy ảo VMWare
    • Trường hợp các máy ảo đã có các ổ đĩa, chỉ cần thiết lập lại tương tự các tuỳ chọn được đề cập.
    Số lượng disk dùng cho S2D trên mỗi máy ảo cần bằng nhau.

    • Ta có 2 máy ảo trên VMWare vSphere, power off 2 máy ảo để thêm các ổ đĩa.
    s2d(9)

    • Click phải vào máy ảo, chọn Edit Settings. Trong cửa sổ hiện ra, chon Add other device, và chọn SCSI Controller. (Yêu cầu sử dụng SCSI Controller khác với SCSI Controller của ổ đĩa C của máy ảo)
    s2d(10)


    • Trong SCSI Controller mới, ta chọn loại là LSI Logic SAS, SCSI Bus Sharing chọn là Physical. VMWare sẽ cấu hình các disk mà ta kết nối với SCSI Controller này như là các disk vật lý.
    s2d(11)

    • Chọn Save.

    • Click phải vào máy ảo, chọn Edit settings để thêm các disk cho máy ảo. SCSI Controller đã được tạo là SCSI Controller 1. Tiếp theo chọn Add hard disk, chọn New hard disk.
    s2d(12)

    • Thiết lập các tuỳ chọn cho disk để S2D có thể kết hợp các disk này: lưu ý chọn SCSI Controller đã tạo ở trên, Disk Provisioning là Thick provisioned, eagely zeroed. Dung lượng disk tuỳ vào nhu cầu, các trường còn lại để mặc định.
    s2d(13)

    • Chọn Save.

    • Trường hợp VMWare vSphere chỉ sử dụng ổ cứng HDD, mà S2D yêu cầu tối thiểu bạn phải có 2 ổ SSD nếu dùng cache hoặc 4 ổ SSD nếu không dùng cache. VMWare cho phép thiết lập thông số để các ổ đĩa HDD giả lập là ổ SSD. Thiết lập tương tự bên dưới (Mục VM options -> Advanced) để giả lập ổ SSD.
    s2d(14)

    • Thực hiện tương tự để add tổng cộng 3 disk trên mỗi máy ảo, dung lượng các disk nên bằng nhau để tránh lãng phí. Kết quả như sau:
    s2d(15)

    • Power On 2 máy ảo.

    • Sau khi đã thêm các disk, ta cần kiểm tra trên từng máy ảo xem các disk đã thoải điều kiện của S2D chưa bằng cách dùng Window PowerShell:
    Get-PhysicalDisk | select FriendlyName, SerialNumber, CanPool, Size, MediaType | Fl

    s2d(16)

    CanPool = true tức disk đã thoải yêu cầu và có thể thêm vào S2D. Ba disk ta thêm vào trước đó đều thoải yêu cầu của S2D.

    Trường hợp là CanPool false, kiểm tra SerialNumber và MediaType đã được thiết lập hoặc sử dụng lệnh PowerShell: Get-PhysicalDisk | select FriendlyName, CannotPoolReason | Fl để kiểm tra nguyên nhân disk không thoải yêu cầu của S2D.

    Bước 2: Tạo Cluster, thêm các node vào cluster.
    • Các bước sau đây chỉ cần thực hiện trên 1 trong 2 máy ảo. Ngoài ra các bước này cũng có thể thực hiện thông qua giao diện GUI.

    • Sử dụng lệnh PowerShell: New-Cluster -Name CLUSTER -Node node1.yvhn.com, node2.yvhn.com -NoStorage -StaticAddress 10.123.10.172
    s2d(17)

    • Thiết lập witness cho Cluster, sử dụng lệnh PowerShell: Set-ClusterQuorum -FileShareWitness \\ad\witness
    Lưu ý: Computer CLUSTER cần được thiết lập full quyền cho thư mục \\ad\witness

    s2d(18)

    • Thiết lập S2D, sử dụng lệnh PowerShell: Enable-ClusterS2D
    s2d(19)

    • Chọn Yes to All. Bước này, Window sẽ cấu hình tự động 3 điều sau: (bạn cũng có thể thực hiện thủ công 3 bước này)

      • Tạo một pool: Nhóm tất cả các disk CanPool = true trên các Node

      • Tạo S2D caches: Nếu bạn có các loại disk khác nhau (HDD, SSD, NVMe), Window sẽ tự động lựa chọn mô hình có cache để tăng performance.

      • Tạo Tiers: Tạo 2 tiers mặc định, nhóm các disk vào 2 tiers này. Một gọi là “Capacity” cho Cold data và một gọi là "Performance" cho Hot cold data.
    • Kiểm tra S2D đã tạo được Storage, sử dụng lệnh PowerShell: Get-StoragePool
    s2d(20)

    Vào Server Manager => Tools => Failover Clustering => CLUSTER.yvhn.com => Storage => Pools

    s2d(21)

    • Như ảnh, 6 disk trên 2 node đã được kết hợp tạo thành một Storage Pool với tính sẵn sàng cao và đảm bảo dữ liệu được sao lưu.
    Bước 3: Tạo Cluster Virtual Disk và Cluster Shared Volume.
    • Từ Storage Pool đã tạo ở mục B, ta sẽ thực hiện tạo virtual disk dùng làm File Server. Chọn New Virtual Disk.
    s2d(22)

    • Trong cửa sổ hiện ra, chọn Storage Pool là S2D on CLUSTER đã tạo. Chọn OK.
    s2d(23)

    • Cửa sổ mới hiện ra, chọn Next.
    s2d(24)

    • Đặt tên cho Virtual Disk cần tạo, chọn Next.
    s2d(25)

    • Chọn dung lượng cho virtual disk này. Tại đây có thông tin cơ chế bảo dữ liệu (Two-way mirror). Chọn Next.
    s2d(26)

    • Chọn Create.
    s2d(27)

    • Chọn Create a volume … và chọn Close.
    s2d(28)

    • Cửa sổ mới hiện ra để ta tạo Volume từ Virtual Disk đã tạo. Chọn Next.
    s2d(29)

    • Chọn Server là Cluster, Disk là VD1 ta tạo ở trên, chọn Next.
    s2d(30)

    • Chọn Next.
    s2d(31)

    • Chọn ký tự gán cho volume, ở đây là E. Chọn Next.
    s2d(32)

    • Đặt tên cho volume, các trường còn lại để mặc định, chọn Next.
    s2d(33)

    • Chọn Create để tạo volume.
    s2d(34)

    • Nhấn Close để hoàn tất.
    s2d(35)

    • Thực hiện lại các bước để tạo Virtual Disk: VD2 và Volume: Volume2

    • Kết quả tạo 2 Virtual Disk và 2 Cluster Shared Volume từ Storage Pool thành công.
    s2d(36)

    • Đến đây, ta có thể dùng disk này để làm File Server, cấu hình lưu trữ cho SQL Server hoặc Hyper-V tuỳ nhu cầu.
    Bước 4: Tạo File Server từ Cluster Shared Volume
    • Vào Server Manager => Tools => Failover Clustering => CLUSTER.yvhn.com => Roles. Chọn Configure Role…
    s2d(37)

    • Cửa sổ hiện ra, chọn Next.
    s2d(38)

    • Ở đây ta dùng Cluster shared volume đã tạo để làm File Server. Chọn File Server và nhấn Next.
    s2d(39)

    • Tại đây ta có 2 tuỳ chọn:

      • Scale-Out File Server for application data: active/active file server.

      • File Server for general use: active/passive file server.
    • Chọn File Server for general use, chọn Next.
    s2d(40)

    • Đặt tên và gán ip cho File Server. Chọn Next.
    s2d(41)

    • Chọn các disk và volume dùng cho File Server. Chọn Next.
    s2d(42)

    • Chọn Next.
    s2d(43)

    • Chọn Finish.
    s2d(44)

    • File Server đã được tạo và hoạt động, tuy nhiên ta cần cấu hình các File Share để người dùng có thể sử dụng File Server.

    • Chọn Add File Share (lưu ý thực hiện bước này trên máy tính được chỉ định Owner)
    s2d(45)

    • Chọn loại file share, chọn Next.
    s2d(46)

    • Chọn Server và đường dẫn nơi lưu trữ thư mục chia sẻ, ở đây chia sẻ ổ E. Chọn Next.
    s2d(47)

    • Đặt tên cho thư mục chia sẻ và chọn Next.
    s2d(48)

    • Thiết lập các tuỳ chọn cần thiết với nhu cầu, chọn Next.
    s2d(49)

    • Thực hiện phần quyền cho share folder. Chọn Next.
    s2d(50)

    • Chọn Create.
    s2d(51)

    • Chọn Close.
    s2d(52)

    • Kết quả: Client có thể truy cập File Server đã tạo.
    s2d(53)

    ****Trường hợp có sự cố.
    • Giả sử một server trong hai server ta cấu hình ở trên bị chết (ta shutdown).

    • Liệu Storage Pool và File Server có còn hoạt động? Dữ liệu lưu trữ trên File Server có an toàn?

    • File Server đang chạy trên Node1.
    s2d(54)

    • Ta Shutdown Node1 và kiểm tra lại các thành phần. Node1 đã down.
    s2d(55)

    • Ba disk ta add vào Storage Pool S2D on Cluster đã mất kết nối, nhưng Storage Pool vẫn hoạt động.
    s2d(56)

    • Các Cluster Virtual Disk và Cluster Shared Volume vẫn hoạt động.
    s2d(57)

    • File Server vẫn hoạt động.
    s2d(58)

    • Người dùng vẫn truy cập File Server bình thường.
    s2d(59)



    --- HẾT ---
     

Share This Page