Thứ Tư, 3 tháng 6, 2015

Cho thuê chỗ đặt máy chủ


Chỗ đặt máy chủ là một vấn đề tất yếu khi quý khách đã sử dụng máy chủ chuyên dụng dùng riêng và cần chỗ đặt để đảm bảo máy chủ của các bạn được hoạt động tốt nhất trong điều kiện nhiệt độ phù hợp nhất. 

1. Giới thiệu dịch vụ cho thuê chỗ đặt máy chủ

- Dịch vụ cho thuê chỗ đặt máy chủ là dịch vụ mà khi quý khách đã trang bị cho mình máy chủ server chuyên dụng rồi và đang có nhu cầu tìm chỗ đặt máy chủ

- Dịch vụ thuê chỗ đặt máy chủ của chúng tôi là dịch vụ riêng biệt với dịch vụ thuê máy chủ, nếu quý khách chưa có máy chủ thì hoàn toàn có thể thuê máy chủ có sẵn của chúng tôi.




- Chỗ đặt máy chủ của chúng tôi đảm bảo đạt chuẩn quốc tế cả về chất lượng và tiên tiến nhất.

- Khi sử dụng dịch vụ chỗ đặt máy chủ các bạn sẽ được cấp một IP tính và được bảo mật bởi các hệ thống Firewall, Anti Virus, Anti Spam chuyên nghiệp.

- Các bạn có thể dễ dàng nâng cấp cấu hình máy chủ theo nhu cầu sử dụng (CPU, RAM, HDD).

- Băng thông, Lưu lượng chuyển tải tùy chọn.

- Máy chủ đặt tại các nhà cung cấp uy tín VDC, FPT, Viettel, CMC, VTC đảm bảo đường truyền truy cập nhanh và ổn định.

- Khách hàng có toàn quyền sử dụng và quản lý máy chủ của mình.

- Quản trị từ xa và cài đặt các phần mềm, tiện ích phù hợp theo nhu cầu của doanh nghiệp mà không bị giới hạn về tài nguyên của máy nhờ vào khả năng linh hoạt trong việc nâng cấp phần cứng cũng như phần mềm.

2. Ưu điểm của dịch vụ cho thuê chỗ đặt máy chủ 


- Vị trí chỗ đặt máy chủ đảm bảo luôn hoạt động ổn định, liên tục nhờ các hệ thống điều hòa, UPS, máy phát điện dự phòng và chống sét, chống cháy.

- Sẵn sàng sử dụng và kết nối đến các dịch vụ và hệ thống chuyên nghiệp khác  như: dịch vụ truyền số liệu, hệ thống Voice Gateway, SMS Gateway,…

- Thuê chỗ đặt server sẽ giúp tiết kiệm chi phí đầu tư ban đầu và chi phí vận hành.

Thứ Hai, 1 tháng 6, 2015

Giải pháp thiết lập và cấu hình một Hotspot


Nếu bạn đang trong tiến trình thiết lập một hotspot không dây hoặc đã cung cấp kết nối Internet không dây rồi thì bài viết này vẫn dành cho bạn. Trong bài này chúng tôi sẽ giới thiệu cho các bạn một số giải pháp hotspot khác, hầu hết trong số chúng đều miễn phí.

Bên cạnh đó chúng tôi cũng giới thiệu cho các bạn cách thiết lập sao cho một mạng public và private được an toàn và cách tiết kiệm thời gian và chi phí.




Bảo vệ mạng Private của bạn

Bạn cần bảo đảm luôn bảo vệ đúng cách nếu muốn duy trì một mạng riêng cho mình. Không bao giờ cho phép bất cứ khách ghé thăm nào sử dụng mạng của bạn. Mạng riêng của bạn cần được bảo vệ với mã hóa WPA hoặc WPA2, hoạt động ở chế độ dễ dàng thiết lập PSK hoặc chế độ enterprise có yêu cầu máy chủ RADIUS.

Lưu ý: Không bao giờ cung cấp cho khách ghé thăm khóa mã hóa hoặc mật khẩu.

Ngoài ra, chắc chắn bạn cũng muốn có một giải pháp hotspot tách biệt lưu lượng private và public. Cho ví dụ, một số gateway có hỗ trợ các mạng private, cung cấp một cổng để cung cấp một kết nối trực tiếp đến Internet và hoàn toàn tách biệt với hotspot. Bằng cách đó, người dùng không thể phát hiện lưu lượng mạng hoặc truy cập trái phép vào mạng chia sẻ.

Nếu đi kèm với gateway của bạn là một phần mềm thay thế, khi đó bạn nên xem xét đến việc sử dụng các VLAN.

Bảo vệ người dùng của bạn

Trên các mạng thông thường, chẳng hạn như mạng private của bạn, bạn sẽ muốn có được khả năng chia sẻ file giữa người dùng với nhau. Mặc dù vậy, trên một hotspot bạn chắc chắn không muốn cung cấp sự truy cập như vậy đối với các file và máy tính của mình cho người lạ. Chính vì vậy, nên khóa chặn sự truyền thông của người dùng trên hotspot của bạn.

Nếu bạn dự định sẽ mua một hotspot gateway, lưu lượng user-to-user chắc chắn sẽ bị khóa. Mặc dù vậy, nếu bạn cấu hình gateway cho riêng mình, chẳng hạn như với một firmware thay thế, khi đó bạn cần bảo đảm kích hoạt tính năng cách ly AP hoặc layer-2.

Để có phạm vi bao phủ rộng, xem xét đến topo mạng Mesh

Nếu bạn muốn cung cấp kết nối Internet không dây trong một vùng rộng mà chắc chắn cần đến nhiều điểm truy cập (AP), lúc này bạn nên xem xét đến việc cài đặt một mạng mesh không dây.

Các AP sẽ được gọi là các nút mesh, không giống như các mạng Wi-Fi truyền thống, bạn không cần phải chạy dây đến router mạng hoặc switch.

Tối thiểu phải có một nút mesh được kết nối với network/Internet; chúng được gọi làgateway nodes. Các nút khác sẽ nhận kết nối thông qua sóng vô tuyến, lưu lượng sẽ lan truyền từ nút này sang nút khác cho tới khi đến được gateway hoặc nút đích. Tuyến đến hoặc đi khỏi một gateway có thẻ thay đổi; nó sẽ tự động chọn đường đi tốt nhất.

Việc thiếtl ập một mạng mesh sẽ tốn ít thời gian và chi phí vì bạn không phải chạy cáp. Đây là một cách làm tuyệt vời với những nơi có nhiều thay đổi có thể ảnh hưởng đến môi trường truyền lan sóng vô tuyến vì các nút mesh có các tính năng dự phòng cao. Để có thể tham khảo thêm về các giải pháp về mesh, bạn có thể xem tại đây.

Đặt một Hotspot Gateway tại điểm trung tâm

Nhớ rằng, Wi-Fi không thể truyền tín hiệu trên một quãng đường dài và các tin hiệu sẽ bị suy giảm khá nhanh bởi các vật chắn (chẳng hạn như các bức tường hoặc bàn ghế). Chính vì vậy bạn nên đặt một hotspot gateway hoặc router gần với vùng cần bao phủ nếu có thể, tốt nhất là nên chọn vị trí trung tâm.

