Thiết lập Ảnh chụp LVM làm điểm sao lưu / khôi phục trong Ubuntu


29

Thiết lập Ảnh chụp LVM làm điểm sao lưu / khôi phục trong Ubuntu.

Tại sao?

Vâng, như tôi thấy, với tất cả sự hữu ích tuyệt vời của Linux, nhược điểm lớn nhất của nó là cách cài đặt ứng dụng hỗn hợp. Tất cả các dlls đi đến một thư mục. Tất cả các tập tin cấu hình khác. Và các nhị phân cũng được đặt trong một bó. Đúng, Windows hoạt động theo cách tương tự ít nhiều, nhưng với bản chất của phần mềm hệ thống / máy chủ được cài đặt trên Linux, vì hầu hết các phần mềm được cài đặt chỉ hoàn thiện khoảng 95% tại bất kỳ thời điểm nào, làm rối hệ thống của bạn hai lần một tháng là rất có thể ..

Tất nhiên, chúng ta có thể sao lưu hệ thống trước và sau mỗi lần cài đặt, nhưng phải mất một triệu năm. Sao lưu hệ thống (trái ngược với chỉ sao lưu dữ liệu / tệp) yêu cầu bạn tắt máy tính và sử dụng một số dạng đĩa CD trực tiếp có thể khởi động và phương tiện sao lưu. Và, nếu ổ đĩa đầy hơn 15%, có thể mất nhiều thời gian để thực hiện sao lưu, ngay cả với phần cứng hiện đại.

Vì vậy, làm thế nào điều này có thể được thực hiện?


3
Đây không phải là một câu hỏi ... tôi cũng đoán là bạn không chăm chỉ lắm; một google nhanh chóng cho "ubuntu lvm ảnh chụp" và điều đầu tiên mà đi lên là wiki.ubuntu.com/Lvm
psusi

1
Không có gì để làm với ... bạn đã đọc nó? Nó bao gồm tất cả mọi thứ bạn nói ở đây.
psusi

5
Tất nhiên bạn có thể hỏi một câu hỏi và sau đó tự trả lời - nhưng hãy nhớ rằng trang web này đang hoạt động như Hỏi & Đáp - không dành cho hướng dẫn biểu mẫu miễn phí.
guntbert

3
Đó là điều. AskUbfox cung cấp các hướng dẫn, nhưng tôi không thể tìm thấy một cách dễ dàng để đặt một hướng dẫn. Và vì tôi muốn chia sẻ công việc khó khăn của mình với bất kỳ ai có thể có lợi, tôi quyết định chỉ đăng nó ở đây.
chà

4
Bỏ phiếu để mở lại để chúng tôi có thể chia câu hỏi này thành một câu hỏi và trả lời
muru

Câu trả lời:


11

Cách thay thế - Ảnh chụp nhanh LVM - Bạn có thể đọc về ảnh chụp nhanh LVM tại đây: http://www.tutonics.com/2012/12/lvm-guide-part-2-snapshots.html

Nói tóm lại, snapshot là một cách đóng băng các khu vực được sử dụng trên HardDisk, yêu cầu hệ thống viết bất kỳ thay đổi / xóa / thêm vào một phần dành riêng của HardDisk, được gọi là khối lượng ảnh chụp nhanh, do đó hoãn quyết định giữ / loại bỏ các thay đổi trên ổ đĩa đến một thời gian trong tương lai, miễn là không gian âm lượng ảnh chụp nhanh cung cấp. Và vì vậy, một khi bạn quyết định khôi phục các thay đổi (hoặc giữ chúng), bạn có thể thực hiện với một dòng.

Thoạt nhìn có vẻ phức tạp, nhưng tôi có thể đảm bảo với bạn rằng sau nỗ lực lần đầu tiên, tất cả những gì cần thiết để sử dụng cơ chế chụp nhanh chỉ là 2 tập lệnh (tải xuống được cung cấp!)

Bảo hành - Không bảo hành những gì được đưa ra cho các hướng dẫn bên dưới. Sử dụng có nguy cơ của riêng bạn!

Làm sao?

