Tác hại của sự khác VM Hardware version và cách hạ cấp version trong Data Center Virtualization


VMware đưa ra phương thức quản lý các máy ảo chạy trên các phiên bản vSphere từ cũ tới các phiên bản mới nhất, bằng cách gán

trên các Host cũng gán các phiên bản của ESXi host.

Và gán vào file cấu hình máy ảo [VM’s name].vmx các thẻ tag có số hiệu phiên bản

Version được ghi trong nội dung file .vmx

Vấn đề nằm ở chỗ, chúng ta phát triển các máy ảo trên nền VMware vsphere, vSphere Web client chỉ cho chúng ta các lựa chọn ngầm định khi tạo 1 máy ảo à

  1. VM Hardware là tương thích, tương ứng và thường chọn ngầm định phiên bản cao nhất.
  2. Nếu bạn sản xuất phần mềm hoặc máy ảo Appliance cho khách hàng, bạn phải điều chỉnh lại VM Hardware version thấp hơn để phù hợp với các vSphere 4.x, vSphere 5.x và vSphere 6.x
  3. Trong hạ tầng Doanh nghiệp của bạn lại có nhiều phiên bản vSphere khác nhau từ 4.x, 5.x tới 6.x thì khi có sự cố các VM cần vMotion sang nhau hoặc cần di chuyển chủ động làm DRS/HA.
  4. Các bạn cần Sao lưu/ khôi phục các VMs trên các hạ tầng Ảo hoá khác phiên bản, khác hệ thống ảo hoá (như từ vSphere sang Hyper-V, KVM …).

Tác hại của việc khác phiên bản, nó còn thể hiện ngay cả ở phần mềm khác nhau và rất khó chịu, mất thời gian:

  1. Dùng Veeam backup and replicate Free License for windows 9.5 không cài được trên windows server 2008 R2 Enterprise, Veeam yêu cầu phải nâng cấp windows 2008 R2 Server lên bản SP1 hoặc SP2.
  2. Khi dùng bản Veeam backup and Replication 9.5 add Server ESXi Host vSphere 6.7 thì được, Khôi phục (Restore các VM vào ESXi host 6.7 này) thì thành công nhưng khi Backup các VM trên đó lại báo lỗi không support:

“Error: Object reference not set to an instance of an object after manually deleting a replica VM”.

Lỗi trên có thể hiểu đơn giản là phải nâng cấp bản Veeam Backup and Replication từ 9.5 GA lên bản update 3a là support với vSphere 6.7.

  1. Khi nâng cấp Veeam backup and Replicate lên bản 9.5 update 3a, thì chúng ta lại sao lưu được các VM (có hardware version từ 13 /14) có trên vSphere 6.7, nhưng khi khôi phục các VMs đó sang các vSphere khác có Verison thấp hơn như: vsphere 5.5,6.0,6.5 thì lại gặp lỗi không hỗ trợ Restore:

“Error VM hardware version 13 is not supported by destination host (version 6.0) (System.Exception) “ .

Tham khảo:


  1. Build numbers and versions of VMware ESXi/ESX (2143832)
  2. Veeam Backup & Replication support for VMware vSphere

Giải pháp: ngược với nâng cấp phiên bản là hạ cấp phiên bản:

Đôi khi, bạn sẽ thấy mình cần phải dùng cách hạ cấp phiên bản phần cứng của máy ảo chỉ để giúp bạn có thể di chuyển phiên bản ESXi mới hơn sang phiên bản cũ hơn. Nâng cấp khả năng tương thích phần cứng của máy ảo cũng đơn giản như nhấp chuột phải vào nó và chọn tùy chọn, nhưng ngược lại không phải là cách dễ dàng.



Ví dụ: mình gặp phải các trường hợp y hệt như trên và mình sẽ sửa lại phiên bản của máy ảo của con cloudgateway:

Có 2 cách chính để hạ phiên bản (downgrade version hardware VMX-13 của VM trên vsphere 6.7) xuống VMX-10/11 cho vSphere 5.5/ vSphere 6.0 support:

Cách 1:
dùng VMware Converter để converter migration máy ảo từ Host có vSphere version cao (6.7).