Không nên treo nó tại một điểm nào đó ở cuối phòng hoặc văn phòng. Nếu cần, nên sử dụng một cáp mới hoặc một khe cắm điện thoại đã được cài đặt ở một vị trí tốt hơn.

Sử dụng nhận dạng tên mạng SSID

Không giống như mạng private của bạn, nếu bạn muốn mọi người biết nơi tín hiệu Wi-Fi đang đến từ đâ. Khi đó hãy thay đổi tên mạng mặc định (SSID) thành một tên nào đó để mọi người dễ nhận ra (cho ví dụ, Internet miễn phí tại Sunset Hotel).

Khám phá phần mềm thay thế cho Hotspot: CoovaAP

Nếu bạn có một router không dây được hỗ trợ tính năng này, khi đó bạn có thể biến nó thành một hotspot gateway bằng cách sử upload phần mềm CoovaAP miễn phí. Tiện ích miễn phí này sẽ cung cấp một cấu hình hotspot dễ dàng với tính năng khóa cổng để bạn có thể yêu cầu người dùng đăng nhập, hiển thị một tuyên bố hoặc một thỏa thuận trong sử dụng, hay yêu cầu trả phí.

Ngoài ra CoovaAP cũng cung cấp cách thức điều khiển băng thông để bạn có thể điều khiển lượng Internet mà khách sử dụng. Thêm vào đó bạn có thể sử dụng các dịch vụ quản lý mạng phải trả hoặc miễn phí của chúng.

Sử dụng một phần mềm Firmware phổ biến

Các dự án firmware sử dụng phổ biến như DD-WRT và Sveasoft cũng có các tính năng hotspot. Cho ví dụ, DD-WRT hỗ trợ Chillispot, NoCatSplash và Sputnik. Các phần mềm firmware thay thế cũng cung cấp rất nhiều tính năng nâng cao cần thiết, chẳng hạn như công cụ thống kê vị trí để xem chi tiết trên các mạng gần đó, các thiết lập QoS để quản lý lưu lượng, LAN ảo và đa SSID để tách biệt truy cập private và public.

Xem xét việc sử dụng dịch vụ Sputnik

Dịch vụ SputnikNet sẽ rất tuyệt vời nếu bạn có nhiều vị trí hotspot và SputnikNet Expresscho nhiều ứng dụng cơ bản. Cả hai dịch vụ này đều cho phép bạn tùy chỉnh trang chào đón, chạy các AD nội bộ và xem lại các báo cáo và biểu đồ về hiệu suất sử dụng.

Thêm vào đó chúng còn cung cấp sự thẩm định cho thiết bị, cho phép các thiết bị non-browser (chẳng hạn như các điện thoại Wi-Fi và PSP) có thẻ truy cập nó, và việc khóa các mạng riêng để tách biệt lưu lượng. Dịch vụ premium còn cung cấp nhiều tính năng nâng cao về điều khiển, quản lý và nhiều tùy chọn triển khai khác.

Mã hóa WPA/WPA2 Enterprise và thẩm định 802.1X

Nếu bạn quan tâm đến vấn đề bảo mật, chắc chắn bạn sẽ muốn sử dụng chế độ enterprise cho mã hóa WPA/WPA2.

Không giống như chế độ PSK (khóa tiền chia sẻ) của WPA/WPA2, người dùng không hề biết khóa mã hóa thực sự. Họ sẽ đăng nhập vào mạng bằng username và password, như được yêu cầu bởi thẩm định 802.1X/PEAP.

Nếu quan tâm, bạn có thể kiểm tra dịch vụ CoovaAAA miễn phí.

ZoneCD nếu có máy tính cũ không sử dụng đến

Nếu có một máy tính dư thừa, bạn có thể biến nó thành một hotspot gateway. ZoneCD là một live CD cho Linux có thể chạy trên các máy tính và làm việc với bất cứ router mạng không dây hoặc AP nào nhằm cung cấp truy cập public và private.

MegaWan và Kết Nối Đa Điểm


Hiện nay Mega wan của VTN đang được dùng rất rộng rãi, có rất nhiều bạn thắc mắc về vấn đề đường truyền và chất lượng dịch vụ. Bài viết sau được tổng hợp chung từ nhiều nguồn thông tin cho chúng ta một cái nhìn bao quát nhất.



1. Mega Wan có dùng MPLS ? 
2. Hướng dẫn của VTN có ghi: dùng modem VHDSL -> vậy thì vẫn chạy khúc Local loop = công nghệ xHDSL. Hoặc có thể dùng Cisco Router 878 ? 
3. Đầu center : dùng 1 cổng kết nối dạng HUB giống như HUB&SPOKE của Fr, vậy có share bandwidth hay không : tức là mình thuê đầu HUB 512KB nhưng có thể mỗi đầu SPOKE 256KB( giả sử có 4 SPOKE) ? 
4. Không cần khai báo IP LAN, nhưng phải tuân theo IP WAN (gần giống ADSL) : có phải là VTN triển khai VPN dùm cho mình luôn không ? 
5. Ngoài Modem VHDSL có thể kết nối MEGAWAN vô cổng Ethernet luôn được không? 
6. Có thể xem MPLS/VPN L2 như là leased line truyền thống (point to point) được không? 
7. Về mặt chất lượng dịch vụ thì giữa MPLS/VPN L3 và leased line point to point, cái nào tốt hơn cái nào ? 
8. Mình thấy hiện nay có cả VDC và VTN (đều là con của VPNT) có triển khai MPLS-VPN. Tuy nhiên giá cả cũng như chi phí hàng tháng rất khác nhau (VDC gấp 2 lần VTN) mặc dù 2 bên đều cam kết QoS. Không biết mỗi nhà cung cấp có ưu điểm gì? Mình đang triển khai nhưng không biết nên chọn nhà cung cấp dịch vụ nào cho phù hợp. Mình đang phân vân giữa 2 loại này để triển khai cho công ty gồm 1 trụ sở chính và 2 chi nhánh, trong đó trụ sở chính và 1 chi nhánh thì cùng 1 tỉnh, chi nhánh còn lại thì khác tỉnh. 


Trả lời: 

VTN cung cấp dịch vụ Megawan cho khách hàng từ lớp 1 đến lớp 3. 
Hoạt động của dịch vụ Megawan dựa trên nên MPLS là chủ yếu. Do đó nếu cũng cùng tốc độ kết nối khi so sánh với dịch vụ Frame Relay, thì Megawan cho ta chi phí rẻ hơn nhiều. Việc hoạt động trên nền MPLS nằm ở phần core của nhà cung cấp dịch vụ, do đó ở phía khách hàng, khi thuê bao chúng ta không cần phải quan tâm đến đến mảng này. 

Khi thực hiện kết nối từ khách hàng đến ISP ( Internet Service Provider ), mình thường có 2 tùy chọn, có thể dùng Modem (loại modem do nhà cung cấp dịch vụ chỉ định) hoặc dùng trực tiếp Router có cổng shdsl (chuẩn G.SHDSL), tất nhiên là router và NTU phải do mình tự mua và tự configure. 

Nếu dùng cách kết nối modem, thì phần cấu hình modem sẽ do nhà cung cấp dịch vụ ISP phụ trách, không cần quan tâm cấu hình chỉ cần kết nối Modem vào mạng Lan. Tuy nhiên cách này ít ai dùng vì chúng ta không được phép can thiệp vào modem của ISP. Mỗi lần có sự cố là phải gọi ISP, không chủ động được. 