Nếu bạn không có nhóm âm lượng được cấu hình sẵn, có thể bạn sẽ cần cài đặt Ubuntu sạch mới. Sau đó, bạn sẽ phải đặt một số nỗ lực để định cấu hình hệ thống chính xác lần đầu tiên, nhưng kể từ thời điểm này, ảnh chụp nhanh sẽ trở nên dễ dàng . Và bằng cách dễ dàng, tôi có nghĩa là một lệnh lót, sử dụng các tập lệnh được cấu hình sẵn.

  1. Khởi động vào đĩa CD trực tiếp trên Ubuntu (chưa cài đặt .. chỉ là đĩa CD trực tiếp)
  2. Phụ kiện mở -> Terminal
  3. Chúng tôi sẽ xóa ổ cứng! Vui lòng sao lưu mọi thứ quan trọng trước khi trải qua giai đoạn này.

    Đầu tiên, hãy xóa các phân vùng hiện có:

    # fdisk /dev/sda
      Enter 'd' to delete - enter for as many partitions you have 
    > d   
    > <enter>
      ...
      Enter 'w' to write down changes
    > w
    
  4. Tạo phân vùng khởi động và phần còn lại của ổ đĩa là phân vùng khác

    # fdisk /dev/sda
    > n
      To create a new partition.
    > p
      For Boot Primary partition.
    > 1
      Press <enter> to accept the default start sector.
      Enter:
    > +512M
      To give the boot partition a size of 512MB
    > n
      To create (another) new partition.
    > p
      Should be Primary too.
    > <enter> 
      To accept the default value of 2 (the second partition)
    > <enter>
      To accept the default start sector
    > <enter>
      To accept the whole disk
    > t
      To change the type of the second partition to LVM
    > 2
      To choose the second partition
    > 8e
      To set the type to 'LVM Linux'
    > w
      To write changes and exit.
    

    Để kiểm tra xem các thay đổi có hoạt động tốt không:

    # fdisk --list
    

    Bạn sẽ nhận được một cái gì đó như thế này:

      Device     Boot   Start    End        Blocks     Id   System
      /dev/sda1         2048     524287     261120     83   Linux
      /dev/sda2         524288   488397167  243936440  8e   Linux LVM
    
  5. Xóa mọi nhóm âm lượng / khối lượng logic trước đó:

    # lvdisplay 
    

    Sẽ hiển thị khối lượng logic bạn có thể có trên hệ thống

    # lvremove <existing_logical_volume_name>
    

    Nếu bất kỳ cài đặt khối lượng nào có thể can thiệp vào cài đặt này cần phải được gỡ bỏ.

    # vgdisplay 
    

    Sẽ hiển thị bất kỳ nhóm khối lượng hiện có trên hệ thống

    # vgremove <existing_volume_group>
    

    Tương tự như đối với các nhóm âm lượng ..

  6. Tạo nhóm âm lượng 'vssnap'

    # vgcreate vgsnap /dev/sda2
    

    Nên kết quả với:

      Volume group "vgsnap" successfully created
    
  7. Tạo khối lượng logic

    # lvcreate --extents 100%FREE --name lvroot vgsnap
    

    Khối lượng logic gốc, bắt đầu với 100% thiết bị.

    # lvresize --size -30G /dev/mapper/vgsnap-lvroot
    

    Điều này sẽ mất 30G cho khối lượng trao đổi và ảnh chụp nhanh. Tất nhiên - bạn có thể chọn kích thước nhỏ hơn cho trao đổi / ảnh chụp nhanh.

    > 'y'
      for the warning shown.
    

    Và tạo khối lượng trao đổi:

    # lvcreate --size 15G --name lvswap vgsnap
    

    Lưu ý: chúng tôi để lại 15G dung lượng ổ đĩa chưa sử dụng, dành riêng cho ảnh chụp nhanh trong tương lai.

  8. Cài đặt Ubuntu

    Đóng terimnal và khởi động Trình cài đặt.

    Chọn "Sử dụng LVM ..." (Bạn cũng có thể chọn bật mã hóa toàn bộ đĩa - nhưng tôi đã không kiểm tra nó ..)

    Chọn "Cái gì đó khác" và nhấn tiếp tục. Ở giai đoạn này, bạn sẽ tìm thấy phân bổ khối lượng / dev / mapper / ... được xác định. Một số trong số này được tạo tự động (lvsnap- *) - bạn có thể bỏ qua chúng ngay bây giờ.

    Chọn: / dev / mapper / vssnap-lvroot volume. Chọn "ext4" làm định dạng và gắn kết là '/'

    Chọn: / dev / mapper / vssnap-lvswap và chọn "vùng trao đổi"

    Nếu bạn định tạo một ổ đĩa được mã hóa (tôi không biết liệu nó có hoạt động với ảnh chụp nhanh không?), Bạn có thể sẽ muốn chọn / dev / sda2 và đánh dấu "âm lượng để mã hóa". Không kiểm tra nó mặc dù ..

    Lưu ý: 15G chưa sử dụng được để trống cho khối lượng ảnh chụp nhanh.

    Chọn: / dev / sda1 phân vùng. Định dạng nó là 'ext2' và gắn kết nó thành '/ boot'

    Bên dưới - chọn: / dev / sda1 phân vùng làm boot

    Cài đặt, dựng lên!