Tỉ lệ thành công và thất bại ở cách 1 là ~ 85/15% và trong trường hợp của mình là thất bại bởi VM có Guest OS Linux Ubuntu 16.04

Cách 2: dùng cách sửa nội dung phiên bản của file cấu hình máy ảo .VMX

Lưu ý:

  • Khi bật VM lên thì VMDK lại dùng NVRAM sửa lại làm thay đổi nội dung trên file .VMX.
  • hoặc vCenter Inventory của ESXi host sẽ dùng DRS/HA để sửa thông tin của VMX khi có thay đổi cấu hình VM hoặc do vMotion làm thay đổi vị trí Host, Storage…

Do vậy, chúng ta sẽ làm theo 5 bước sau cho an toàn và nhanh gọn:

Bước 1: bật nguồn máy ảo.

Bước 2. Mở Datastore browser và download file .VMX về máy PC.

 

Bước 3. Dùng Notepad để sửa được VMX.

Bước 4. Tiếp theo Un-register VM và vào xoá file VMX cũ.

Bước 5. Upload lại file VMX đã sửa, rồi Register lại VM

và bật nguồn cho máy ảo chạy

Tác dụng của việc hạ VM Hardware version từ 13/14 xuống version 10 là ta có thể dùng Veeam backup restore tới các vsphere 6.x/5.5 thành công :

Và khi đó các máy chủ ESXi Host vSphere 5.5/6.x đều vận hành được các VM có Hardware version 10

VM đã bật và chạy với VM version 10.

 

Chúc các bạn thành công vượt qua được các lỗi về không tương thích phiên bản Microsoft Windows, Veeam, VMware … !

Phần chưa được công bố: Các bạn đã chuẩn bị gì cho kế hoạch nâng cấp domain controller windows 2003 khi ngày End of Support đang đến gần ?


Hiện tại trên thị trường Doanh nghiệp đang sử dụng rất nhiều các máy chủ chạy Domain Controller bằng windows 2000, Windows 2003 Standard…

Việc Microsoft chuẩn bị đếm lùi ngày kết thúc hỗ trợ các bản vá lỗi cho Windows 2003 thật sự là điều rủi ro cao cho các Doanh nghiệp, tổ chức vẫn tiếp tục sử dụng windows server 2000/ 2003 làm hệ thống

Domain Controller cho tổ chức của mình.

Đặt vấn đề:

Để chuẩn bị cho các công việc nâng cấp, hoặc chuyển đổi hệ thống Domain Controller sang hạ tầng hoặc version cao hơn là điều vô cùng cần thiết lúc này.

Tôi xin giới thiệu một số tình huống xử lý sự cố từ domain controller windows 2003 để các bạn tham khảo và lường trước khó khăn:

  1. Tình huống sử dụng Domain controller phổ biến trong Doanh nghiệp là có ít nhất 2 –3 con Domain controller chạy Duplicate hoặc deligated nhằm backup/restore hoặc cluster Domain.
  2. Sau thời gian dài sử dụng thì các máy chủ này có vấn đề về phần mềm hoặc phần cứng dẫn tới một trong 2 máy chủ Domain controller bị lỗi / hỏng ngừng hoạt động.
  3. Có rất nhiều System Administrator hỏi tôi về việc nếu cứ để hệ thống đó chạy như vậy có sao không ? hoặc làm thế nào để xóa những máy domain controller bị lỗi đúng cách ?

Dựng Mô hình hệ thống Domain controller 2003:

– Mở phần mềm Active Direcoty Sites and Services:

image

 

– Mở phần mềm Active Direcoty Users and Computers:

image

Chú ý: Điều này chỉ được thực hiện nếu một DC đã lỗi không bao giờ hoạt động trở lại.

Biện pháp xử lý: gỡ bỏ các máy chủ Domain Controller bị lỗi:

  • Từ máy chủ Domain Controller đang hoạt động, mở một cửa sổ cmd (bấm START > RUN gõ CMD) và gõ các lệnh chính xác như hiển thị dưới đây.
  • Thay thế các từ bên trong dấu ngoặc nhọn (<>) với tên của các máy chủ phải được loại bỏ, thực hiện theo từng dòng  lệnh sau mỗi dấu :
  1. Ntdsutil
  2. Metadata cleanup
  3. Connections
  4. Connect to server  <nhập tên máy chủ đang hoạt động bình thường thuộc nhóm Primary Domain (không phải là máy chủ Domain Controller bị lỗi)>
  5. QUIT
  6. Select operation target
  7. List domains
  8. Select domain 0
  9. List sites
  10. Select site 0
  11. List servers in site
  12. Select server  <nhập số thứ tự tương ứng với tên của Chủ bị lỗi >
  13. Quit
  14. Remove selected server