Phần lớn còn lại thì dùng cách kết nối thẳng vào Router có cổng shdsl. Đối với chi nhánh nhỏ thì thường dùng con cisco 878 có cổng shdsl fix luôn trên Router. Còn nếu chi nhánh lớn hơn, mình có thể dùng con 1800 hoặc 2800 dạng module, mua card shdsl gắn vào. Khi thực hiện các kết nối bằng Router của mình thì thông thường nhà cung cấp dịch vụ ISP sẽ yêu cầu chúng ta cung cấp net Lan bên trong của chúng ta cho họ, để họ thực hiện định tuyến ( Route ) theo yêu cầu của mình từ chi nhánh này qua chi nhánh kia. Nhưng cách này ít ai dùng, vì đa phần khách hàng không thích cung cấp thông tin về net Lan bên trong của họ vì lý do bảo mật nào đó. …Như vậy ta có thể thương lượng với ISP để họ cấp cho chúng ta một cặp địa chỉ đấu nối IP link của cả hai đầu kết nối từ Router của mình đến Router biên của ISP. 

Như vậy cứ mỗi chi nhánh sẽ có 1 cặp ip link (IPWan). Nhiệm vụ của ISP là định tuyến sau cho Net link của 2 chi nhánh thấy nhau. Nhiệm vụ của chúng ta là phải thiết lập Routing để cho 2 net Lan của 2 chi nhánh thấy nhau, sau đó thì có thể chạy bất kì dịch vụ nào qua đường kết nối này. Thông thường, sau khi đã kết nối thông thì chúng ta sẽ tiếp tục cấu hình VPN để bảo mật đường truyền hơn nữa. Như vậy IP link giao tiếp từ Router của chúng ta với router của ISP là IP Public, còn Net Lan trong chi nhánh là Private IP. 

Về kỹ thuật tạo tunnel VPN dùng trong trường hợp này, chúng ta có nhiều tùy chọn như: GRE, IPSec, hoặc GRE over IPSec ). Khi chọn kỹ thuật VPN, chúng ta phải lưu ý về loại giao thức định tuyến chạy giữa 2 chi nhánh với nhau. Nếu chạy giao thức định tuyến động, chúng ta phải sử dụng GRE hoặc GRE over IPSec. Vì chỉ có GRE tunnel mới hỗ trợ các loại IP Multicast traffic. 

Khi cấu hình Router để kết nối với Router, chúng ta phải liên hệ với VTN để họ cung cấp cho một số thông tin để cấu hình trên interface như: pvc, encapsulation... 

NAT và PAT

Network Address Translation: NAT là kỹ thuật thay đổi các địa chỉ mạng (Network Address) trong một gói tin (packet) để gây ảnh hưởng trong quá trình định hướng đi của packet cho một mục đích cụ thể. Địa chỉ mạng ở đây muốn nói đến địa chỉ IP WAN (Internet Protocol) ở layer 3, ngoài ra còn có thể thay đổi số port ở layer 4 theo mô hình phân lớp OSI. Bên cạnh đó địa chỉ mạng còn được phân biệt địa chỉ nguồn (source) và địa chỉ đích (destination). Tùy theo mục đích dùng NAT mà ta thay đổi một số hoặc tất cả các loại địa chỉ trên, trên cùng một packet. 




Đây là loại hình NAT phổ biến nhất, ta còn hay gọi là Des NAT, hay NAT Inbound. NAT theo kiểu này chỉ thay đổi địa chỉ IP đích của gói tin mà không đụng đến các thành phần khác. Đây cũng là kiểu được sử dụng mặc định trong các ROUTER ( thiết bị định tuyến nói chung ) theo cách sau: 

• Khi client gửi packet request i tới ROUTER, i sẽ có dest IP là Virtual IP của ROUTER (141.149.65.3), source IP là IP của client (188.1.1.10). Do ROUTER đại diện cho tất cả những server thực đằng sau, nên IP của ROUTER cũng là địa chỉ đại diện, client sẽ chỉ liên hệ với ROUTER mà không biết được địa chỉ thật của các server là gì ( trước khi biết VIP của router nó phải nhờ DNS server dịch từ tên miền sang địa chỉ IP ). Địa chỉ IP đại diện của ROUTER còn là địa chỉ IP ảo (Virtual IP - VIP) 
• ROUTER sẽ gửi repquest i đến server để xử lý nên nó thực hiện thay dest IP trong i thành IP của server (10.10.10.20), source IP vẫn giữ nguyên (188.1.1.10). Thao tác này gọi là Destination NAT ( dịch chuyển IP đích ). 
• Nhờ có dest IP là IP của server nên request i sẽ được định tuyến tiếp đến server xử lý. 
• Khi server trả lời, packet reply sẽ đi qua lại ROUTER. Tại đây packet được un-NAT, nghĩa là thay lại địa chỉ IP của server (lúc này trở thành source IP) bằng VIP của ROUTER. 
Reverse NAT 

Trong cơ chế của ROUTER, các server thật chỉ được cấp địa chỉ IP private (vì nhiều lý do, trong đó có sự hạn chế về số lượng IP public và tính bảo mật, ngoại trừ một số trường hợp đặc biệt cho server kết nối thẳng IP public), nghĩa là không thể đi ra Internet được. ROUTER được publish ra Internet để nhận request cho các server bên trong, nên nó thường có một, hoặc nhiều địa chỉ IP public để các client kết nối từ bên ngoài vào, và địa chỉ này cũng là VIP. Khi client muốn sử dụng dịch vụ của server bên trong, ROUTER thực hiện việc chuyển đổi địa chỉ dest IP từ public sang private để đến được server, đó là kiểu NAT ta xét ở trên. Trong trường hợp ngược lại, khi server bên trong muốn khởi tạo kết nối với bên ngoài Internet, ROUTER phải thực hiện việc chuyển địa chỉ source IP của packet đi ra từ private sang public để có thể lưu thông trên Internet. Do cách hoạt động như vậy nên kiểu NAT này còn được gọi là SourceNAT, hay NAT outbound.

Port-Address Translation (PAT) 

Hai trường hợp trên ta đã xem xét hai kiểu thay đổi địa chỉ IP, trường hợp thứ ba này còn được gọi là “NAT port”, nghĩa là số port TCP/UDP ở trong packet sẽ bị thay đổi (ở đây ta không xét đến các protocol khác cũng có dùng port). PAT cũng là một phần tất yếu trong các chức năng chính của ROUTER. Cách hoạt động của nó cũng rất đơn giản: Khi ta liên kết (bind) port 80 của VIP trên ROUTER đến port 1000 trên server thật, load balancer sẽ thực hiện việc chuyển đổi và đẩy toàn bộ yêu cầu port 80 (dest port) đến port 1000 trên server. 

Những lợi ích khi ta thực hiện PAT: 