Sử dụng ảnh chụp nhanh

Các bước sau đây sẽ cho thấy cách sử dụng ảnh chụp nhanh tại bất kỳ thời điểm nào:

  1. Gắn ảnh chụp nhanh:

    Tạo khối lượng ảnh chụp nhanh

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    

    Tạo thư mục gắn kết

    # mkdir /mnt/vgsnap-lvsnap
    

    Gắn ảnh chụp nhanh như gắn kết chỉ đọc

    # mount -o ro /dev/vgsnap/lvsnap  /mnt/vgsnap-lvsnap
    

    Ảnh chụp được bật!

    Tại thời điểm này, bạn có thể bắt đầu làm rối hệ thống của mình, cài đặt trình điều khiển beta và thậm chí (Không! Điều đó không phù hợp).

    Từ giờ trở đi, bạn có thể bất cứ lúc nào (theo kích thước ảnh chụp nhanh cung cấp ..) trở về trạng thái trước đó, hoặc, nếu hài lòng với giao diện mới - hãy giữ nguyên.

  2. Tự động theo dõi dung lượng ổ đĩa trống miễn phí: Sử dụng phiên bản tinh chỉnh của tập lệnh được cung cấp tại đây: http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/ Tôi đã tạo tập lệnh Monitor_snapshot .

    Làm thế nào để sử dụng / cài đặt nó? - Khá nhiều như với liên kết ở trên:

    # cd /etc/cron.hourly
    # copy /home/<user>/Downloads/monitor_snapshot
    # chmod +x monitor_snapshot
    

    Trước khi chạy lần đầu tiên, bạn nên chỉnh sửa tốt hơn các giá trị trong đó, chẳng hạn như địa chỉ email của bạn (nơi gửi thông báo, v.v.) Nếu được định cấu hình đúng, trình nền cron sẽ chạy tập lệnh mỗi X giờ / ngày - khi bạn quyết định - và thông báo cho bạn khi ảnh chụp nhanh sắp đầy.

    Để kiểm tra tập lệnh chạy:

    # sh /etc/cron.hourly/monitor_snapshot
    

    Nó sẽ in phần trăm (số) không gian trống trong ảnh chụp nhanh.

    Quan trọng! Khi bạn đã hoàn tất các thử nghiệm / cài đặt của mình - khôi phục hoặc tiếp tục thay đổi - và Xem lại ảnh chụp nhanh!

  3. Quay lại các thay đổi: (Xem tập lệnh rollback_snapshot , với các hướng dẫn sau trong đó, liên kết ở cuối tài liệu)

    # lvconvert --merge /dev/vgsnap/lvsnap
    

    Điều này cũng sẽ vượt qua ảnh chụp nhanh, nhưng sẽ loại bỏ bất kỳ thay đổi nào của bạn. Ngoài ra - Bạn sẽ thấy một cảnh báo cho thấy rằng hoàn nguyên sẽ chỉ xảy ra kích hoạt tiếp theo, vì vậy:

    # reboot
    

    Lưu ý: Nếu bạn bỏ qua việc hợp nhất, các thay đổi của bạn sẽ được cam kết sau khi bạn vượt qua ảnh chụp nhanh.

  4. Cam kết thay đổi - vượt qua ảnh chụp nhanh: (Xem tập lệnh commit_snapshot , với các hướng dẫn sau trong đó - liên kết ở cuối tài liệu)

    # umount /mnt/vgsnap-lvsnap
      Will unmount (commit0 the snapshot
    
    # lvremove /dev/mapper/vgsnap-lvsnap
    # rm -rf /mnt/vgsnap-lvsnap/
    
    # rm /etc/cron.hourly/monitor_snapshot
      Remove the cron daemon script (that is unused)
    
  5. Gắn lại ảnh chụp nhanh: (Xem tập lệnh phát lại , với các hướng dẫn sau trong đó - liên kết ở cuối tài liệu) Khá nhiều như trước:

    # lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
    # mkdir /mnt/vgsnap-lvsnap
    # mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
    

    Nếu bạn đã lưu Monitor_snapshot tại thư mục nhà của bạn, bạn có thể khôi phục lại:

    # cp /home/<user>/monitor_snapshot /etc/cron.hourly/
    # chmod +x /etc/cron.hourly/monitor_snapshot
    

Đó là tất cả mọi người! Các hướng dẫn sau chỉ dành cho người bỏ cuộc;)

  1. Loại bỏ âm lượng ảnh chụp nhanh (Nếu không còn cần thiết)

    # rmdir /mnt/vgsnap-lvsnap
    # lvremove /dev/vgsnap/lvsnap
    

    (Bạn cũng có thể muốn thay đổi kích thước phân vùng gốc hoặc trao đổi để chiếm 15G bị thiếu dành riêng cho trao đổi)

  2. Loại bỏ nhóm âm lượng - Chỉ có thể bằng cách xóa âm lượng của nhóm âm lượng, điều này có thể có nghĩa là xóa cài đặt hệ điều hành. Nhưng tất nhiên, không có nhu cầu thực sự để loại bỏ nhóm âm lượng ...

    Để loại bỏ nhóm âm lượng:

    # vgremove vgsnap
    

