Linux的volcopy?
閱讀 Nemeth 的書的一個版本(Nemeth 等人),已經閱讀了
volcopy
- 一個將文件系統從一個設備複製到另一個設備的實用程序,製作“文字副本”(這裡是一個手冊頁,雖然不太有用)。這本書說該實用程序適用於 Linux,但快速Google搜尋並沒有顯示很多結果。所以問題是——它是否在 Linux 上使用,如果沒有,鏡像複製文件系統的預設替代方案是什麼?
dump
和restore
?**編輯。**我在想這樣的實用程序在更換硬碟的情況下可能很有用——目前我正在使用
dd
複制根分區等,這很快但顯然保留了分區的大小。所以我認為volcopy
這可能是一個快速的替代方案,允許複製到更大的分區。dump
|restore
如果我沒記錯的話,請允許。
您正在尋找的是一種複製文件系統、磁碟或分區的方法。具體見
cat
使用or複製整個磁碟或分區cp
是最簡單的方法。沒有理由使用dd
,尤其是因為dd
速度較慢。它要求不掛載文件系統,並且它還複製空白空間,因此它可能會很慢。在 Linux 上(或更準確地說,使用 GNU coreutils),
cp -a
在復製文件和保存元數據方面做得很好,但它並不完美。此外,即使磁碟未滿,複製文件也不會變慢,因為一次複製大片磁碟比來回複製文件的每個片段要快得多。如果您的磁碟或分區位於RAID -1(鏡像 RAID)卷上並且您想要將它們複製到新磁碟,您可以將新磁碟添加到陣列中。與在塊設備上使用相比,這非常快,更不容易出錯
cat
,並且可以在安裝所有內容的情況下線上完成。不這樣做的唯一原因是您的源分區不在 RAID-1 卷上;你可以將一個普通的舊分區變成一個 Linux 軟體 RAID-1 卷,但這需要一些低級的工作。如果要複製的文件系統位於LVM卷上,則可以使用 LVM 的鏡像功能。
您可以使用
dd
將數據從一台設備複製到另一台設備。dd if=/my/source/device of=/my/dest/device bs=4096
dd
將對源進行逐字節複製,當然您將無法在正在執行的文件系統上執行此操作,這很可能會導致數據損壞。如果您使用的是文件系統或其他LVM
具有快照功能的實用程序,則可以創建快照並複制它。lvcreate -L1G -s -n my-snapshot-of-lvname /dev/vgname/lvname dd if=/dev/vgname/my-snapshot-of-lvname of=/my/dest/path bs=4096 lvremove /dev/vgname/my-snapshot-of-lvname
LVM
還有一些用於捲管理的內置工具。Linux 有文件系統
btrfs
,它是一個新的仍然不穩定的文件系統(受 Solaris 的 ZFS 啟發)。Btrfs 尚未準備好投入生產,但它很可能能夠完成您需要的一切。當然,您也可以使用 rsync(我推薦使用 a-flag),但這不是卷複製,但在大多數情況下它會正常工作。
rsync -a /source /path