- Bảo mật là ích lợi đầu tiên mà ta thấy ngay. Bằng cách không mở những cổng mặc định trên server, ta có thể gây khó khăn hơn cho việc tấn công ác ý. Chẳng hạn, ta có thể chạy một Web server trên port 4000, và liên kết port 80 của VIP trên ROUTER đến port 4000 của server thật. Lúc bấy giờ, kẻ tấn công không thể khai thác trực tiếp lên port 80 của server thật được, vì nó không được mở. 
- Khả năng co dãn (scalability) PAT cho phép ta chạy cùng một ứng dụng trên nhiều port. Tùy theo cách thiết kế ứng dụng, có thể việc chạy nhiều bản sao của nó sẽ làm tăng hiệu suất phục vụ lên. Chẳng hạn ta có thể chạy máy chủ web IIS trên các port 80, 81, 82 của mỗi server thật. Sau đó chỉ cần liên kết port 80 của VIP với mỗi port chạy IIS của server thật. Load balancer sẽ phân bổ lưu thông không chỉ cho các server mà còn giữa các port trên từng server. 
- Khả năng quản trị (manageability) chẳng hạn khi host nhiều website trên một bộ các server thật, ta có thể chỉ cần dùng một VIP để đại diện cho tất cả các domain của các website. Lúc này ROUTER sẽ nhận tất cả các request đến port 80 ở cùng một VIP. Web server của ta có thể chạy mỗi domain trên một port khác nhau, chẳng hạn www.abc.com trên port 81, www.xyz.com trên port 82. ROUTER có thể gửi lưu thông đến port phù hợp dựa trên domain trong URL của mỗi HTTP request. 

Full NAT 

Như vậy ta đã xét kỹ thuật NAT thay đổi lần lượt địa chỉ đích, địa chỉ nguồn, rồi thay đổi port khi định tuyến. Mỗi sự thay đổi là một loại hình NAT có ứng dụng trong từng trường hợp riêng. Kết hợp các kiểu thay đổi này lại, ta có một kiểu NAT khác phức tạp hơn là Full NAT. Kiểu NAT này có tên gọi như vậy vì nó bao gồm các thay đổi sau đây trên gói tin request: 
• Địa chỉ IP nguồn (source IP) 
• Địa chỉ IP đích (dest IP) 
• Port nguồn (source port) 
Lưu ý source port ở đây là port của client, còn dest port là port được request trên server, chẳng hạn port 80 ở ví dụ trên. 

Kiểu NAT này khác với những kiểu NAT trên ở chỗ, packet từ server reply có thể bỏ qua ROUTER mà đi thẳng đến client ở ngoài Internet. Vấn đề ở chỗ địa chỉ IP của server vẫn là private IP, do đó đương nhiên packet reply mang địa chỉ source là IP nội bộ sẽ chẳng bao giờ đến được client. 

Vậy thì bằng cách nào để buộc server phải trả lời thông qua ROUTER để được NAT địa chỉ IP đi ra Internet? Cách đơn giản nhất là ta có thể khai báo cho ROUTER là default gateway của các server. Nhưng cách này yêu cầu ROUTER phải ở cùng subnet với các server (cùng Layer 2 broadcast domain). Nếu không thể nằm cùng subnet thì sao? Đây là chỗ Full NAT khác biệt 

FULL NAT được sử dụng. 

Khi được thiết lập để thực hiện Full NAT, ROUTER sẽ thay source IP của tất cả các request packet bằng một địa chỉ được khai báo trên ROUTER, xem như là source IP, rồi thay dest IP (lúc này đang là VIP) thành IP của server (10.10.10.20), trước khi gửi đến server . Source IP này có thể giống hoặc khác VIP, tùy vào từng sản phẩm ROUTER. Như vậy tương tự như proxy, lúc này server thật sẽ xem ROUTER như là client yêu cầu mình, và không quan tâm đến client thực sự nữa. Vì thế server sẽ reply lại cho ROUTER và ROUTER sẽ đổi lại dest IP thành IP của client thực sự (188.1.1.100) để gửi đi. 

Như vậy source port được thay đổi ở chỗ nào? Mỗi lần thay đổi một source IP của client thành source IP của ROUTER, gọi là một session, thì ROUTER thực hiện lưu lại những thông tin của client trong session đó bằng cách đổi source port trong cùng packet (lúc này đang là source port của client). 

Source port lúc này có ý nghĩa như là một session ID không hơn không kém. Khi server reply về cho ROUTER, source port cũng được gửi trả về theo packet reply. Dựa vào source port này, ROUTER xác định được session của client trong bảng lưu để thay lại source IP, source port của client như cũ. 

Ưu điểm của kiểu NAT này là cho phép bạn thực hiện việc thay đổi địa chỉ thông qua ROUTER trên mọi topology mạng. Nhược điểm là không lấy được các thông tin về IP, port từ phía client. Những ứng dụng như Web có sử dụng thông tin từ source IP của client thì không nên dùng mô hình này. Đa số các sản phẩm ROUTER đều cung cấp chức năng log và report source IP của các request. 

Enhanced NAT 

Những kỹ thuật NAT vừa trình bày ở trên đều xoay quanh việc thay đổi địa chỉ IP, cũng như port trong packet header. Tuy nhiên có những protocol đặc biệt chứa thông tin địa chỉ hay port nhúng trong packet payload, cũng cần phải được thay đổi cùng với packet header. 

Điều này đòi hỏi ROUTER phải hiểu biết theo từng protocol cụ thể. Khái niệm enhanced NAT nói đến kiểu NAT phức tạp được thực hiện với những hiểu biết theo từng protocol cụ thể để làm cho những protocol đó hoạt động được với việc định tuyến gói tin. 

Trong số các protocol đặc biệt đó, thông dụng nhất là các protocol streaming media (ví dụ RTSP - Real Time Streaming Protocol). Đây cũng là các protocol sử dụng cân bằng tải phổ biến nhất, vì chúng cực kì ngốn tài nguyên mạng và tính toán khi phải phục vụ đồng thời cho hàng trăm đến hàng ngàn người sử dụng. 

Các protocol streaming thường gồm có hai kết nối, một kết nối điều khiển xây dựng trên TCP và một kết nối dữ liệu dựa trên UDP. Để khởi đầu, client khởi tạo một kênh điều khiển đến một well-known port trên server. Client và server sẽ thoả thuận các điều khoản cho kênh điều khiển. Sự thoả thuận gồm có IP của server và số port của server mà client sẽ gửi dữ liệu đến trên kết nối dữ liệu. 

Nếu các server có địa chỉ IP private, ROUTER sẽ thực hiện Destination NAT cho kết nối điều khiển. Nhưng đồng thời ROUTER cũng phải xem các thông tin thoả thuận và thay đổi mọi thông tin về địa chỉ IP hay port mà server và client trao đổi sao cho client sẽ gửi dữ liệu đến VIP public chứ không phải IP private của server (những thông tin này nằm trong payload của packet). 

Hơn nữa, dest port được chọn trong quá trình thoả thuận lại không biết trước được nên phải xử lý request ngay cả khi port chưa được liên kết đến bất kỳ server nào. 

Tuy nhiên, nhiều doanh nghiệp lại có những chính sách bảo mật trên tường lửa làm cho những kết nối dữ liệu trên nền tảng UDP có thể không thành công. Do đó nhiều hệ thống streaming media cho phép stream trên nền HTTP, nghĩa là toàn bộ dòng dữ liệu sẽ được gửi đi bằng kết nối được thiết lập bởi giao tiếp HTTP. Điều này làm cho việc NAT trở nên nhẹ nhàng hơn. 

Direct Server Return (DSR) 

Xét lại 2 kiểu NAT trên, ta xem hai cách xử lý cùng với các ưu nhược điểm của chúng là gán default gateway hay dùng kỹ thuật Full NAT để ép các reply của server không phải đi qua ROUTER. 

