Các giải pháp ảo hóa Domain Controller – Phần 5
Trong phần 5 này chúng tôi sẽ tiếp tục giới thiệu cho các bạn
cách bảo vệ các domain controller trong môi trường ảo hóa.
Cho đến đây, những gì chúng tôi đã giới thiệu với các bạn về
việc sắp đặt domain controller bên trong trung tâm d
ữ liệu ảo chỉ
mới đề cập đến vấn đề làm sao tránh xuất hiện lỗi single point
bên trong cơ sở hạ tầng domain. Mặc dù vậy vẫn còn có một số
vấn đề khác mà chúng tôi chưa giới thiệu. Chính vì vậy trong
phần 5 này, chúng tôi sẽ giới thiệu cho các bạn một số bước cần
thiết để bảo vệ tính toàn vẹn cho Active Directory trong môi
trường ảo.
Lúc này bạn có thể đang phân vân về cách thức thực hiện đơn
giản trong quá trình ảo hóa một domain controller có thể đe dọa
đến tính toàn vẹn của Active Directory. Quả thât có một vài
điểm khác biệt có nguy cơ d
ẫn đến việc lỗi Active Directory nếu
các domain controller ảo của bạn không được thực hiện đúng
cách.
Lưu trữ trên đĩa
Một trong những mối lo ngại lớn nhất về tính toàn vẹn của
Active Directory là việc lưu trữ trên đĩa. Chắc các bạn đã biết,
Active Directory thực sự không có gì khác biệt so với một cơ sở
dữ liệu cư trú trên các domain controller. Nếu cơ sở dữ liệu này
bị lỗi thì Active Directory cũng bị lỗi theo. Điều này phụ thuộc
vào bản chất của lỗi và vào việc sắp xếp cũng như vai trò của
domain controller bị lỗi.
Do lỗi cơ sở dữ liệu có ảnh hưởng một cách tiềm tàng đến toàn
bộ Active Directory, do đó Microsoft đã đưa ra một số cảnh báo
trước để tránh lỗi này. Một trong số đó là vô hiệu hóa việc lưu
trữ trong phân vùng có chứa cơ sở dữ liệu Active Directory.
Điều này được thực hiện hoàn toàn tự động khi bạn tiến cử máy
chủ lên trạng thái domain controller.
Lý do tại sao Microsoft lại vô hiệu hóa việc lưu trữ trên đĩa có
chứa cơ sở dữ liệu Active Directory là để tránh nguy cơ mất dữ
liệu do lỗi nguồn hoặc lỗi trong quá trình ghi. Cách thức này sẽ
tránh được hiện tượng mất các phiên giao dịch đối với cơ sở dữ
liệu Active Directory trong trường hợp có vấn đề bất thư
ờng xảy
ra.
Khi ảo hóa một domain controller, Windows sẽ tự động vô hiệu
hóa hành động ghi vào phân vùng ổ cứng có chứa cơ sở dữ liệu
Active Directory. Tuy nhiên vấn đề ở đây là Windows không hề
có ý tưởng gì về việc nó đang chạy bên trong một máy ảo. Dù
việc ghi lên đĩa có thể được vô hiệu hóa cho các file ổ cứng ảo,
nhưng phân vùng vật lý mà file cư trú trên lại nằm bên dưới sự
điều khiển của hệ điều hành cha và như vậy quá trình ghi đĩa có
thể vẫn bị được kích hoạt.
Tuy việc ghi có thể vô hiệu hóa một cách tự động đối với phân
vùng vật lý theo phần mềm ảo hóa mà bạn đang chạy hay theo
cấu hình phần cứng của máy chủ. Nhưng vẫn một số vấn đề cần
xem xét nếu một domain controller ảo được cấu hình sử dụng
chế độ SCSI. Nếu máy chủ host có được sự hỗ trợ SCSI Forced
Unit Access (FUA) một cách đầy đủ thì chúng ta không c
ần phải
lo lắng về các hoạt động ghi được đệm ở mức host. Lúc đó có
các dữ liệu không được đệm mới được gửi đến đĩa vật lý. Mặc
dù vậy nếu FUA không được hỗ trợ đầy đủ thì bạn cần phải tự
vô hiệu hóa hành động ghi ở mức host.
Cảnh báo trước
Cho dù máy chủ host được cấu hình theo một cách nào đó nhằm
tránh sử dụng việc ghi đĩa thì vẫn tồn tại trường hợp mất một số
phiên liên lạc cơ sở dữ liệu Active Directory do lỗi nguồn. Tuy
sự mất mát này chắc chắn không đáng kể gì so với việc kích
hoạt chế độ ghi đĩa nhưng đó vẫn là thứ mà tránh được th
ì chúng
ta nên làm. Một cách để tránh vấn đề đó là luôn dự phòng cho
mỗi một máy chủ host của mình một bộ lưu điện (UPS).
Các dịch vụ khác
Trước khi tiếp tục, chúng tôi muốn nói rằng các lỗi ghi và lỗi
nguồn không những có nguy cơ phá hỏng cơ sở dữ liệu Active
Directory mà chúng còn có nguy cơ gây ra các vấn đề đối với
các kiểu cơ sở dữ liệu khác. Do đó trong khi đã sử dụng một số
biện pháp bảo vệ các ứng dụng quản lý cơ sở dữ liệu chẳng hạn
như Exchange Server, chúng ta rất hay quên mất một điều rằng
có một số dịch vụ Windows bên trong sử dụng cơ sở dữ liệu
Extensible Storage Engine và chúng chống cũng cần được bảo
vệ trước các lỗi này. Ngoài cơ sở dữ liệu Active Directory, còn
có một số dịch vụ khác như File Replication Service (FRS) và
DHCP.
Sự lạm dụng phần mềm ảo hóa
Ch
ắc chắn mối đe dọa lớn nhất đối với một domain controller ảo
đến từ con người. Hầu hết các hãng ảo hóa lớn đều đưa thêm
tính năng snapshot vào bên trong các phần mềm của họ. Cách
tạo một snapshot gần giống như việc tạo một điểm khôi phục.
Một snapshot cho phép bạn khôi phục lại máy ảo của mình ở
điểm khôi phục nào đó.
Bạn có thể hình dung là các snapshot r
ất hữu dụng. Một cách tốt
nhất mà nhiều quản trị viên hay làm là tạo một snapshot trước
khi thực hiện thay đổi cấu hình đối với một máy chủ ảo nào đó.
Bằng cách này, nếu có vấn đề gì xảy ra, họ sẽ không khó khăn
trong việc quay trở lại thời điểm trước đó. Tuy nhiên vấn đề ở
đây là bạn không thể sử dụng snapshot trên các domain
controller.
Lý do ở đây là bản tính tính của Active Directory. Để xem tại
sao lại như vậy, bạn hãy hình dung trường hợp tạo một snapshot
cho một domain controller ảo hóa trư
ớc khi nâng cấp một bản vá
mới. Sau đó một tuần sau bạn phát hiện thấy bản vá đó không
cần thiết và quyết định gỡ bỏ nó. Khi đó bạn có thể rollback
trạng thái trước đó bằng cách sử dụng snapshot đã được tạo.
Vấn đề đối với trường hợp mà chúng tôi vừa mô tả là thông tin
Active Directory sẽ bị tạo bản sao cho mỗi domain controller
trong toàn bộ miền. Trong suốt quãng th
ời gian một tuần sau khi
cập nhật bản vá sẽ có rất nhiều thứ thay đổi đối với Active
Directory. Chẳng hạn như việc tạo thêm các tài khoản người
dùng, một số máy tính được bổ sung vào miền hay nâng cấp
thêm một số thuộc tính người dùng. Những cập nhật đối với
Active Directory lúc này là không cần thiết với mục đích của
chúng ta.
Như những gì bạn có thể biết, mỗi nâng cấp Active Directory
đều đư
ợc đánh số bằng một số Update Sequence Number (USN)
nào đó. Windows sẽ sử dụng USN để xác định xem nâng cấp
Active Directory nào được tạo bản sao cho một domain
controller. Khi rollback một domain controller về trạng thái
trước đó bằng cách sử dụng snapshot, các nâng cấp Active
Directory xảy ra từ khi tạo snapshot sẽ bị remove khỏi domain
controller. Mặc dù các nâng cấp này có thể tồn tại trên các
domain controller khác nhưng chúng sẽ không bao giờ được tạo
bản sao cho domain controller vừa được khôi phục vì không có
domain controller nào biết về việc khôi phục lại này. Trong tình
huống như vậy, các domain controller sẽ rơi vào trạng thái
không nhất quán và không dễ dàng tạo sự nhất quá cho chúng.
Ở đây bạn cần biết hành động rollback có gì khác biệt với việc
khôi phục một backup trạng thái hệ thống đối với một domain
controller. Khi thực hiện một hành động khôi phục Active
Directory không chính thức, Windows sẽ biết rằng cơ sở dữ liệu
Active Directory đã được đưa trở lại trạng thái trước. Như vậy,
bất cứ phiên giao dịch nào bị mất sẽ được tạo bản sao từ các
domain controller khác cho tới khi domain controller vừa được
khôi phục được cập nhật đầy đủ.
Kết luận
Nói tóm lại bất cứ lúc nào ảo hóa một domain controller, bạn
cần phải sử dụng một số bước để tránh lỗi cho domain
controller. Chẳng hạn như tránh việc ghi đĩa, hướng dẫn các
quản trị viên để họ biết rằng không nên sử dụng các snapshot
trên các domain controller và trang b
ị cho mỗi một máy chủ host
một UPS.
Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu
cho các bạn một số khía cạnh trong việc ảo hóa nhiều domain
forest.