ví dụ:

image

ví dụ:

image

Sau khi gõ lệnh cuối cùng để xóa máy chủ Domain controller bị lỗi, bạn sẽ thấy một hộp thoại với thông điệp sau:

“Are you sure you want to remove the server object
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx? This is not the last server for domain xxxxxxxxxxxxxx”

(Các xxx là thông tin liên quan tới máy chủ và tên miền bạn đã chọn bằng lệnh ở trên)

Hãy đọc kỹ thông báo trước khi bấm vào YES nếu bạn chắc chắn đã chọn đúng máy chủ bị lỗi và cần xóa.

image

Lệnh xóa máy chủ Domain Controller bị lỗi được thực thi:

image

 

Các bạn có thể lặp lại việc xóa các domain controller bị lỗi khác tương tự.

 

Để kết thúc:

• Bạn mở  Active Directory Sites and Services và loại bỏ các đối tượng máy chủ đã bị xóa

image

 

• Tiếp tục mở Active Directory Users and Computers và loại bỏ các đối tượng máy chủ bị xóa (nếu vẫn còn hiện hữu)

image

 

• Tiếp tục mở DNS Server và loại bỏ các hồ sơ đối tượng máy chủ bị xóa

image

 

Tóm lại, sau khi xóa xong các máy chủ Domain Controller windows 2003 bị lỗi,

Bạn hoàn toàn dễ dàng nâng cấp Domain Controller lên windows 2008, R2 Enterprise hoăc windows 2012.

ví dụ: nâng cấp từ Forest Level 2000 lên 2003 thành công sau khi xóa hết các máy chủ domain controller lỗi.

image

 

P.S: Những nội dung xử lý troubleshoot kỹ thuật trên càng ngày càng rắc rối,

các bạn nên đăng ký tham gia các khóa học của ROBUSTA để được luyện tập, trải nghiệm qua các khóa học

và phương pháp học thực hành chuyên sâu.

vững Trí vững Nghề !

Phần 9. Có những lỗi của SharePoint rất hiểm mà chỉ có IIS và ASPX.Net mới hiểu được ?


Một trong những lỗi mà dân lập trình, triển khai và quản trị MS SharePoint khó phát hiện ra cách sửa lỗi nhất đó là:

“Khi tạo ra 1 Portal site trên chính máy chủ SharePoint Farm, cài, cấu hình và khởi tạo đầy đủ các template site. Đăng nhập lại trang portal đó bằng chính account system admin của AD

đều bó tay không thể mở được, cho dù nhập rất đúng mật khẩu và kiểu account sAMAccountName hay UPN hay kiểu Email domain…” mọi thứ khác đều chạy ổn, riêng vấn đề này không ổn”.

SPS2010_not_access

Tại sao vậy ?

Nguyên nhân:

Khi bạn sử dụng tên miền đầy đủ (FQDN) hoặc một tiêu đề tùy chỉnh /IP để truy cập một trang web localhost được lưu trữ trên một máy tính đang chạy Microsoft Internet Information Services (IIS) 5.x, 6.x, 7.x, 8.x hoặc một phiên bản sau này, bạn có thể nhận được một thông báo lỗi tương tự như sau:

HTTP 401.1 – Unauthorized: Logon Failed

Vấn đề này xảy ra khi các trang web đó có sử dụng tích hợp xác thực “Integrate Windows Authentication” và có một cái tên được ánh xạ đến địa chỉ loopback localhost.

Chú ý: Bạn chỉ nhận được thông báo lỗi này nếu bạn cố gắng để duyệt qua các trang web trực tiếp trên chính máy chủ host URL đó.

Nếu bạn duyệt qua các trang web từ một máy tính khác, các trang Web đó vẫn sẽ hoạt động như bình thường.

Luận thuyết về lỗi trên SharePoint Farm:

Vấn đề này xảy ra nếu bạn cài đặt Microsoft Windows Server 2003 Service Pack 1 (SP1). Windows Server 2003, Windows 2008 server/R2 và MS SharePoint bao gồm một tính năng bảo mật kiểm tra loopback được thiết kế để giúp ngăn chặn các cuộc tấn công ánh xạ ngay trên máy tính chủ dịch vụ của bạn.

Vì vậy, xác thực không thành công nếu FQDN hoặc header tùy chỉnh mà bạn sử dụng không phù hợp với tên máy tính localhost.

Cách xử lý:

Bạn hãy mở Registry của chính máy chủ windows server 2008 standard/r2 đang chạy

SPS2010_not_access1

Có hai phương pháp để xử lý vấn đề này, sử dụng một trong các phương pháp sau đây sao cho thích hợp với tình hình của bạn.

Phương pháp 1: Xác định tên host (phương pháp Preferred nếu NTLM xác thực được mong muốn):

Để xác định tên máy chủ được ánh xạ đến địa chỉ loopback và có thể kết nối đến các trang web trên máy chủ của bạn, hãy làm theo các bước sau:

1. Thiết lập DisableStrictNameChecking trong registry với giá trị  1.

2. Nhấp vào Bắt đầu, bấm Chạy, loại regedit, và sau đó nhấn OK.

3. Trong Registry Editor, xác định vị trí và sau đó nhấp vào khóa registry sau đây:  HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0

4. Kích chuột phải vào MSV1_0, chọn New, và sau đó nhấp vào Multi-String Value.

5. Gõ BackConnectionHostNames, và sau đó nhấn ENTER.

6. Kích chuột phải vào BackConnectionHostNames, và sau đó nhấp vào Modify.

7. Trong value gõ tên máy chủ hoặc các tên máy chủ cho các trang web có trên máy tính localhost, và sau đó nhấn OK.

8. Thoát khỏi Registry Editor, và sau đó khởi động lại dịch vụ IISAdmin.

Phương pháp 2: Vô hiệu hoá việc kiểm tra loopback (phương pháp ít được đề nghị – nhưng phù hợp với trường hợp của Microsoft SharePoint)

Phương pháp thứ hai là để vô hiệu hóa việc kiểm tra loopback bằng cách thiết lập các khóa registry DisableLoopbackCheck.
Để thiết lập các khóa registry DisableLoopbackCheck, hãy làm theo các bước sau:

  1. Thiết lập DisableStrictNameChecking sửa trong registry để giá trị bằng 1.
  2. Nhấp vào Bắt đầu, bấm Chạy, loại regedit, và sau đó nhấn OK.
  3. Trong Registry Editor, xác định vị trí và sau đó nhấp vào khóa registry sau đây:  HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  4. Kích chuột phải vào Lsa, chọn New, sau đó bấm Value DWORD.
  5. Gõ DisableLoopbackCheck, và sau đó nhấn ENTER.
  6. Kích chuột phải vào DisableLoopbackCheck, và sau đó nhấp vào Modify.
  7. Trong phần Data value nhập giá trị bằng 1, và sau đó nhấn OK.
  8. Thoát khỏi Registry Editor, và sau đó khởi động lại máy chủ của bạn.
  9. SPS2010_not_access2

Thực tế, mình sửa tới đây rồi và lưu lại register đợi sau 5 phút thì mở lại trang Portal site của Microsoft SharePoint thì đăng nhập được luôn (không khởi động lại máy chủ SharePoint).

P.S: Các bạn hãy đến học chương trình MS SharePoint tại ROBUSTA để có những kinh nghiệm thực tế, vững vàng trong công tác phát triển thông tin thông tấn tại Doanh nghiệp bạn.

Chúc các bạn yêu MS SharePoint yêu luôn cả lỗi bực mình này nhé !

Tại sao mô hình SharePoint Farm lại chạy ổn định hơn trên nền ảo hóa VMware vSphere ?


Tôi xin giới thiệu qua mô hình SharePoint Farm bằng một vài hình ảnh sau:

1. Mô hình chuẩn của SharePoint Farm theo vật lý:

WP_20150121_001

2. Cấu trúc 3 tier Model cho SharePoint Farm:

WP_20150121_002_2