Nhưng trường hợp ta muốn server trả lời trực tiếp cho client mà không thông qua ROUTER thì sao? Đây không phải là câu hỏi vô lý, vì trong trường hợp năng lực xử lý của ROUTER bị giới hạn, thì việc tách dòng lưu thông reply đi trực tiếp mà không qua ROUTER sẽ giúp ROUTER tập trung vào xử lý các lưu thông request hiệu quả hơn, tránh tắc nghẽn, nâng cao hiệu suất. 

Nhưng với địa chỉ IP private, các server làm sao trả lời trực tiếp qua Internet đến client được? Chỉ với một chút phù phép xoay quanh các địa chỉ IP là vấn đề sẽ được giải quyết: khi được thiết lập để thực hiện DSR, ROUTER không chuyển dest IP thành IP của server mà vẫn giữ nguyên là VIP (public IP). ROUTER chỉ đổi dest MAC thành MAC của server để packet có thể đến được server. Như vậy giới hạn của DSR là ROUTER và các server phải nằm cùng subnet. 

Vấn đề còn lại là làm sao để khi server nhận request packet từ ROUTER chuyển đến sẽ không từ chối, vì dest IP không phải là IP của server, mà là VIP! Một cách đơn giản, ta cấu hình để VIP là địa chỉ của loopback interface trên mỗi server. ROUTER dùng cách này vì lợi dụng những tính chất thú vị sau đây của loopback interface: 

• Có thể gán bất kỳ địa chỉ IP nào, không bắt buộc phải bắt đầu bằng 127. 
• Vì loopback interface không phải là một thiết bị thật, nó không có địa chỉ MAC, nên hệ thống sẽ không trả lời cho các request ARP. Do đó sẽ không có hệ thống bên ngoài nào biết được địa chỉ IP của loop back interface. Tuy nhiên, hệ thống vẫn nhận request đến IP của loop back interface và trả lời như là các interface khác. 
Ta có thể thiết lập một địa chỉ IP public cho loop back interface trên Linux như sau: 
ifconfig lo 141.149.65.3 netmask 255.255.255.0 up. 
Như vậy, bằng một chút thủ thuật với các địa chỉ, server thật không cần địa chỉ IP public vẫn có thể nhận request và trả lời trực tiếp cho client. 

DSR rất hữu ích cho những ứng dụng tốn băng thông như FTP, streaming media, khi mà kích thước packet reply là rất lớn so với kích thước packet request. Kỹ thuật này cũng được ứng dụng cho những protocol đòi hỏi phức tạp khi thực hiện NAT hay không được ROUTER hỗ trợ. 

Chẳng hạn những giao thức streaming media như trong phần Enhanced NAT có đề cập, thì ta có thể dùng DSR thay vì NAT. Người ta cũng cân nhắc DSR khi triển khai trên mô hình mạng, khi mà lưu thông reply từ server không đảm bảo là sẽ đi đúng đích. 

Kết luận 

NAT trong ROUTER rất đa dạng, tùy thuộc vào từng tình huống mà ta áp dụng. Càng đi sâu, ta càng thấy cái hay trong việc xử lý thông tin của các packet, những đối tượng luận lý để giải quyết các vấn đề vật lý thú vị như thế nào. Nắm vững các kỹ thuật NAT giúp ta có thể triển khai các hệ thống định tuyến, cân bằng tải một cách an toàn và hiệu quả nhất 

Tìm hiểu mạng riêng ảo VPN


Giải pháp VPN VIRTUAL PRIVATE NETWORK) được thiết kế cho những tổ chức có xu hướng tăng cường thông tin từ xa vì địa bàn hoạt động rộng (trên toàn quốc hay toàn cầu). Tài nguyên ở trung tâm có thể kết nối đến từ nhiều nguồn nên tiết kiệm được được chi phí và thời gian.

Một mạng VPN điển hình bao gồm mạng LAN chính tại trụ sở (Văn phòng chính), các mạng LAN khác tại những văn phòng từ xa, các điểm kết nối (như 'Văn phòng' tại gia) hoặc người sử dụng (Nhân viên di động) truy cập đến từ bên ngoài.



Khái niệm

Về cơ bản, VPN là một mạng riêng sử dụng hệ thống mạng công cộng (thường là Internet) để kết nối các địa điểm hoặc người sử dụng từ xa với một mạng LAN ở trụ sở trung tâm. Thay vì dùng kết nối thật khá phức tạp như đường dây thuê bao số, VPN tạo ra các liên kết ảo được truyền qua Internet giữa mạng riêng của một tổ chức với địa điểm hoặc người sử dụng ở xa.

Các loại VPN

Có hai loại phổ biến hiện nay là VPN truy cập từ xa (Remote-Access ) và VPN điểm-nối-điểm (site-to-site)

VPN truy cập từ xa còn được gọi là mạng Dial-up riêng ảo (VPDN), là một kết nối người dùng-đến-LAN, thường là nhu cầu của một tổ chức có nhiều nhân viên cần liên hệ với mạng riêng của mình từ rất nhiều địa điểm ở xa. Ví dụ như công ty muốn thiết lập một VPN lớn phải cần đến một nhà cung cấp dịch vụ doanh nghiệp (ESP). ESP này tạo ra một máy chủ truy cập mạng (NAS) và cung cấp cho những người sử dụng từ xa một phần mềm máy khách cho máy tính của họ. Sau đó, người sử dụng có thể gọi một số miễn phí để liên hệ với NAS và dùng phần mềm VPN máy khách để truy cập vào mạng riêng của công ty. Loại VPN này cho phép các kết nối an toàn, có mật mã.

Hình minh họa cho thấy kết nối giữa Văn phòng chính và "Văn phòng" tại gia hoặc nhân viên di động là loại VPN truy cập từ xa).

VPN điểm-nối-điểm là việc sử dụng mật mã dành cho nhiều người để kết nối nhiều điểm cố định với nhau thông qua một mạng công cộng như Internet. Loại này có thể dựa trên Intranet hoặc Extranet. Loại dựa trên Intranet: Nếu một công ty có vài địa điểm từ xa muốn tham gia vào một mạng riêng duy nhất, họ có thể tạo ra một VPN intranet (VPN nội bộ) để nối LAN với LAN. Loại dựa trên Extranet: Khi một công ty có mối quan hệ mật thiết với một công ty khác (ví dụ như đối tác cung cấp, khách hàng...), họ có thể xây dựng một VPN extranet (VPN mở rộng) kết nối LAN với LAN để nhiều tổ chức khác nhau có thể làm việc trên một môi trường chung.

Trong hình minh họa trên, kết nối giữa Văn phòng chính và Văn phòng từ xa là loại VPN Intranet, kết nối giữa Văn phòng chính với Đối tác kinh doanh là VPN Extranet.

Bảo mật trong VPN

Tường lửa (firewall) là rào chắn vững chắc giữa mạng riêng và Internet. Bạn có thể thiết lập các tường lửa để hạn chế số lượng cổng mở, loại gói tin và giao thức được chuyển qua. Một số sản phẩm dùng cho VPN như router 1700 của Cisco có thể nâng cấp để gộp những tính năng của tường lửa bằng cách chạy hệ điều hành Internet Cisco IOS thích hợp. Tốt nhất là hãy cài tường lửa thật tốt trước khi thiết lập VPN.

