Cai dat va cau hinh Windows Server 2012 R2 (36)

(Tiếp theo của "Cai dat va cau hinh Windows Server 2012 R2 (35)")



Cấu hình các tùy chọn của DHCP



Trong quá trình tạo kho địa chỉ, New Scope Wizard cho phép bạn thực hiện hầu hết các thiết lập quan trọng của DHCP. Tuy nhiên, sau khi đã tạo kho địa chỉ, bạn vẫn có thể thực hiện thêm các cấu hình khác.
DHCP server của Windows hỗ trợ hai mức cấu hình:
­ 
- Mức Scope Options: thông tin cấu hình sẽ được gửi tới các DHCP client trong một scope.

- Mức Server Options: thông tin cấu hình sẽ được gửi tới tất cả các DHCP client.

Ví dụ, mục “003 Router” là thông tin về địa chỉ IP của default gateway, mục này nên được cấu hình ở mức Scope Options, vì địa chỉ IP của default gateway và của DHCP client phải cùng một mạng con. Mục “006 DNS Servers” thường được cấu hình ở mức Server Options, vì DNS server không nhất thiết phải cùng mạng con với DHCP client, ngoài ra, các hệ thống mạng thường sử dụng DNS server chung cho tất cả các client.

Các mục cấu hình ở cả hai mức: Scope Options và Server Options là tương tự nhau, việc thực hiện cấu hình về cơ bản cũng giống nhau.

Để thực hiện cấu hình cho mức Scope Options, bấm chuột phải vào nút Scope Options, chọn mục Configuration Options để mở cửa sổ Scope Options, tại cửa sổ này bạn có thể thực hiện các cấu hình theo nhu cầu. Xem hình minh họa.




Để thực hiện cấu hình cho Server Options, bấm chuột phải vào nút Server Options, chọn mục Configuration Options để mở cửa sổ Server Options, việc cấu hình cũng giống như khi thực hiện trên mức Scope Options.

 

Đặt trước địa chỉ IP (reservation)


Mặc dù DHCP có thể cấp địa chỉ IP và các thông tin TCP/IP khác cho tất cả các máy trong mạng, tuy nhiên, trong hệ thống mạng vẫn có những máy tính phải có địa chỉ IP cố định. Trong trường hợp đó, bạn có thể thực hiện cấu hình bằng tay, hoặc sử dụng DHCP.

Đối với các hệ thống mạng lớn, nếu bạn thực hiện cấu hình địa chỉ IP bằng tay, các quản trị viên khác có thể không có thông tin về các địa chỉ IP bạn đã cấp, vì vậy, dễ dẫn đến tình trạng tranh chấp địa chỉ IP. Trong khi đó, việc sử dụng chức năng đặt trước địa chỉ IP giúp các quản trị viên có thể kiểm soát được tất cả các địa chỉ IP đã cấp, vì thông tin này được lưu trữ và quản lý tập trung trên DHCP server.

DHCP có cơ chế cấp cố định (static) một địa chỉ IP cho các máy tính trong mạng. Trong Windows, cơ chế này được gọi là reservation (tạm dịch là đặt trước địa chỉ IP).

Để đặt trước một địa chỉ IP, bấm chuột phải vào mục Reservations, chọn New Reservation để mở cửa sổ New Reservation. Xem hình minh họa.



Tại cửa sổ New Reservation, bạn nhập địa chỉ IP cần cấp cho máy tính kèm theo địa chỉ MAC của nó.

 

Sử dụng PXE


Trong các hệ điều hành Windows luôn có sẵn thành phần DHCP client, thành phần này giúp máy tính client lấy được địa chỉ IP và các thông tin TCP/IP từ DHCP server. Tuy nhiên, DHCP client chỉ có trên các máy client đã cài đặt hệ điều hành.

Với các máy client chưa cài đặt hệ điều hành, DHCP có hỗ trợ chức năng PXE, chức năng này cho phép client có thể lấy được địa chỉ IP và các thông tin TCP/IP khác.

PXE (Preboot eXecution Environment) là một chức năng được tích hợp trên nhiều cạc mạng, nó cho phép cạc mạng kết nối tới DHCP server để lấy địa chỉ IP và các thông tin TCP/IP khác khi máy tính không có hệ điều hành.

Các quản trị viên thường sử dụng chức năng PXE trong quá trình cài đặt tự động hệ điều hành trên các máy client.