3. Cấu trúc Chức năng để triển khai SharePoint Farm:

clip_image004

4. Cấu trúc dữ liệu vật lý của SharePoint Farm:

clip_image006

5. Tổng kết mô hình SharePoint Farm trên nền ảo hóa VMware:

5.1. Hệ thống được vận hành trên vSphere:

Thực tế việc triển khai SharePoint Farm trên nền ảo hóa của VMware vSphere nhằm đảm bảo:

1. Tính năng Physical High Available (HA) và có cân bằng tải nguồn tài nguyên các máy ảo (CPU, Memory, Datastorage – DRS).

2. vMotion – HA để đảm bảo di chuyển tự động và không gây gián đoạn khi gặp sự cố của các máy chủ vật lý.

3. vSphere DRSDataStorage DRS giúp tự động cân bằng tải nguồn tài nguyên và chống sự cố thiếu tài nguyên các máy chủ ảo.

4. vSphere Data Protection Replicate giúp backup/restore và đồng bộ dữ liệu giữa Site Master (là Cluster Data chính đang chạy các máy chủ SharePoint Farm) với Site Backup (là Cluster Data chuyên lưu trữ và khôi phục các máy chủ SharePoint Farm).

5.2. Vì sao không nên dùng Microsoft Cluster Fail ?

Với 4 tính năng quan trọng trên, chúng ta sẽ không cần đến mô hình Cluster Fail truyền thống của Microsoft hay các hãng khác, vì:

1. Lãng phí hệ thống tài nguyên vật lý do phải có 2 cặp máy chủ vật lý có cấu hình giống hệt nhau.

2. Cấu hình Cluster Fail phức tạp, vận hành và duy trì phức tạp, tốn kém thời gian sửa chữa, gián đoạn hệ thống vẫn có khả năng xẩy ra.

3. Cluster fail vật lý thường là chế độ Active – Standby / Active – Passive, do đó không có tính năng Load Balancing “cân bằng tải” cho các dịch vụ ứng dụng, hoặc chia tải các dịch vụ cho từng máy chủ chạy chức năng độc lập. ví dụ: SQL Server 2008 Cluster Fail 2 Notes (thực tế chỉ chạy 1 máy chủ SQL cho tất cả các chức năng: DB, Index, Crawling, Search, Query…đồng thời còn phải thêm chức năng đồng bộ dữ liệu sang máy chủ SQL note 2, khi máy chủ SQL Note 1 – máy chính báo lỗi thì máy chủ SQL note 2 mới đổi thành SQL note chính – điều này chỉ giúp không gián đoạn / mất dữ liệu cho dịch vụ).

SharePoint nâng cao: Phần 7 – Bổ sung cấu trúc hệ thống MySite trong SharePoint


Tại sao có rất nhiều hệ thống Cổng thông tin Doanh nghiệp lại được gọi là “Facebook cho Doanh nghiệp”

và bộ sưu tập trang web cá nhân cung cấp cho mỗi người sử dụng với khả năng lưu trữ thông tin cá nhân và công cộng như văn bản, hình ảnh, cập nhật trạng thái, v.v. dễ dàng và hiệu quả. Các trang web của cá nhân trong SharePoint 2010 đều được thiết kế theo mô hình mạng xã hội thu nhỏ trong hoạt động của Doanh nghiệp. Microsoft đã nhìn thấy sự cần thiết phải tiếp tục đầu tư và tăng cường khả năng kết nối mạng xã hội trong SharePoint, và như công nghệ web 2.0 tiếp tục ngổn ngang trên tất cả các trang web đang vận hành trên thế giới, Microsoft đã một lần nữa thiết lập thành công các nhãn hiệu, thẻ văn bản, meta data chuẩn bị trong Sharepoint Enterprise bằng cách giới thiệu một loạt các tính năng mạng xã hội để tăng cường sự hợp tác, lầm việc tương tác giữa những người dùng trong SharePoint 2010.

Tôi xin giới thiệu cấu hình ứng dụng dịch vụ Xã hội cho SharePoint 2010 triển khai tại Labs của chúng tôi, hồ sơ người dùng, trong đó cung cấp cho chúng ta một vị trí trung tâm để lưu trữ các chi tiết thông tin người dùng mà sau này sẽ được nhập từ một nguồn nội dung như Active Directory vào.