Mật mã truy cập là khi một máy tính mã hóa dữ liệu và gửi nó tới một máy tính khác thì chỉ có máy đó mới giải mã được. Có hai loại là mật mã riêng và mật mã chung.

Mật mã riêng (Symmetric-Key Encryption): Mỗi máy tính đều có một mã bí mật để mã hóa gói tin trước khi gửi tới máy tính khác trong mạng. Mã riêng yêu cầu bạn phải biết mình đang liên hệ với những máy tính nào để có thể cài mã lên đó, để máy tính của người nhận có thể giải mã được.

Mật mã chung (Public-Key Encryption) kết hợp mã riêng và một mã công cộng. Mã riêng này chỉ có máy của bạn nhận biết, còn mã chung thì do máy của bạn cấp cho bất kỳ máy nào muốn liên hệ (một cách an toàn) với nó. Để giải mã một message, máy tính phải dùng mã chung được máy tính nguồn cung cấp, đồng thời cần đến mã riêng của nó nữa. Có một ứng dụng loại này được dùng rất phổ biến là Pretty Good Privacy (PGP), cho phép bạn mã hóa hầu như bất cứ thứ gì.

Giao thức bảo mật giao thức Internet (IPSec) cung cấp những tính năng an ninh cao cấp như các thuật toán mã hóa tốt hơn, quá trình thẩm định quyền đăng nhập toàn diện hơn.

IPSec có hai cơ chế mã hóa là Tunnel và Transport. Tunnel mã hóa tiêu đề (header) và kích thước của mỗi gói tin còn Transport chỉ mã hóa kích thước. Chỉ những hệ thống nào hỗ trợ IPSec mới có thể tận dụng được giao thức này. Ngoài ra, tất cả các thiết bị phải sử dụng một mã khóa chung và các tường lửa trên mỗi hệ thống phải có các thiết lập bảo mật giống nhau. IPSec có thể mã hóa dữ liệu giữa nhiều thiết bị khác nhau như router với router, firewall với router, PC với router, PC với máy chủ.

Máy chủ AAA

AAA là viết tắt của ba chữ Authentication (thẩm định quyền truy cập), Authorization (cho phép) và Accounting (kiểm soát). Các server này được dùng để đảm bảo truy cập an toàn hơn. Khi yêu cầu thiết lập một kết nối được gửi tới từ máy khách, nó sẽ phải qua máy chủ AAA để kiểm tra. Các thông tin về những hoạt động của người sử dụng là hết sức cần thiết để theo dõi vì mục đích an toàn.

Sao lưu dữ liệu trực tiếp trên hệ thống hay áp dụng mô hình Cloud


Quá trình sao lưu dữ liệu là vô cùng quan trọng khi sử dụng hoặc quản lý 1 hệ thống máy tính bất kỳ. Từ trước đến nay, chúng ta vẫn thường áp dụng những cách thức sao lưu cơ bản như sử dụng ổ cứng cắm ngoài, RAID, ghi dữ liệu ra đĩa CD/DVD... Và ngày nay, khái niệm điện toán đám mây – Cloud, ra đời cũng mang đến nhiều tiện ích và sự lựa chọn hơn cho người dùng. Trong bài viết sau, chúng ta sẽ cùng nhìn lại ưu điểm cũng như nhược điểm của những phương pháp lưu trữ dữ liệu này.



Đối với cách lưu trữ trực tiếp trên hệ thống, chúng ta sẽ có những ưu điểm sau

-Trực tiếp quản lý dữ liệu.


- Có thể mang theo những dữ liệu này (vì được lưu bằng đĩa CD/DVD, USB Flash, ổ cứng di động)


- Có thể truy cập bất cứ lúc nào, không cần tới Internet.


- Dễ dàng copy qua lại giữa các thiết bị khác nhau.


Nhược điểm của cách thức này:


- Cần phải có không gian để chứa những thiết bị lưu trữ.


- Khả năng hỏng hóc về phần cứng có thể xảy ra bất cứ lúc nào.


- Không thể sử dụng nếu bạn quên mang thiết bị đó theo.


- Khi bị kẻ trộm “ghé thăm” hoặc tai nạn, thảm họa như cháy nhà, động đất, lũ lụt... thì chắc chắn lượng dữ liệu đó của bạn cũng biến mất theo.


Nếu bạn là người thường xuyên di chuyển và mang ít đồ đạc, thì việc sử dụng mô hình Cloud là hoàn toàn thích hợp. Bạn có thể bị mất cắp laptop, ổ cứng hỏng... bất cứ rủi ro nào xảy ra, nhưng dữ liệu của bạn vẫn an toàn. Một số lợi thế của phương pháp sao lưu qua Cloud có thể kể đến như sau:


- Không cần thiết bị hỗ trợ nào như: đĩa CD/DVD, USB Flash, ổ cứng di động...


- Có thể truy cập và sử dụng dữ liệu ở bất cứ nơi nào có kết nối Internet.


- Không phải lo lắng về không gian hoặc phương pháp lưu trữ.


- Hoàn toàn yên tâm về dữ liệu dù có chuyện gì xảy ra đi nữa.


Nhược điểm:


- Không phải lúc nào cũng có thể truy cập và sử dụng.


- Trường hợp rủi ro về phần cứng cũng vẫn có thể xảy ra, nhưng lần này là đối với đơn vị cung cấp dịch vụ sao lưu.


- Chỉ có thể sử dụng nếu có kết nối Internet.


- Khi đơn vị đó cần bảo dưỡng hoặc nâng cấp hệ thống, ngừng cung cấp dịch vụ do khó khăn về tài chính hoặc một số trường hợp bất khả kháng, bạn sẽ phải tìm cách để lưu toàn bộ dữ liệu về hệ thống nội bộ.


- Nếu tin tặc vượt qua được bức tường an ninh của đơn vị lưu trữ thì nguy cơ mất dữ liệu của bạn gần như là 100%.

Giải pháp Load Balancing và Fail Over toàn diện dành cho Web Server


Xây dựng một hệ thống High Available (HA) là một nhiệm vụ sống còn dành cho doanh nghiệp hiện nay. Đã có những trường hợp đáng tiếc khiến cho doanh nghiệp phải chịu những thiệt hại lớn không đáng có, thậm chí là mất đi các khách hàng quan trọng – nguồn sống trong kinh doanh. 




 Trong bài “Để website luôn online với cluster Apache High Availability Linux” đăng trên một số trang web hiện nay tuy thuận tiện nhưng vẫn còn những nhược điểm đáng kể. Một trong những nhược điểm đó là hệ thống chỉ có tác dụng chịu lỗi (Fail Over) mà không thể cân bằng tải (Load Balancing). Do đó, hệ thống chỉ có thể thích hợp với những doanh nghiệp nhỏ lẻ, nhu cầu truy cập web của khách hàng không cao. Nếu sử dụng phương thức trên cho doanh nghiệp lớn thì sẽ gây hiện tượng thắt cổ chai (bottle neck) làm nghẽn lưu lượng truy cập. Mặt khác, doanh nghiệp muốn triển khai thêm nhiều dịch vụ khác thì đây không phải là một lựa chọn thật sự hiệu quả. 