Trong chế độ PXE, ngoài việc cấp địa chỉ IP và thông tin TCP/IP cho client, DHCP server còn cung cấp cho máy client thông tin về vị trí của tập tin khởi động, máy client sẽ tải tập tin này về để khởi động máy tính và bắt đầu quá trình cài đặt hệ điều hành.

PXE sử dụng giao thức TFTP (Trivial File Transfer Protocol) để lấy tập tin khởi động từ DHCP server. Giao thức TFTP là phiên bản rút gọn của giao thức FTP, nó không yêu cầu quá trình chứng thực.

Windows Server 2012 R2 có role WDS (Windows Deployment Services), role này cho phép lưu trữ và quản lý các tập tin cài đặt của hệ điều hành. Để truy cập tới WDS, cạc mạng PXE phải có thông tin về vị trí của WDS server, thông tin này được cấu hình trong mục tùy chọn “060 PXEClient” tại DHCP server. Lưu ý: phải cài đặt role WDS và cấu hình WDS thì mới có mục “060 PXEClient” trong DHCP server.

Khi máy client khởi động, sau khi không thể khởi động từ các ổ đĩa cục bộ, máy client sẽ tự động thực hiện quá trình khởi động từ mạng. Do vậy, bạn không phải thực hiện bất kì cấu hình nào liên quan đến PXEClient.
Sau đây là các bước cài đặt hệ điều hành Windows 8.1 qua mạng:

  1. Khởi động máy client, do không thể khởi động từ các ổ đĩa cục bộ, máy client sẽ thực hiện quá trình khởi động qua mạng.
  2. Máy client kết nối tới DHCP server, nhận gói DHCPOFFER. Gói DHCPOFFER có chứa địa chỉ IP, các thông tin TCP/IP khác, cùng với tên của WDS server.
  3. Client kết nối tới WDS server, sử dụng TFTP để tải về các tập tin khởi động.
  4. Client nạp Windows PE (Windows Preinstallation Environment: một tiện ích hỗ trợ việc cài đặt hệ điều hành) và WDS client vào RAM disk (đĩa ảo), hiển thị trình đơn khởi động, trong đó có các tùy chọn cài đặt hệ điều hành do WDS server cung cấp.
  5. Người dùng sẽ lựa chọn hệ điều hành để cài đặt, quá trình cài đặt sẽ được thực hiện như khi cài đặt thông thường.

 

Cài đặt trạm chuyển tiếp DHCP (DHCP relay agent)


Vì DHCPv4 client tìm kiếm DHCP server bằng cơ chế broadcast, nên nó chỉ có thể tìm thấy các DHCP server trong cùng mạng con. Tuy nhiên, vẫn có giải pháp để DHCP server có thể cấp địa chỉ IP cho các client ở nhiều mạng con khác nhau. Để làm được điều này, trên các mạng con không có DHCP server, cần phải cài đặt trạm chuyển tiếp DHCP.

Rất nhiều router có hỗ trợ sẵn chức năng của một trạm chuyển tiếp DHCP, nếu không có, bạn có thể sử dụng Windows Server 2012 R2 để làm một trạm chuyển tiếp. Sau đây là các bước thực hiện:

  1. Mở Server Manager, chạy Add Roles And Features Wizard, cài đặt role Remote Access, trong quá trình cài đặt chọn thêm role Routing và DirectAccess and VPN (RAS).
  2. Sau khi cài đặt xong, vào Server Manager, chọn mục Tools, chọn Routing and Remote Access để mở cửa sổ Routing and Remote Access.
  3. Bấm chuột phải vào nút SERVER, chọn Configure And Enable Routing And Remote Access để mở cửa sổ Routing And Remote Access Server Setup Wizard.
  4. Bấm Next để mở trang Configure, xem hình minh họa.


  1. Chọn mục Custom Configuration, bấm Next để mở trang Custom Configuration.
  2. Đánh dấu chọn vào mục LAN Routing, bấm Next để mở trang Completing The Routing And Remote Access Server Setup Wizard.
  3. Bấm Finish, xuất hiện cửa sổ thông báo khởi chạy dịch vụ Routing and Remote Access.
  4. Bấm Start Service.
  5. Mở mục IPv4, bấm chuột phải vào mục General, chọn New Routing Protocol để mở cửa sổ New Routing Protocol.
  6. Chọn DHCP Relay Agent, bấm OK, hệ thống sẽ tạo thêm nút mới có tên DHCP Relay Agent.
  7. Bấm chuột phải vào nút DHCP Relay Agent, chọn New Interface để mở cửa sổ New Interface For DHCP Relay Agent.
  8. Chọn cạc mạng thuộc mạng con đang cần cài đặt trạm chuyển tiếp DHCP, bấm OK để mở cửa sổ DHCP Relay Properties.
  9. Để nguyên lựa chọn trong ô Relay DHCP packets. Có thể thay đổi giá trị trong hai mục sau:
- Hop-Count Threshold: xác định số trạm (chuyển tiếp DHCP) tối đa mà một gói tin của DHCP được phép chuyển qua trước khi bị hủy. Điều này giúp tránh tình trạng các gói tin DHCP bị chuyển tiếp mãi mãi trên hệ thống mạng. Giá trị mặc định là 4, giá trị lớn nhất là 16.

- Boot Threshold: khoảng thời gian (tính bằng giây) một gói tin DHCP bị giữ lại tại trạm chuyển tiếp này, trước khi nó được gửi đi. Giá trị mặc định là 4. Thiết lập này cho phép bạn kiểm soát việc DHCP server nào sẽ cấp IP cho một mạng con cụ thể.
  1. Bấm OK.
  2. Bấm chuột phải vào nút DHCP Relay Agent, chọn Properties để mở cửa sổ DHCP Relay Agent Properties. Xem hình minh họa.

  1. Nhập địa chỉ IP của DHCP server mà bạn muốn chuyển tiếp gói tin DHCP tới nó. Bấm Add. Lặp lại bước này, nếu bạn muốn nhập thêm các DHCP server khác.
  2. Bấm OK.
  3. Đóng cửa sổ Routing And Remote Access.

 

Tóm tắt nội dung

­ 
- DHCP là dịch vụ tự động cấp địa chỉ IP và các thông tin TCP/IP khác cho các máy tính trong mạng. Các địa chỉ cấp cho client được chứa trong một kho, gọi là scope. Khi client không có nhu cầu sử dụng địa chỉ IP nữa, địa chỉ đó sẽ được thu hồi lại.

- DHCP gồm ba thành phần: DHCP server, DHCP client và giao thức trao đổi thông tin.

- DHCP có ba cách cấp địa chỉ IP: cấp động, cấp ổn định, dành riêng.

 

Câu hỏi ôn tập

 

  1. Thành phần nào sau đây giúp DHCP client có thể giao tiếp với DHCP server nằm trên mạng con khác?
A.     Forwarder
B.     Resolver
C.     Scope
D.     Relay agent
  1. Gói tin nào sau đây không được sử dụng trong quá trình trao đổi để cấp một địa chỉ IP cho client?
A.     DHCPDISCOVER
B.     DHCPREQUEST
C.     DHCPACK
D.     DHCPINFORM
  1. Trong các chế độ cấp địa chỉ IP cho client của DHCP Windows Server 2012 R2, thuật ngữ nào sau đây tương đương với “reservation”?
A.     Cấp Dynamic
B.     Cấp Automatic
C.     Cấp Manual
D.     Cấp Hybrid
  1. Các thành phần mạng nào sau có thể hoạt động với vai trò giống như một trạm chuyển tiếp DHCP (DHCP relay agents)?
A.     Máy Windows 8.1
B.     Routers
C.     Switches
D.     Máy Windows Server 2012 R2
  1. Các thông tin cấu hình TCP/IP nào sau đây thường được cấu hình ở mức scope option trong DHCP?
A.     DNS Server
B.     Subnet Mask
C.     Thời hạn sử dụng IP
D.     Default Gateway
---------------------------
Tham khảo (Lược dịch):
Craig Zacker, Exam Ref 70-410 - Installing and Configuring Windows Server 2012 R2, Microsoft Press, 2014
--------------------------- 
Cập nhật 2015/2/7
---------------------------
Đọc thêm
Cai dat va cau hinh Windows Server 2012 R2 (37)

Hoc may voi Python (3)

(Tiếp theo của học máy với Python 2)



Lựa chọn mô hình và giải thuật phù hợp


Tới đây, bạn đã có những ấn tượng, những cảm nhận ban đầu về dữ liệu. Tuy nhiên, yêu cầu đặt ra cho ứng dụng này là chúng ta phải dự báo “khi nào thì số lượng truy cập sẽ chạm ngưỡng 100 000 lần/giờ? hay dự báo khi nào sẽ phải nâng cấp hệ thống?”