image

 

My Site host là gì ?
Bạn chỉ có thể sử dụng My Site host Template từ khu vực dành cho người quản trị bởi vì nó tạo ra
một nơi cho phép lưu trữ tất cả các Site cá nhân khác. Bạn chỉ nên sử dụng Template này cho mổi
User Profile Service Application khi cần.
Một khi bạn tạo ra My Site host thì người dùng cá nhân có thể tạo ra các trang chủ My Site dành cho
họ để theo dõi các tin tức mới trong Site mà họ quan tâm, tạo ra các trang nội dung và thư viện tài
liệu cá nhân. Dĩ nhiên một trong những lợi thế quan trong khác của việc lưu trữ các tập tin trên thư
viện My Site hơn là lưu trữ trên ổ cứng cá nhân là các dữ liệu của My Site sẽ được sao lưu một cách
thường xuyên.

 

Các bước tạo My Site Web Application

Mở Central Administration / Application Management / Web Applications bấm nút New

image

Authentication: chọn kiểu Claims hoặc Classic  (tôi sẽ chọn “Classic”).

IIS Web Site: Tạo 1 IIS web site mới (nhập tên theo ý của mình).

image

Authentication Provider: chọn phương thức xác thực.

Public URL: nhập địa chỉ web làm địa chỉ URL truy cập My Sites của tôi.

image

Application Pool: Tạo thêm mới  Application Pool.

Thông thường ở chế độ bảo mật, chúng ta nên tạo 1 account domain user trên AD server và cấp quyền duy nhất để có thể start/stop 1 web application pool (ví dụ: được quyền điều khiển  My Site Application Pool ).  Lưu ý: Account này phải được khởi tạo trong Active Directory trước và chỉ thuộc quyền Domain Users (DOMAIN\sp_mysite).

image

Click OK

image

Database Name and Authentication: tên máy chủ Database SQL sẽ chứa dữ liệu Site Content Collection DB.

Failover Server: Tên máy chủ SQL cái ở chế độ failover server (nếu bạn có cấu hình và sử dụng SQL Server database mirroring).

image

bấm “OK”.

image

Bước tiếp theo:

Tạo “SharePoint – My Site” Web Application và click  General Settings. 

Ta chỉnh lại Default Time Zone.

image

Tạo My site theo “My Site Host Site Collection”:

image

Ta sẽ nhận được thông báo xác nhận việc tạo My Site:

image

Thiết lập cấu hình My Site:

Mở Central Administration / Application Management / Manage service applications.

Bấm User Profiles, bấm chọn Setup My Sites located trong mục My Site Settings

image

image

image

bấm “OK”.

Thêm Managed Path:

Mở Central Administration / Application Management / Manage Web Applications.

bấm vào My Site Web Application và bấm chọn “Managed Paths” có trên bộ nút “Ribbon”

image

Nhập thêm “personal” chọn kiểu “Wildcard inclusion”, sau đó bấm “Add Path” và bấm “OK”

image

Cấu hình cho phép người dụng đăng ký có thể tự tạo Mysite page:

Mở Central Administration / Application Management / Manage Web Applications.

bấm “My Site Web Application” và bấm chọn “Self-Service Site Creation”

image

Chọn On và bấm “OK”.

image

Bây giờ thì chúng ta có thể truy cập MySite

image

Lần đầu tiên khởi tạo MySite Content hệ thống SharePoint sẽ cần thời gian xử lý:

image

Và sau ít phút chúng ta đã có My Site của từng cá nhân đăng nhập vào Mysite

image

 

Các nhà Quản trị hệ thống SharePoint hoặc các nhóm lập trình development có thể tiếp tục công việc

cấu hình phần quyền, đẩy các Web Part, Web Application Solution hoặc SharePoint Solution cho từng người hoặc nhóm, hoặc vào các Sites

để người dùng có thể dễ dàng sử dụng các tính năng, chức năng mở rộng, mới trong công việc hàng ngày.

 

Chúc các bạn thành công trong công cuộc tái cấu trúc lại hệ thống Cổng thông tin Doanh nghiệp bằng SharePoint !

SharePoint nâng cao – Phần 6: Phát triển Development Dashboard trên máy chủ SharePoint 2010


