在Linux中, 如何建立一個快照?

黄嘉波發表於2024-05-24

在Linux中,建立快照通常涉及到使用LVM(Logical Volume Manager)或者特定的檔案系統如Btrfs和ZFS,這些都支援快照功能。下面我將分別簡要介紹如何使用LVM和Btrfs來建立快照。

1. 使用LVM建立快照

LVM允許你對邏輯卷(LV, Logical Volume)建立快照,這是一個在某個時間點上卷內容的只讀副本。以下是建立LVM快照的基本步驟:

  1. 安裝LVM工具:大多數Linux發行版已經預裝了LVM工具,如果沒有,你可以使用包管理器安裝,例如在Debian/Ubuntu上使用sudo apt install lvm2

  2. 檢視卷組和邏輯卷:首先,你需要知道你要建立快照的邏輯卷名稱及其所在的卷組。可以使用命令lvdisplayvgdisplay檢視。

  3. 建立快照:建立快照的基本命令格式為:

    sudo lvcreate --snapshot --name snapshot_name --size size_of_snapshot VG/LV
    

    其中,snapshot_name是你給快照指定的名稱,size_of_snapshot是快照的大小(確保它足夠大以容納自建立快照以來的資料變化量),VG是卷組名,LV是要快照的邏輯卷名。

    例如,如果你有一個名為mydata的邏輯卷在myvg卷組中,想要建立一個大小為1GB的快照,命令如下:

    sudo lvcreate --snapshot --name mydata_snapshot --size 1G myvg/mydata
    
  4. 使用快照:快照建立後,你可以掛載並使用它進行備份或者其他操作,而不會影響到原始邏輯捲上的資料。

    sudo mkdir /mnt/snapshot
    sudo mount /dev/myvg/mydata_snapshot /mnt/snapshot
    
  5. 刪除快照:使用完畢後,記得刪除快照以釋放空間。

    sudo umount /mnt/snapshot
    sudo lvremove -f /dev/myvg/mydata_snapshot
    
2. 使用Btrfs建立快照

Btrfs是一種現代的檔案系統,內建了快照功能,非常適合需要頻繁建立快照的場景。

  1. 檢查檔案系統型別:確保你的檔案系統是Btrfs。可以使用df -Th命令檢視。

  2. 建立快照:建立Btrfs快照非常簡單,基本命令格式如下:

    sudo btrfs subvolume snapshot /original /snapshot
    

    這裡,/original是你要建立快照的目錄,/snapshot是新快照的目標位置。

    例如,建立/mnt/data目錄的快照到/mnt/data_snapshot

    sudo btrfs subvolume snapshot /mnt/data /mnt/data_snapshot
    
  3. 管理快照:Btrfs提供了豐富的命令來管理快照,如列出、傳送(用於備份)、接收快照等。檢視快照列表可以使用:

    sudo btrfs subvolume list /mnt
    
  4. 刪除快照:當不再需要快照時,可以透過以下命令刪除:

    sudo btrfs subvolume delete /snapshot/path
    

綜上所述,實際操作前,請確保你有相應的許可權,並且最好在執行重要操作前做好資料備份。

相關文章