Để trả lời câu hỏi này, cần phải giải quyết hai vấn đề sau:
­ 
- Tìm ra mô hình phù hợp dựa trên các dữ liệu đã quan sát được. (Nói nôm na là tìm ra được một biểu thức thể hiện mối liên hệ giữa x và y). 

- Sử dụng mô hình để dự báo: thời điểm nào thì số lượng truy cập sẽ chạm ngưỡng 100 000 lần/giờ?

Khi nói về mô hình (model), bạn có thể nghĩ đến một mô phỏng của thế giới thật, tất nhiên, nó mang tính giả định và đã được đơn giản hóa. Mô hình luôn luôn có độ sai khác so với thực tế, còn được gọi là sai số xấp xỉ (approximate error). Sai  số xấp xỉ chính là một tiêu chí giúp chúng ta đánh giá được mô hình nào là phù hợp với bài toán. Sai số xấp xỉ được tính bằng bình phương khoảng cách (squared distance) giữa dữ liệu thật (quan sát được) và kết quả dự báo của mô hình.

Giả sử f là hàm số của mô hình, để tính sai số, chúng ta định nghĩa hàm error để tính sai số như sau:

Def error (f, x, y): return sp.sum((f(x) – y ** 2)

Trong đó, x và y là hai vector chứa dữ liệu (x: giờ, y: số lần truy cập) đã quan sát được; f là hàm số chúng ta đã rút trích được từ dữ liệu, đó chính là hàm mô phỏng mối liên hệ giữa x và y.

 

Bắt đầu với mô hình đường thẳng đơn giản


Giả sử mô hình cho bài toán chúng ta đang xem xét là một đường thẳng, viết dưới dạng biểu thức (hàm số) sẽ là y = ax + b. Khi đó, vấn đề cần quan tâm tiếp theo là sẽ đặt đường thẳng này theo vị trí nào để sai số xấp xỉ là nhỏ nhất. Hàm polyfit() của SciPy sẽ giúp bạn thực hiện điều này.

Với dữ liệu đầu vào là các giá trị đã quan sát được của x, y, cộng với bậc của đa thức cần tìm (vì là đường thẳng, nên bậc của đa thức là bậc 1), hàm polyfit() sẽ tìm ra được hàm số của mô hình, với sai số xấp xỉ là nhỏ nhất.

Cú pháp của hàm polyfit():

fp1, residuals, rank, sv, rcond = sp.polyfit(x, y, 1, full = True)

Hàm polyfit() sẽ trả về các tham số của hàm fp1; với tham số full = True, hàm polyfit() cũng sẽ cung cấp thêm cho chúng ta các thông tin liên quan khác. Trong các thông tin liên quan khác, bạn sẽ quan tâm tới giá trị của residuals, đây là sai số giữa các giá trị y quan sát và các giá trị y dự báo của mô hình.

Chạy thử trên SciPy:

In [1]: import scipy as sp
In [2]: data = sp.genfromtxt("D:\Liv\Re\Ebooks\ML\web_traffic.tsv", delimiter="\t")
In [3]: x = data[:,0]
In [4]: y = data[:,1]
In [5]: x = x[~sp.isnan(y)]
In [6]: y = y[~sp.isnan(y)]
In [7]: fp1, residuals, rank, sv, rcond = sp.polyfit(x, y, 1, full = True)
In [8]: print ("Cac tham so cua mo hinh: %s" % fp1)
Cac tham so cua mo hinh: [ 2.59619213       989.02487106]
In [10]: print(residuals)
[ 3.17389767e+08]

Vậy hàm số (hay đường thẳng) chúng ta cần tìm có dạng:

y = f(x) = 2.59619213* x + 989.02487106

Dựa vào các tham số trả về của polyfit(), sử dụng hàm poly1d() của SciPy để tạo ra hàm số của mô hình.

In [11]: f1 = sp.poly1d(fp1)

Định nghĩa hàm error (), để tính và  xuất sai số xấp xỉ của hàm số mô hình.

In [14]: def error(f, x, y):return sp.sum((f(x) - y)**2)
In [15]: print (error(f1, x, y))
317389767.34

Chúng ta sẽ biểu diễn dữ liệu đã quan sát và mô hình đường thẳng vừa tìm được.

Đầu tiên, chúng ta sẽ biểu diễn dữ liệu đã quan sát dưới dạng đồ thị không gian hai chiều (xem lại bài viết số 2).

Tiếp theo, chúng ta thực hiện vẽ đường thẳng của mô hình.

In [25]: fx = sp.linspace(0, x[-1], 1000) # tao cac gia tri tren truc X
In [26]: plt.plot(fx, f1(fx), linewidth=4)
Out[26]: [<matplotlib.lines.Line2D at 0x66d7890>]
In [27]: plt.legend(["Bac = %i" % f1.order], loc = "upper left")
Out[27]: <matplotlib.legend.Legend at 0x66d7eb0>

Kết quả:



Quan sát đường thẳng trên đồ thị, bạn sẽ nhận thấy bước sang tuần thứ năm thì mô hình đã thể hiện sai rất nhiều so với quan sát thực tế. Ngoài ra, với sai số xấp xỉ là 317389767,34, bạn cũng không biết là nó có phải là một mô hình phù hợp nhất hay không?

Giá trị tuyệt đối của sai số rất ít khi được sử dụng riêng biệt. Tuy nhiên, khi thực hiện so sánh giữa hai mô hình, thì bạn có thể sử dụng nó để đánh giá xem mô hình nào phù hợp hơn.

Mặc dù chúng ta sẽ không sử dụng mô hình đường thẳng này để dự đoán, nhưng nó sẽ là mô hình xuất phát, làm cơ sở để chúng ta tìm các mô hình khác phù hợp hơn. Các mô hình chúng ta tìm ra sau này sẽ được so sánh với mô hình xuất phát.

 

Tăng thêm độ phức tạp của mô hình


Chúng ta sẽ chọn một mô hình khác phức tạp hơn, đó là một đa thức bậc 2. Chúng ta sẽ xem đa thức bậc 2 này có mô phỏng dữ liệu tốt hơn hay không.

Hàm số bậc 2 có dạng: y = ax**2 + bx + c.

Rút trích hàm số bậc 2 từ dữ liệu quan sát:

In [28]: f2p = sp.polyfit(x, y, 2)

Xuất kết quả:

In [29]: print(f2p)
[ 1.05322215e-02       -5.26545650e+00      1.97476082e+03]

Vậy hàm số bậc 2 rút trích được là:

y  =  f(x) = 0,0105322215*x**2  - 5.26545650*x + 1974,76082

Sai số xấp xỉ của hàm số:

In [30]: f2=sp.poly1d(f2p)
In [31]: print(error(f2, x, y))
179983507.878

Vẽ đồ thị của hàm số bậc 2 (đường nét đứt, màu đỏ):

Để đỡ phải gõ lại các dòng lệnh, bạn có thể viết riêng đoạn mã vẽ đồ thị. Để thực hiện, bạn chạy phần mềm Enthought Canopy, chọn Editor, chọn Create a new file, nhập vào đoạn mã cần thực thi, lưu lại, bấm Run\Run file để xem kết quả.

import scipy as sp
import matplotlib.pyplot as plt

# Nhap du lieu tu tap tin
data = sp.genfromtxt("D:\Liv\Re\Ebooks\ML\web_traffic.tsv", delimiter="\t")

# Tao hai vector du lieu
x = data[:,0]
y = data[:,1]

# Loai bo cac gia tri NAN
x = x[~sp.isnan(y)]
y = y[~sp.isnan(y)]

# tao cac gia tri tren truc X cho cac mo hinh
fx = sp.linspace(0, x[-1], 1000)

# Chuan bi ve duong 1
fp1 = sp.polyfit(x, y, 1)
f1 = sp.poly1d(fp1)
plt.plot(fx, f1(fx), label = 'Bac = 1', linewidth=4)

# Chuan bi ve duong 2
fp2 = sp.polyfit(x, y, 2)
f2 = sp.poly1d(fp2)
plt.plot(fx, f2(fx), 'r--', label = 'Bac = 2', linewidth=4)

# Hien thi ket qua
plt.scatter(x,y)
plt.title("Luu luong truy cap web")
plt.xlabel("Thoi gian")
plt.ylabel("Truy cap/gio")
plt.xticks([w*7*24 for w in range(5)],['Tuan %i'%(w+1) for w in range(5)])
plt.autoscale(tight=True)
plt.grid()
plt.legend(loc='upper left')
plt.show()
Kết quả:




--------------------------
Tham khảo (lược dịch)
Willi Richert, Luis Pedro Coelho, Building Machine Learning Systems with Python, PACKT publishing, 2013
--------------------------
Cập nhật (2015/2/3)
--------------------------
Đọc thêm
Hoc may voi Python (4)