Lưu ý quan trọng! - định dạng / chạy fdisk và xóa tất cả các phân vùng sẽ KHÔNG xóa các ổ đĩa cũng như nhóm, vì chúng được ghi trên một phần khác của ổ đĩa ... Vì vậy, chỉ cần sử dụng các hướng dẫn loại bỏ được đưa ra ở trên và loại bỏ các ổ đĩa và nhóm nếu cần.


Cảm ơn rất nhiều cho những hướng dẫn chi tiết này ... wow.
Adriano Lucas

2

Tạo một cronjob để thực hiện sao lưu bằng cách sử dụng lvcreate -s -L <size> -n <snapshot_name> <volume_name>

Ở đây tên âm lượng là tên của âm lượng mà ảnh chụp bạn muốn chụp. Để biết thêm chi tiết, bạn cũng có thể xem qua hướng dẫn này


1
Hướng dẫn tốt đẹp! Tuy nhiên, lưu ý rằng ý định của tôi là cung cấp phương tiện để sao lưu mà không cần phương tiện sao lưu . Là một hình thức sao lưu lười biếng. Ngày xưa, đây là một công cụ cứu sinh, với Norton GoBack và Windows 2000 :) Tôi đã từng thực sự làm rối tung các hệ thống mà tôi đã làm việc và có thể tin tưởng rằng tôi có thể hoàn nguyên các lỗi của mình một cách nhanh chóng ! Sao lưu có lẽ là cách phù hợp để đi trên một máy chủ thực sự, nhưng đối với một máy trạm không được đặt trên VMWare / VirtualBox (cung cấp ảnh chụp nhanh bên ngoài) Tôi tin rằng ảnh chụp nhanh là cách để đi.
chà
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.