Trả lời nhanh: Ảnh chụp ghi lại trạng thái máy ảo tại một thời điểm để bạn quay lui nếu bản cập nhật hỏng. Nó nằm cùng kho với đĩa ảo nên không thay thế được bản sao lưu. Giữ ảnh chụp quá lâu làm đĩa phình to và làm chậm máy ảo, nên xóa ngay sau khi xác nhận mọi thứ ổn.
Đây là tính năng tiện nhất và cũng bị dùng sai nhiều nhất trong ảo hóa. Bài này giải thích cơ chế bên dưới đủ để bạn hiểu vì sao giữ ảnh chụp lâu lại gây hại, và phân biệt rõ nó với sao lưu.
Cơ chế bên dưới
Khi bạn tạo ảnh chụp, hệ thống không chép toàn bộ đĩa. Nó đánh dấu trạng thái hiện tại là bất biến, rồi mọi thay đổi từ đó trở đi được ghi vào một lớp mới.
Nhờ vậy việc tạo ảnh chụp gần như tức thì và ban đầu không tốn dung lượng. Nhưng theo thời gian, lớp thay đổi đó phình lên đúng bằng lượng dữ liệu đã bị sửa kể từ lúc chụp.
Hệ quả quan trọng: máy ảo có ảnh chụp cũ và tải ghi nặng, chẳng hạn cơ sở dữ liệu, có thể làm dung lượng tăng rất nhanh. Đã có nhiều trường hợp kho lưu trữ đầy vì một ảnh chụp bị quên từ mấy tháng trước.
Cách lưu trữ ảnh chụp khác nhau tùy kho. Trên ZFS và trên lưu trữ phân tán, ảnh chụp làm ở tầng lưu trữ nên rất hiệu quả. Trên kho dạng tệp, nó làm ở tầng định dạng đĩa ảo nên chậm hơn và tốn hơn.
Chụp kèm bộ nhớ hay không
Khi tạo ảnh chụp, có tùy chọn ghi kèm cả nội dung bộ nhớ của máy ảo.
Có kèm bộ nhớ: quay lui đưa máy ảo về đúng trạng thái đang chạy tại thời điểm chụp, các tiến trình vẫn ở nguyên chỗ cũ. Đổi lại việc chụp mất thời gian tỉ lệ với dung lượng RAM, và máy ảo bị dừng vài giây trong lúc đó.
Không kèm bộ nhớ: chụp gần như tức thì, nhưng quay lui giống như máy ảo vừa bị cúp điện tại thời điểm đó. Hệ điều hành phải khởi động lại và tự kiểm tra hệ thống file.
Chọn thế nào: với thao tác nhanh như thử một bản cập nhật rồi quyết ngay trong vài phút, kèm bộ nhớ tiện hơn. Với ảnh chụp giữ vài giờ trở lên, không kèm bộ nhớ hợp lý hơn vì nội dung bộ nhớ khi đó cũng đã lỗi thời.
Dùng đúng vào việc gì
Bốn tình huống mà ảnh chụp là công cụ đúng.
- Trước khi cập nhật hệ điều hành hoặc phần mềm. Chụp, cập nhật, kiểm tra, rồi xóa ảnh chụp nếu ổn hoặc quay lui nếu hỏng. Đây là công dụng chính.
- Trước khi đổi cấu hình lớn, chẳng hạn sửa cấu hình mạng hay cài một thành phần mới.
- Khi thử nghiệm trong môi trường kiểm thử, nơi bạn muốn quay về trạng thái sạch nhiều lần.
- Trước khi bàn giao máy ảo mẫu, để có điểm mốc quay về.
Điểm chung: đều là các tình huống ngắn hạn, tính bằng phút tới giờ, và đều có một hành động rõ ràng để kết thúc là xóa ảnh chụp.
Dùng sai vào việc gì
Sai thứ nhất: coi ảnh chụp là bản sao lưu. Đây là hiểu lầm nguy hiểm nhất. Ảnh chụp nằm cùng kho lưu trữ với đĩa ảo. Kho hỏng, máy chủ cháy, mã độc xóa cả kho, thì mất cả hai. Sao lưu là một tệp độc lập nằm ở nơi khác.
Sai thứ hai: giữ ảnh chụp hàng tháng. Đĩa ảo phình to, hiệu năng giảm, và khi cần xóa thì việc gộp lại các lớp thay đổi tạo tải rất nặng. Nhiều sự cố kho đầy bắt nguồn từ đúng chỗ này.
Sai thứ ba: chụp cơ sở dữ liệu đang chạy rồi quay lui. Cơ sở dữ liệu ghi theo giao dịch và có phần dữ liệu nằm trong bộ nhớ. Quay lui về một điểm bất kỳ có thể để lại dữ liệu nửa vời. Với cơ sở dữ liệu, hãy dùng cơ chế sao lưu của chính nó.
Sai thứ tư: quay lui máy chủ danh bạ tài khoản. Việc này làm hỏng đồng bộ danh bạ với các máy chủ khác trong hệ thống. Có cơ chế riêng để xử lý, nhưng cách an toàn nhất là đừng quay lui các máy chủ này bằng ảnh chụp.
Quy trình nên theo
- Đặt tên ảnh chụp có ý nghĩa, ghi rõ chụp trước việc gì và ngày nào. Tên mặc định là vô dụng sau một tuần.
- Chỉ chụp khi có việc cụ thể, không chụp theo thói quen.
- Đặt hạn cho mình: xác nhận trong vòng hai mươi bốn giờ rồi xóa hoặc quay lui.
- Rà soát định kỳ. Mỗi tháng liệt kê mọi ảnh chụp còn tồn và xóa những cái đã quên. Có thể viết một tác vụ tự động cảnh báo khi có ảnh chụp cũ hơn bảy ngày.
- Với cơ sở dữ liệu, dừng dịch vụ trước khi chụp nếu bạn thực sự cần một điểm quay lui nhất quán, hoặc dùng cơ chế sao lưu riêng của nó.
- Luôn có bản sao lưu thật song song, ảnh chụp không thay thế được.
Dùng đúng và dùng sai
| Tình huống | Đúng hay sai | Lý do |
|---|---|---|
| Chụp trước khi cập nhật hệ điều hành của máy ảo | Đúng | Đây chính là việc nó sinh ra để làm |
| Chụp trước khi cài phần mềm mới hoặc đổi cấu hình lớn | Đúng | Quay lui trong vài giây nếu hỏng |
| Giữ ảnh chụp nhiều tuần để phòng xa | Sai | Ảnh chụp càng cũ càng phình to và càng làm máy ảo chậm |
| Dùng ảnh chụp thay cho bản sao lưu | Sai | Nó nằm cùng ổ đĩa với máy ảo, hỏng ổ là mất cả hai |
| Chụp máy ảo chạy cơ sở dữ liệu mà không dừng dịch vụ | Cần cẩn thận | Dữ liệu có thể ở trạng thái dở dang khi khôi phục |
Vì sao ảnh chụp cũ làm máy ảo chậm
Sau khi chụp, mọi thay đổi mới không ghi đè lên dữ liệu gốc nữa mà được ghi vào một tệp riêng. Tệp đó lớn dần theo lượng thay đổi. Máy ảo càng ghi nhiều thì tệp càng phình, và mỗi lần đọc dữ liệu hệ thống phải tra qua nhiều lớp. Một ảnh chụp giữ ba tháng trên máy chủ cơ sở dữ liệu có thể chiếm dung lượng bằng cả máy ảo và làm nó chậm rõ rệt. Tệ hơn, khi bạn xóa ảnh chụp đó, quá trình gộp lại mất rất nhiều thời gian và cần nhiều dung lượng trống.
Bốn bước từ lúc chụp tới lúc xóa
# Quy trinh dung, bon buoc: # 1. TRUOC khi chup: kiem con du dung luong trong khong# Chup khi o dia sap day la cach nhanh nhat de treo may ao # 2. Chup, ghi ro trong phan mo ta: chup de lam gi, ngay nao# Ba tuan sau ban se khong nho anh chup ten "test1" la cai gi # 3. Lam viec can lam, kiem tra ket qua NGAY trong ngay # 4. Xoa anh chup ngay sau khi da chac chan# Dat lich nhac neu ban hay quen. Anh chup bi bo quen# la nguyen nhan pho bien cua su co dung luong. # Quy tac thuc dung: khong giu anh chup qua 48 gio.# Neu ban thay minh can giu lau hon, thu ban can la ban sao luu,# khong phai anh chup. # Kiem cac anh chup dang ton tai va tuoi cua chung# ngay hom nay, tren moi may ao. Ket qua thuong gay bat ngo.Câu hỏi thường gặp
Ảnh chụp có làm chậm máy ảo không
Có, và mức độ tăng theo thời gian giữ cùng lượng dữ liệu thay đổi. Mỗi lần đọc, hệ thống phải xác định dữ liệu nằm ở lớp gốc hay lớp thay đổi. Với ảnh chụp mới thì tác động nhỏ, với ảnh chụp giữ hàng tuần trên máy ghi nhiều thì rất rõ.
Xóa ảnh chụp có mất dữ liệu không
Không. Xóa ảnh chụp nghĩa là bỏ điểm quay lui và gộp các lớp thay đổi lại, dữ liệu hiện tại giữ nguyên. Quá trình gộp có thể tạo tải nặng nếu ảnh chụp đã cũ, nên hãy làm vào giờ thấp điểm.
Có thể chụp nhiều ảnh chồng nhau không
Được, và hệ thống quản lý chúng theo cây. Nhưng nhiều lớp chồng nhau làm hiệu năng giảm và làm việc quản lý rối. Thực tế nên giữ tối đa một tới hai ảnh chụp cho mỗi máy ảo.
Ảnh chụp trên ZFS khác gì trên kho dạng tệp
Trên ZFS, ảnh chụp làm ở tầng hệ thống file nên gần như tức thì, tốn rất ít và ít ảnh hưởng hiệu năng. Trên kho dạng tệp, nó làm ở tầng định dạng đĩa ảo nên chậm hơn và tốn hơn. Nếu dùng ảnh chụp thường xuyên, đây là một lý do để chọn ZFS.