Một giải pháp được Kênh Giải Pháp VN đưa ra là xây dựng một hệ thống có tính sẵn sàng cao vừa có khả năng chịu lỗi vừa có khả năng cân bằng tải. Giải pháp này dựa trên nền tảng Linux Virtual Server (LVS). LVS ẩn server thật sau một IP ảo và thực hiện quá trình cân bằng tải các gói tin gửi đến sang tất cả các node dựa trên thuật toán Scheduling. Do tất cả các quá trình được thực hiện ở lớp transport bên trong nhân Linux nên phương thức này còn được gọi là Layer-4 Switching.

Hệ thống này được xây dựng trên 4 Server sử dụng hệ điều hành CentOS. Mỗi Server được lắp đặt 2 card mạng riêng biệt. Thông số về các card mạng trên mỗi server được thể hiện trên hình sau:

Client truy cập vào Web Server thông qua IP ảo (192.168.2.200).  

Trong mô hình này LVS1 và LVS2 đóng vai trò là các Load Balancer (LB). Hai LVS này hoặc động theo phương thức Active/Passive. Có nghĩa là, khi LVS1 chạy thì LVS2 sẽ ở trạng thái Stand-by, cho đến khi LVS1 gặp sự cố thì LVS2 sẽ tự động kích hoạt và thay thế LVS1 cho đến khi khắc phục được sự cố. LB có nhiệm vụ dẫn đường cho các truy cập đến Web Server. 

Trên LVS sẽ được cài đặt các gói chương trình heartbeat, ldirectord và ipvsadm. Trong đó chương trình heartbeat sẽ có nhiệm vụ kiểm tra tình trạng “sống còn” của hai LVS. Do đó, đảm bảo được khả năng chịu lỗi của hệ thống. Còn ldirectord (Linux Director Daemon) có nhiệm vụ giám sát và kiểm tra tín hiệu của các Web Server thông qua một URL request. Trong trường hợp dịch vụ web trên một server bị lỗi thì server đó sẽ bị loại ra khỏi danh sách real server và truy cập sẽ được dồn về Web Server còn lại đảm bảo được tính cân bằng tải lẫn khả năng chịu lỗi.

Cấu hình cụ thể

Đầu tiên, chúng ta tắt Firewall trên tất cả các Server.
/etc/init.d/iptables stop
+ LVS1/LVS2
Cài đặt các dịch vụ cần thiết (heartbeat, ldirectord, ipvsadm)
yum install heartbeat ipvsadm heartbeat-ldirectord –y
Để LB có thể dẫn đường được cho các yêu cầu đến server thì cần active kernel IPV4 packet forwarding.
#/etc/sysctl.conf
net.ipv4.ip_forward = 1
Lưu lại cấu hình cho sysctl.conf
sysctl -p
Tạo file /etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
bcast eth1
ucast eth1 10.0.0.1         # Trên LVS2 là 10.0.0.2
udpport 694
auto_failback on
node lb1.kenhgiaiphap.vn
node lb2.kenhgiaiphap.vn
Tạo file /etc/ha.d/haresoures
lb1.kenhgiaiphap.vn \
    ldirectord::ldirectord.cf \
    LVSSyncDaemonSwap::master \
    Ipaddr2::192.168.2.200
Tạo file /etc/ha.d/authkeys
auth 1
1 crc
File authkeys chỉ có thể thay đổi thông qua tài khoản root 
chmod 600 /etc/ha.d/authkeys
Tạo file /etc/ha.d/ldirectord.cf
checktimeout=30
checkinterval=2
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=no
virtual=192.168.2.200:80
        real=10.0.0.3:80 gate
        real=10.0.0.4:80 gate
        service=http
        request="kenhgiaiphap.html"
        httpmethod=GET
        receive="maychumang"
        persistent=100
        scheduler=lblc
        protocol=tcp
        checktype=negotiate

Khởi động các dịch vụ cần thiết
/etc/init.d/ldirectord stop
/ect/init.d/heartbeat start
+ WebServer1/WebServer2
Sau khi cài đặt Apache Server ta tạo file kiểm tra
echo “maychumang” > /var/www/html/kenhgiaiphap.html
Echo ‘This site is 192.168.2.122’ > /var/www/html/index.html (Webserver1)
Echo ‘This site is 192.168.2.123’ > /var/www/html/index.html (Webserver2)
service httpd start
Tắt chức năng ARP reply cho IP ảo trên Web Server
# /etc/sysctl.conf

net.ipv4.conf.all.ARP_ignore = 1
net.ipv4.conf.eth0.ARP_ignore = 1
net.ipv4.conf.all.ARP_announce = 2
net.ipv4.conf.eth0.ARP_announce = 2

+ Kiểm tra kết quả
Web Server (Load Balancing và Fail Over)
Mở web browser trên máy khác cùng mạng và nhập vào địa chỉ 192.168.2.200. Refresh lại nhiều lần thấy nội dung web thay đổi là cấu hình cân bằng tải thành công.

Muốn kiểm tra khả năng chịu lỗi thì tắt dịch vụ web trên 1 server sau đó thử lại. Nếu trang web hiển thị chuyển sang server còn lại là thành công.

Load Balancer (Fail Over)
Sau khi cài đặt xong kiểm tra trên cả hai LVS. Nếu kết quả giống như trong hình là cài đặt thành công. Trong đó máy 192.168.2.125 là máy Active, chịu trách nhiệm dẫn đường đến Web Server. Máy 192.168.2.130 đang ở chế độ backup.
  
Kiểm tra Fail Over bằng cách tắt dịch vụ heartbeat trên LVS1 (192.168.2.125) nếu bạn vẫn còn có thể duyệt web là thành công.

Sự trao đổi thông tin giữa máy chủ chính và máy chủ phụ


Chế độ tốc độ cao (High-Performance):

Chế độ High-Performance tương ứng với việc tạo bản sao không đồng bộ. Máy chủ chính gửi các bản cập nhật sang máy chủ mirror và tiếp tục thực hiện các thay đổi khác mà không cần máy chủ mirror báo đã cập nhật thành công.




Nhờ việc không phải chờ đợi máy chủ mirror cập nhật các thay đổi, nên máy chủ chính có tốc độ truy xuất nhanh hơn và tránh được tải không cần thiết.

Quy trình này có thể được minh họa bằng lược đồ sau:

Đối với chế độ tốc độ cao, máy chủ mirror luôn cập nhật chậm hơn so với máy chủ chính, và có thể xảy ra mất mát dữ liệu trong trường hợp máy chủ chính gián đoạn hoạt động mà chưa kịp gửi dữ liệu sang máy chủ mirror. Tuy nhiên, phần CSDL khác biệt này tương đối nhỏ và có thể chấp nhận được. Chế độ tốc độ cao – High performance mode không bắt buộc phải có máy chủ Witness.

Chế độ an toàn cao (High-Safety):

Khác với chế độ tốc độ cao, chế độ an toàn cao sử dụng cơ chế đồng bộ (Synchronous). Khi ứng dụng hoặc người dùng cập nhật, nó sẽ được cập nhật gần như đồng thời trên cả máy chủ chính và máy chủ mirror. Điều này sẽ đảm bảo khi máy chủ chính xảy ra sự cố, máy chủ mirror sẽ có bản sao đầy đủ và toàn vẹn của CSDL, vì vậy đảm bảo an toàn dữ liệu cao. 


Chế độ an toàn cao yêu cầu một máy chủ witness để đảm bảo tính thay thế nóng - hot standby.

Cấu hình DM: 

Cấu hình DM trên SQL Server gồm 3 bước cơ bản:

- Sao lưu (backup) toàn bộ CSDL trên máy chủ chính và sau đó khôi phục (restore) trên máy chủ mirror.

- Tạo các endpoint tương ứng để các máy chủ chính, mirror và witness làm việc với nhau.

- Tạo một phiên làm việc (Database Mirroring Session)

Việc cấu hình DM có thể thực hiện bằng giao diện của SQL Server Management Studio (SSMS), hoặc có thể cấu hình bằng T-SQL:
Cấu hình bằng giao diện của SQL Server Management Studio khá đơn giản, sau khi đã restore dữ liệu thành công trên máy chủ mirror, chỉ cần nhấn chuột phải vào cơ sở dữ liệu và chọn “Mirroring”, sau đó thực hiện theo từng bước.


Kết quả thu được sẽ là việc khởi tạo một session của DM.

Việc cấu hình bằng SSMS cho phép loại bỏ gần hết các thao tác khi thực hiện bằng T-SQL, tuy nhiên nếu muốn bạn vẫn có thể dùng T-SQL để đạt độ mềm dẻo cao nhất.

Cấu hình trên T-SQL có thể dùng 2 cách để các endpoint xác thực lẫn nhau: Xác thực bằng login hoặc xác thực bằng certificate. Đoạn mã T-SQL hoàn thiện để cấu hình DM khá dài nên chúng tôi chỉ giới thiệu một số bước tiêu biểu.

Data Mirroring trong SQL Server


Database Mirroring (DM) là giải pháp mới xây dựng CSDL có tính sẵn sàng cao trong SQL Server. DM khắc phục các nhược điểm của các giải pháp trước đó như:



• So với Failover Cluster, DM không yêu cầu phần cứng đặc biệt như SAN, vì vậy giảm được chi phí khi cấu hình

• So với Log Shipping, DM có thể tự động chuyển sang máy mirror khi xảy ra lỗi mà không cần người quản trị phải tác động. Log shipping yêu cầu phải cấu hình thủ công bằng T-SQL. Chính vì vậy, DM được gọi là “hot standby”, khi thời gian gián đoạn (downtime) có thể tính bằng giây, còn Log-shipping được gọi là “warm standby”, vì thời gian gián đoạn có thể tính bằng phút hoặc hơn.

• So với Replication, DM vượt trội hơn do bảo vệ được toàn bộ CSDL, còn Replication chỉ bảo vệ từng phần trong CSDL, ví dụ các table như master. 

Tuy nhiên, DM chỉ có trong phiên bản Enterprise/Developer của SQL Server 2005 SP1/2008.

 Cơ cấu của DM trong SQL Server 

DM trong SQL Server yêu cầu 3 instance: 1 instance chính (principal role) quản lý CSDL, 1 instance phụ (mirror) đảm bảo việc sao lưu CSDL. 1 instance giám sát (witness) kết nối với 2 instance chính và phụ để giám sát và đảm bảo tính sẵn sàng của CSDL.

Khi có mặt witness: Máy chủ witness kết nối với cả 2 máy chủ chính và máy chủ mirror. Lúc này toàn bộ hệ thống trở thành 1 quorum mà 2 trong số 3 thành phần có quyền quyết định . Trong trường hợp máy chủ chính gặp sự cố, máy chủ witness sẽ tự động chuyển máy chủ mirror thành máy chủ chính. Nếu sau đó, máy chủ chính hoạt động trở lại, máy chủ chính sẽ đảm nhận vai trò là máy chủ mirror (2 máy chủ giờ đổi vai trò cho nhau) cho đến khi có sự can thiệp của nhà quản trị (sơ đồ 1). 

Khi không có máy chủ witness: Quá trình chuyển đổi tự động sẽ không thực hiện được mà cần có tác động của nhà quản trị.

Trong SQL Server có khái niệm “endPoint” có thể hiểu là “điểm kết nối”, cho phép các instance SQL Server liên lạc với nhau thông qua giao thức TCP (sơ đồ 2). 

Mỗi endpoint được xác định bằng một địa chỉ và cổng tương ứng. Về mặt lý thuyết, địa chỉ phải là địa chỉ tên miền đ��y đủ, nhưng thực tế có thể dùng một trong 4 cách sau: 

-Xác định thông qua tên server. Ví dụ: TCP://PRINCIPAL:7024.

-Xác định thông qua domain name. Ví dụ: TCP://PRINCIPAL.DELTAX.COM:7024.

-Xác định thông qua Ipv4. Ví dụ: TCP://192.168.1.3:7024.

-Xác định thông qua Ipv6.

Cần chú ý: Trong trường hợp các Instance SQL Server cùng chạy trên một máy thì cổng TCP phải khác nhau.

Giải pháp thiết lập SQL Server luôn sẵn sàng


Giải pháp Database Mirroring giúp xây dựng hệ quản trị cơ sở dữ liệu (CSDL) có độ sẵn sàng cao trong SQL Server khá đơn giản và phù hợp với các CSDL loại vừa trở xuống.


Yêu cầu về một hệ quản trị cơ sở dữ liệu có độ sẵn sàng cao ngày càng trở nên cấp thiết, đôi khi là yếu tố sống còn với các tổ chức, công ty. Tuy nhiên, để đạt mức độ sẵn sàng cao (gần như luôn hoạt động) là một điều không đơn giản, vì luôn có nhiều yếu tố làm ảnh hưởng đến hoạt động của hệ thống: sự cố phần cứng, hạ tầng mạng, lỗi hệ điều hành, lỗi phần mềm ứng dụng, virus… Bài viết giới thiệu về 1 giải pháp giúp đạt độ sẵn sàng cao (HA - High Availability) trên hệ quản trị CSDL được dùng phổ biến hiện nay: SQL Server.

Các giải pháp HA trên SQL Server

Failover cluster

Giải pháp này sử dụng một ổ cứng dùng chung – thường là SAN để chứa CSDL. Có nhiều “instance” của SQL Server được cài đặt, mỗi instance là 1 node, nhưng tại 1 thời điểm chỉ có 1 node được quyền điều khiển CSDL. Khi node này gặp trục trặc, 1 node khác sẽ thay thế nó quản lý CSDL. 

Log shipping

Cơ cấu bổ sung 1 CSDL làm mirror (bản sao). Khi có thay đổi hoặc cập nhật từ CSDL chính, file log ghi lại các thay đổi này sẽ được gửi sang cho instance của máy chủ mirror. Bằng cách này, người ta duy trì một bản sao cập nhật của CSDL. Trong trường hợp xảy ra sự cố, CSDL bản sao sẽ được chuyển thành CSDL chính trong thời gian ngắn.

Tính năng Database Mirroring Phiên bản Enterprise Phiên bản Developer Phiên bản Standard Phiên bản Workgroup SQL Express
Đối tác  
Giám sát
An toàn = Có  
An toàn = Tắt  
Sẵn sàng trong suốt quá trình gỡ bỏ sau khi failover  
Khôi phục song song  
Sao lưu dữ liệu nhanh chóng  
Replication

Nếu như Failover cluster và Log Shipping là 2 giải pháp đảm bảo high-availability ở cấp độ CSDL thì Replication chỉ đảm bảo high-availability ở cấp độ các đối tượng trong CSDL như table, view… Các đối tượng này sẽ được copy sang một instance thứ 2 của SQL Server để lưu trữ.