1. Giới thiệu:

SharePoint 2010 Developer Dashboard là một màn điều khiển trực quan viết bằng giải pháp jQuery-based giúp các lập trình viên có thể mở rộng phương thức tối ưu tốc độ

load các code “Developer Dashboard by plotting” có biểu đồ tương tác với dữ liệu trên màn “Developer Dashboard” cho bạn biết các thông tin **instant** các dấu hiệu

thắt cổ chai trong các đoạn code của bạn.

image

Lần đầu khi chúng ta viết code trong  SharePoint 2010, chúng ta hay bị nhầm lẫn, sai code, hàm…  Số các đoạn code bị dùng nặp đi nặp lại, kết quả thấy rõ ở việc load times bằng  “”ms, 

dường như không thể chính xác 100% các yêu cầu là có thể kiểm soát được trong quá trình code và debug.

Về cơ bản là nó chỉ ra rằng có những “kẽ hở” mà không được giám sát, đó chính là lý do tại sao tổng thời gian thực hiện cho một tập hợp các nút con “hàm thủ tục con” trong danh sách thường không phù hợp với thời gian thực hiện của Class gốc. Điều này là do mô hình SPMonitoredScope. (Tham khảo: mô hình SPMonitoredScope ).

Mỗi nút trong danh sách đại diện cho một SPMonitoredScope đã được tạo ra, hoặc trong mã SharePoint OOTB hoặc trong mã mà bạn đã tự viết cho mình. Khi một SPMonitoredScope thứ hai được tạo ra trước khi tiến trình của người đầu tiên gửi yêu cầu được xử lý, SPMonitoredScope thứ hai sẽ được đối xử như một phạm vi của người truy cập đầu tiên. Trong bối cảnh của một trang sharepoint web nhận được yêu cầu truy xuất, phạm vi cấp cao nhất được khởi tạo trong SPRequestModule. Giới hạn mà bạn nhận được có khả năng sẽ trở thành phạm vi áp dụng cho hầu hết các phạm vi con “Child scope – phạm vi yêu cầu con”.

Một ví dụ cho một WebPart tùy chỉnh để có thể tạo ra phạm vi giới hạn riêng.

1: protected void VisualWebPart1_Load(object sender, EventArgs e)

2: {

3: using (SPMonitoredScope mainScope = new SPMonitoredScope(“VisualWebPart1_Load mainScope”))

4: {

5: Thread.Sleep(5000); // some processing that is not inside a subscope

6: 

7: using (SPMonitoredScope subScope1 = new SPMonitoredScope(“VisualWebPart1_Load subScope1”))

8: {

9: Thread.Sleep(1000);

10: }

11: 

12: using (SPMonitoredScope subScope2 = new SPMonitoredScope(“VisualWebPart1_Load subScope2”))

13: {

14: Thread.Sleep(1000);

15: }

16: 

17: using (SPMonitoredScope subScope3 = new SPMonitoredScope(“VisualWebPart1_Load subScope3”))

18: {

19: Thread.Sleep(1000);

20: }

21: }

22: }

Bây giờ chúng ta hãy nhìn vào kết quả đầu ra Bảng điều khiển phát triển “Developer Dashboard”.

image

 

 

2. Triển khai:

Using STSADM command

a. On Mode

STSADM –o setproperty –pn devdashboard_v2 –pv On

image

b. Off Mode

STSADM –o setproperty –pn devdashboard_v2 –pv Off

c. OnDemand Mode

STSADM –o setproperty –pn devdashboard_v2 –pv ‘OnDemand’

d. The last stsadm command will display the Developer Dashboard if one or more counters are exceeded:

STSADM –o setproperty –pn devdashboard_v2  –pv expensiveoperationsonly

 

2. Using PowerShell commands

a. On Mode

$DevDashboardSettings = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;

$DevDashboardSettings.DisplayLevel = ‘On’;

$DevDashboardsettings.Update()

image

b. Off Mode

$DevDashboardSettings = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;

$DevDashboardSettings.DisplayLevel = ‘Off’;

$DevDashboardsettings.Update()

c. OnDemand

$DevDashboardSettings = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;

$DevDashboardSettings.DisplayLevel = ‘OnDemand’;

$DevDashboardsettings.Update()